已合并
feat(agents): tracked symlink 自动加载,兼容 Windows 客户端 #190
feat(agents): tracked symlink 自动加载,兼容 Windows 客户端 #190
已合并
xieyajun创建于 6月25日
xieyajun
6月25日

描述

将 Agent 配置的分发机制从「手动执行脚本生成」改为「git-tracked 符号链接自动加载」,并配套 Windows 兼容修复与文档完善。

  • 新增 7 个 mode 120000 git-tracked symlink:.claude/{skills,agents,hooks,docs}.opencode/{skills,agents,docs} 指向 .agents/ 对应路径,clone 后即可直接使用,无需手动执行安装脚本
  • 删除 scripts/init-agent.sh(115 行),该脚本在 symlink 机制下完全冗余
  • .gitignore 移除对 /.claude//.opencode//CLAUDE.md 的忽略规则(已改为 tracked)
  • AGENTS.md 新增「Agent Skills」段落,说明自动加载机制并修正 gitcode skill 引用路径

二、配置文件迁移与 Windows 兼容

  • .agents/settings.json.claude/settings.json(R100,真实文件 100644
  • .agents/opencode.json.opencode/opencode.json(R100,真实文件 100644
  • 配置文件改为真实文件后,Windows 下 core.symlinks=false 时客户端仍可正常启动
  • settings.json 完整保留 45 项权限(含 amct-ops-devinstall-default-skills 等),与 master 一致

三、文档完善

  • .agents/README.md:重写标题与定位描述,补充内置技能清单;新增 Windows symlink 修复指引(3 种方式:管理员终端 / 开发者模式 / mklink /J)
  • .agents/docs/architecture.md:§3 单一源投影机制重写,移除 init-agent.shCLAUDE.md 引用
  • .agents/docs/README.md:移除 roadmap.md 引用
  • 删除 .agents/docs/roadmap.md(规划已过时,内容与 architecture.md 重复)

四、default-skills 增强

  • SKILL.md:场景化拆分(补装缺失 / 强制更新两种场景)
  • install-default-skills.sh:新增 --force 参数,默认跳过已存在 skill

五、hooks 改进

  • subagent_stop.py:新增 cleanup_stale_counters(),懒清理 /tmp 下超过 48 小时的计数文件

如何测试

  1. Linux/macOS(symlink 正常):git clone 后直接进入项目目录,Claude Code / OpenCode 自动加载所有 skills
  2. Windows:
    • OpenCode 无需额外操作,原生扫描 .agents/skills/
    • Claude Code 需管理员终端执行 git config core.symlinks true && git checkout HEAD -- .claude 后自动加载
  3. 验证 settings.json 权限完整性:确认 amct-ops-devinstall-default-skillsplanning-with-filesskill-creator 均在 allow 列表中
  4. 确认 scripts/init-agent.sh 已删除,CLAUDE.md 不存在

文档更新

  • .agents/README.md:全面重写,新增内置技能清单与 Windows 修复指引
  • .agents/docs/architecture.md:§3 投影机制描述更新
  • .agents/docs/README.md:移除 roadmap 引用
  • .agents/docs/roadmap.md:已删除
  • AGENTS.md:新增 Agent Skills 段落,修正 gitcode skill 路径

类型标签

  • Bug修复
  • 新特性
  • 性能优化
  • 文档更新
  • 代码重构
  • 其他,请描述:
likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 xieyajun 的贡献)
CANN-robotCANN-robot成员
6月25日 添加了label:stat/needs-squash
CANN-robotCANN-robot成员
6月25日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
6月25日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
repo-cann/amct fujun19, 姚广修 (2/2) fujun19 (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

xieyajun, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
xieyajun
6月25日 评论:

compile

likedislike
CANN-robotCANN-robot成员
6月25日 添加了label:ci-pipeline-running
此处折叠了161条消息 查看更多
CANN-robotCANN-robot成员
7月6日 添加了label:approved
yaoguangxiu成员
7月6日 评论:

/lgtm

likedislike
CANN-robotCANN-robot成员
7月6日 添加了label:lgtm
CANN-robotCANN-robot成员
7月6日 解决了最后一个问题
CANN-robotCANN-robot成员
7月6日 合入了pull request