augushong
4d05a73949
fix(rules): 清理 PROJECT.md 中框架预填内容,恢复为使用者模板
2026-06-01 21:28:30 +08:00
augushong
f867c42a72
feat(rules): 新增零散规则管理机制
...
- 新增 .agents/rules/ 目录,存放模块级/场景级独立规则文件
- 新增 ulthon-rules-manager 技能,指导规则的新增/索引/格式
- 新增 ulthon-timer-multi-node 规则文件(从 PROJECT.md 迁移)
- AGENTS.md 新增「零散规则」章节,含框架级规则索引表
- PROJECT.md 新增「规则索引」章节,含全量规则索引表
- 命名约定:ulthon- 前缀为框架内置,project- 前缀为使用者业务
2026-06-01 21:26:16 +08:00
augushong
5941a61b80
重构:JS框架内部变量 admin 统一重命名为 ua,移除无用的 window.ulAdmin
2026-06-01 21:13:22 +08:00
augushong
c4bb851fbb
docs: 修正运行模式检测方式,Docker 模式下不能依赖 php think 检测
2026-06-01 20:33:45 +08:00
augushong
1c4f7ac5d5
docs(timer): 技能文档补充 timer.php 配置项说明
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-06-01 20:28:57 +08:00
augushong
afd614e563
feat(timer): ClearLog 清理天数改为从配置读取,支持 env 覆盖
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-06-01 20:28:25 +08:00
augushong
5fe6e3df74
docs(timer): 定时器技能新增按时间窗口循环处理的推荐方法
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-06-01 20:20:58 +08:00
augushong
d95c06da28
chore: 移动 nginx 伪静态配置到 source/docs 目录
2026-06-01 20:17:38 +08:00
augushong
f5d019b260
fix(ci): 调整流水线步骤顺序,composer install 移至 php think 命令之前
...
checkout 后没有 vendor 目录,导致 php think admin:stack:mode 报错。
将 composer install 抽为独立步骤并提前执行,确保 php think 命令可正常运行。
2026-05-27 22:59:24 +08:00
augushong
8c766d7e07
chore: bump version to v2.2.5
v2.2.5
2026-05-27 21:54:50 +08:00
augushong
95698afa18
chore(stack): 切换到 default 模式,同步根目录状态
2026-05-27 21:53:35 +08:00
augushong
ceed8d3e71
feat(stack): CLI handleUse() 增加 skipped_files 和 deleted_files 展示
2026-05-27 21:42:52 +08:00
augushong
20dc1b944c
docs(stack): 命令执行环境描述改为引导查看 stack 命令,不再硬编码模式列表
2026-05-27 21:42:43 +08:00
augushong
f49ca8d9cf
fix(stack): 为 full 和 base-build 模式补充 source/docker/run.sh
2026-05-27 21:42:35 +08:00
augushong
5bb0e03e98
fix(stack): 修正流水线命令 action 为 use,加 -f 跳过确认交互
2026-05-27 20:58:50 +08:00
augushong
c7cfa40539
chore: bump version to v2.2.4
v2.2.4
2026-05-27 20:52:13 +08:00
augushong
28337c9694
refactor(stack): default 模式改为 php think run,原 Docker 部署拆分为 docker-serve 模式
...
- source/stack/default/ 重命名为 docker-serve,保留 Dockerfile/docker-compose/CI/run.sh
- 新 default 模式仅提供 CI 文件(流水线中自动切换 docker-serve 再构建)
- 更新 stack.json 增加 docker-serve 模式声明
- 更新 README.md 同步模式说明
2026-05-27 20:49:13 +08:00
augushong
7ecbd03730
chore: bump version to v2.2.3
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
v2.2.3
2026-05-27 20:24:23 +08:00
augushong
c16964679d
feat(menu): 补充定时器和主机列表的默认菜单初始化数据
...
在 SystemMenu 初始化数据中新增定时器配置(id=256)、定时器日志(id=257)、主机列表(id=258)三条菜单,确保 seed:run 后菜单自动可用
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-27 20:22:23 +08:00
augushong
f2f2dcad98
feat(timer): 新增定时任务表的数据库迁移文件
...
补充 system_timer_config 和 system_timer_log 的数据库迁移,确保全新安装时 migrate:run 能正确建表
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-27 20:22:09 +08:00
augushong
a2916d7505
refactor(ulthon-admin): 重写入口文件并更新模板引用
...
将 ulthon-admin.js 简化为入口文件(8行),仅负责组装 admin 对象并清理临时变量。更新 _require.html 按依赖顺序加载 6 个拆分文件。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-27 07:51:42 +08:00
augushong
6dda5890e0
refactor(ulthon-admin): 拆分 JS 单文件为多模块架构
...
将 ulthon-admin.js (3258行) 按职责拆分为 5 个独立模块文件:- admin-core.js (248行): 配置、请求封装、消息提示、权限检查- admin-utils.js (224行): 工具函数(URL参数、页面设置、弹层等)- admin-table.js (1370行): 表格模块(渲染、搜索、工具栏、列模板等)- admin-api.js (687行): API组件(表单提交、上传、编辑器、选择器等)- admin-listen.js (267行): 全局事件监听(按钮、删除、刷新等)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-27 07:51:30 +08:00
augushong
fefe2fe95f
chore: 配置shell脚本使用LF行尾格式
...
解决Windows挂载到Docker时shell脚本因CRLF换行符报错的问题
2026-05-26 23:18:42 +08:00
augushong
a9810516c1
chore(release): 发布 v2.2.2
v2.2.2
2026-05-26 21:40:45 +08:00
augushong
3f8f79b445
feat(update): 新增 --keep-repo 参数,dry-run 模式下保留上游克隆目录便于对比
2026-05-26 21:38:16 +08:00
augushong
58d87d9980
docs(VersionBase): update usage comment of version command
...
fix the outdated description of the version command usage steps
2026-05-26 21:01:49 +08:00
augushong
fce0b1cf0a
chore: bump version to v2.2.1
v2.2.1
2026-05-26 20:48:53 +08:00
augushong
ee900ffb8a
fix(docker): 修复定时器进程因 www-data nologin shell 无法启动的问题
...
www-data 用户默认 shell 为 /usr/sbin/nologin,导致 su - www-data -c 被拒绝,
定时器从未启动,主机节点心跳不上报。改用 su -s /bin/bash 指定 shell,
并将定时器日志输出到 runtime/timer.log 方便排查。
2026-05-26 20:45:52 +08:00
augushong
8e8c56ab53
chore: bump version to v2.2.0 and update full changelog
...
更新了版本号到v2.2.0,补充完整的版本更新说明,包含新功能、修复项、文档更新、重构、性能优化和其他变更内容
2026-05-26 20:34:57 +08:00
augushong
e005c9a3a2
docs(version): 补充 admin:version 命令的发布流程注释与帮助说明
v2.2.0
2026-05-26 20:11:06 +08:00
augushong
b7094eee8a
fix(host): 主机列表页设为只读
...
Remove add/edit/delete buttons and auth attributes from host list page. Hosts are auto-registered via heartbeat, manual CRUD is meaningless. Keep only setMaster operation.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-26 18:33:47 +08:00
augushong
e558a97e91
fix(host): 防止主节点重复并修复 setMaster 权限
...
Clear all is_master flags before electing new master to prevent multiple master records. Fix setMaster annotation from @auth true to proper @NodeAnotation format so permission node is generated correctly.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-26 18:33:46 +08:00
augushong
a47bbb2c6a
fix(timer): 自动记录执行日志并捕获结果
...
Add execute() wrapper in TimerControllerBase that wraps do() with logStart/logEnd, captures return value to result field. Change site URL routing from /do to /execute with task_name injection. Add result field to system_timer_log scheme.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-26 18:33:45 +08:00
augushong
e1bf94a55e
feat(timer): 新增日志每日自动清理定时任务
...
- New LogClean timer controller (site type, frequency 86400s)
- run_type defaults to auto, only one node cleans per day
- Cleans system_timer_log records older than 30 days
2026-05-26 18:33:45 +08:00
augushong
fd89a60425
fix(timer): 修复 F2 代码质量问题
...
- HostServiceBase: move Log::error before throw so it actually executes
- TimerBase: remove empty comment block
2026-05-26 18:33:44 +08:00
augushong
6dceb028b3
docs(timer): 更新 SKILL.md 和 PROJECT.md 多节点协调文档
...
T13: E2E single-node regression - all PASS
T14: E2E multi-node coordination - 7/7 PASS
T15: Document multi-node features in ulthon-timer SKILL.md and PROJECT.md
2026-05-26 18:33:43 +08:00
augushong
90e584f5a1
feat(timer): 新增定时器配置、日志和主机的后台管理界面
...
T10: TimerConfig CURD - task management with run_type/status editing,
manual trigger button, task_name read-only, no add/delete
T11: TimerLog CURD - read-only log viewer with filters and color badges
T12: Host list enhanced - is_master column, setMaster button
2026-05-26 18:33:43 +08:00
augushong
25fab093fa
feat(timer): 新增 run_type 调度、host_id 投递和日志清理
...
T7: TimerBase shouldExecuteTask() - main/auto/all/manual/disabled modes
with two-phase DB row lock for auto mode
T8: TimerControllerBase - host_id param, logStart/logEnd methods
TimerServiceBase - inject host_id into site URLs
T9: TimerLogClean command - php think admin:timer:log:clean --days=30
2026-05-26 18:33:42 +08:00
augushong
abeac2c3cb
feat(timer): 新增配置同步到数据库及主节点选举
...
T5: TimerServiceBase.syncConfigToDatabase() - syncs task config to DB
T6: HostServiceBase - auto master election, stale node detection,
getMasterNode/setMasterNode methods
2026-05-26 18:33:41 +08:00
augushong
d719a99d14
feat(timer): 新增多节点定时器协调的 Scheme 定义
2026-05-26 18:33:41 +08:00
augushong
20d0b5f22b
docs(skills): 新增 ulthon-update-workflow AI 技能文档
2026-05-25 22:51:17 +08:00
augushong
ca094c9116
feat(update): 输出增强 -- 按目录分组、风险摘要、策略标注、--show 过滤
2026-05-25 22:47:46 +08:00
augushong
67c613788f
feat(update): 冲突策略参数替代交互确认
2026-05-25 22:44:34 +08:00
augushong
2e3fac93f0
feat(update): 注册冲突策略和输出范围选项
2026-05-25 22:41:08 +08:00
augushong
07d5823c81
feat(update): 后更新引导提示
2026-05-25 21:41:55 +08:00
augushong
65b196e768
feat(update): composer.json 智能对比输出具体命令
2026-05-25 21:38:58 +08:00
augushong
a17ba88068
feat(update): 新增 --dry-run 预览模式
2026-05-25 21:35:47 +08:00
augushong
fb3f807877
refactor(update): extend/think 归入可选更新范围
2026-05-25 21:30:27 +08:00
augushong
76fe865274
perf(update): clone 一次仓库并本地复制替代第二次网络 clone; 排除 public/storage 和 public/build
2026-05-25 21:28:21 +08:00
augushong
279968c9ef
chore: 更新 .gitignore 忽略文件
...
添加 .playwright-mcp 目录到忽略列表,移除末尾多余的换行警告
2026-05-24 11:55:04 +08:00