32 Commits

Author SHA1 Message Date
augushong
1ab276b1e9 feat(mcp): McpService 密钥认证与动态工具集(白名单∩创建者实时权限) 2026-08-16 21:40:55 +08:00
augushong
c0cae93562 feat(log): 新增 DebugLogReader 增量读服务(JSONL 按行 + CSV fgetcsv 多行安全) 2026-08-16 08:17:52 +08:00
augushong
a43a9a48b9 feat(tools): XHProf 日志导入三层服务与函数监控物化
- XhprofProfileParserService(Base/App):纯数组解析 jsonl 行,
  meta 字段以真实 fixture 为准;simple_url 缺失兜底与采集端回调同算法;
  watch 正则按 callee 物化(ct/wt_sum/wt_max),非法正则编译计 fail 跳过
- XhprofLogReaderService(Base/App):增量读取,半行缓冲超限整行丢弃
  (不照抄 nginx 8MB 强制切行);EOF 无换行半行不 yield 不推进 offset;
  进度不自动落盘,由导入侧在同一事务内显式 savePosition
- XhprofLogImport 定时任务(Base/App):不受 XHPROF_ENABLE 门控,
  runs-*.jsonl 按文件名序增量导入;run 逐条 insert + detail chunk 20
  insertAll + run_watch insertAll 与 position 同事务落盘;导至 EOF 后
  只删已导完文件
- 修复 T1 缺陷:request_time decimal(12,3) 装不下 10 位时间戳,
  Scheme 与 migration 同步改 decimal(13,3)
- 新增 parser 单元测试(真实 fixture 断言,9 用例 42 断言)
  与 jsonl fixture;phpunit 注册 unit 测试套件
2026-08-15 06:11:01 +08:00
augushong
f1a2e8fd5d fix(nginx-log): service 文件加 Service 后缀(命名规范合规)
F2 Code quality review 发现:3 个新增 service 未遵守
.agents/rules/ulthon-naming-convention.md 第 19 行规定
(service 模块文件名需带 Service 后缀)。

变更:
- 重命名 6 个文件(3 Base + 3 App):
  NginxLogParser(Base)→NginxLogParserService(Base)
  NginxLogReader(Base)→NginxLogReaderService(Base)
  NginxLogAggregator(Base)→NginxLogAggregatorService(Base)
- 同步类名、use、类型 hint、new 引用
- NginxLogReaderServiceBase 异常消息前缀同步加 Service
- controller Base 引用更新(NginxLogImportBase / NginxLogStatAggregateBase)

验证:
- php -l 全部 8 个文件语法通过
- grep 残留旧名 = 0 结果(24 处引用全部带 Service 后缀)
2026-07-28 06:57:13 +08:00
augushong
ceb73c750a feat(nginx-log): NginxLogAggregator 聚合 service(Base/App 双层,delete-then-insert 幂等) 2026-07-28 00:52:51 +08:00
augushong
9fe55f81bf feat(nginx-log): NginxLogReader 增量读取 service(Base/App 双层,含轮转检测) 2026-07-28 00:39:11 +08:00
augushong
7d707c2150 feat(nginx-log): NginxLogParser 解析器 service(Base/App 双层) 2026-07-28 00:38:25 +08:00
augushong
387d89c596 breaking(stack): 彻底移除 stack:mode 命令(含 app/extend/base/注册) 2026-07-22 00:50:56 +08:00
augushong
db057aa90e feat(stack): 切换模式时自动删除多余的管理文件
All checks were successful
build-and-deploy / 直传代码并部署到 Host15 (push) Successful in 1m0s
- 重写 getModePlan: 跳过目标模式和 default 都不存在的文件 (不再抛异常)
- 重写 applyMode: 切换模式后自动清理孤立的管理文件, 删除前备份以支持 rollback
- 修复 HOSTPORT 为 3306 (容器内部端口, 非宿主机映射端口)
- 增加 backup_id 空值保护: 无备份时不执行删除
2026-04-29 23:35:56 +08:00
augushong
b44fcfd86c feat(stack): 新增 stack 模式管理功能
- 新增 `php think admin:stack:mode` 命令,支持 list/use/current/rollback 操作
- 新增 StackModeService 服务,负责模式切换、备份与回滚逻辑
- 在 source/stack/ 目录下添加 default、full、base-build 三种模式的配置文件
- 更新 UlthonAdminService 以注册新的命令行工具
2026-04-24 23:20:13 +08:00
augushong
8cc08bcb8c feat: 发布智能体版 2026-03-26 20:22:34 +08:00
augushong
8de6b99bb3 feat(scheme): 新增数据库表结构同步方案 2026-01-09 21:08:51 +08:00
augushong
a9d1429000 feat: 增加内置节点注册任务;优化定时器代码结构; 2025-08-23 23:22:52 +08:00
augushong
46722e5a66 feat: 增加主机节点服务类 2025-08-23 22:30:33 +08:00
augushong
e6779f4921 增加测试机制;完善DebugMysql日志逻辑;更新debug_log表字段格式;发布新版本 2024-01-03 16:22:01 +08:00
augushong
184dae8185 增加扩展机制定位文件;将common模块实现扩展模式;发布新版本; 2023-09-25 17:07:38 +08:00
augushong
eedfb0f402 菜单权限支持按照权限标志判断 2022-12-08 21:36:08 +08:00
augushong
fa635ba3ac 优化上传扩展名的配置;增加上传文件代码注入检测; 2022-10-29 11:12:22 +08:00
augushong
e0d00e4422 重构默认本地上传组件; 2022-08-22 11:51:19 +08:00
augushong
aa449093e1 完成静态文件上传功能并去除外部依赖; 2022-07-12 12:47:32 +08:00
augushong
4ab8630617 去除大多数文件的外部功能依赖; 2022-07-12 11:00:47 +08:00
augushong
713f177b5e 优化第三方存储链接生成,更符合接口规范;优化上传配置文件; 2022-07-12 09:37:14 +08:00
augushong
bfcb4ad321 开始腾讯提交; 2022-07-11 18:39:21 +08:00
augushong
a2f8a58d38 完成文件上传添加到文件记录; 2022-07-11 17:52:25 +08:00
augushong
3078dfad39 开始实现使用内部的上传逻辑; 2022-07-11 17:41:20 +08:00
augushong
5081cd8790 去除代码内的作者声明; 2022-07-11 15:08:53 +08:00
augushong
831a37b9ef 优化logo判断;增加缺失节点的权限默认配置项; 2022-04-21 10:51:29 +08:00
augushong
77433ed601 优化基础逻辑; 2022-04-20 20:07:32 +08:00
augushong
cc29874a16 完成自动缓存功能集成; 2022-04-20 15:00:23 +08:00
augushong
7852f602bb 完成新的安装流程,开始优化日志管理; 2022-04-19 22:16:58 +08:00
augushong
e29f8ff4ea 完成初始化数据; 2022-04-19 21:23:53 +08:00
augushong
f7d3bc3827 引入easyadmin' 2021-11-12 11:21:14 +08:00