配置数据源目录,sync/ 引擎从此处读取所有平台和 MCP 服务器的定义。
env/
├── secrets.json ← 密钥配置:key/token/url(gitignored)
├── secrets.json.example ← 模板(已提交)
├── config.json ← 非密钥配置:安装根/路径覆盖(gitignored,可选)
├── config.json.example ← 模板(已提交)
│
├── review.json ← auto-code-review 配置(gitignored)
├── review.json.example ← review 配置模板(已提交)
├── backup.json ← 配置备份保存路径(gitignored)
├── backup.json.example ← backup 配置模板(已提交)
├── user-profile.json ← 跨会话用户画像同步开关(gitignored)
├── user-profile.json.example ← 用户画像同步配置模板(已提交)
├── user-profile.md ← 跨会话用户画像内容(gitignored)
├── user-profile.md.example ← 用户画像内容模板(已提交)
│
├── mcp/ ← 默认启用的 MCP 服务器定义
│ ├── github.json
│ ├── apifox.json
│ ├── filesystem.json
│ ├── playwright.json
│ ├── shell.json
│ ├── xcodebuild.json
│ ├── lanhu.json
│ └── moonvy.json
│
├── optional_mcps/ ← 可选 MCP 服务器(需手动启用)
│ ├── enabled.json ← 启用状态记录
│ ├── filesystem-extra.json
│ ├── puppeteer.json
│ ├── wechat-bridge.json
│ └── README.md
│
├── platforms/ ← 平台专属配置
│ ├── claude.json
│ ├── cline.json
│ ├── codex.json
│ ├── codebuddy.json
│ ├── continue.json
│ ├── gemini.json
│ └── qwen.json
│
└── templates/ ← 新增 MCP/平台的参考模板
├── mcp.template.json
└── platform.template.json
嵌套结构,每个平台一个对象:
{
"github": { "token": "ghp_xxx" },
"codex": { "url": "https://api.example.com/v1", "key": "sk-xxx" },
"claude": { "token": "sk-ant-xxx" },
...
}新增平台时只需在此文件中追加对应的 {url, key/token} 即可。
跨模型代码审查(auto-code-review)的执行参数配置:
{
"enabled": true,
"reviewers": [],
"maxRounds": 3,
"allowSelfReview": false
}| 字段 | 说明 |
|---|---|
enabled |
功能是否可用(true 只表示功能可用,不构成当前请求授权) |
reviewers |
审查者列表(空数组则自动发现可用 CLI) |
maxRounds |
最大审查轮次 |
allowSelfReview |
是否允许自审 |
加载优先级:env/review.json → .auto-review-config.json → AUTO_REVIEW_* 环境变量。
复制 review.json.example 为 review.json 后填写即可(bash install.sh 会一并从模板创建,无需手动 cp)。仅在用户显式启动 /auto-review 后加载。
sync/scripts/backup-config.sh 默认把同步前备份保存到 ~/.ai-coding-kit-backups。
如果要改保存目录,复制 backup.json.example 为 backup.json:
{
"backupDir": "~/Backups/ai-coding-kit"
}backupDir留空或删除时回退到默认~/.ai-coding-kit-backups。- 支持
~和环境变量展开。 - 相对路径会按仓库根目录解析。
env/backup.json是本地用户配置,不提交。
跨会话用户画像用于让 Codex / Claude / Gemini 等 Agent 在不同会话中共享你的稳定偏好、角色和约束。
bash install.sh # 创建 user-profile.json(enabled=auto);user-profile.md 不自动创建
bash sync.sh # 同步(画像文件缺失时自动跳过)
env/user-profile.md是含占位符的内容模板,install.sh不会自动复制它,否则会被当成真实画像同步成假的全局用户画像。需要画像时再手动:cp env/user-profile.md.example env/user-profile.md # 然后填写真实信息
env/user-profile.json:
{
"enabled": "auto",
"source": "env/user-profile.md"
}| 字段 | 说明 |
|---|---|
enabled |
auto:画像文件存在则同步,不存在则跳过;on:强制同步,不存在时报错;off:跳过同步 |
source |
用户画像 Markdown 路径,支持 ~、环境变量和相对仓库根目录的路径 |
同步时会把画像复制到 ~/.ai-coding-kit/USER.md,并向各端 Agent preamble 注入 user-profile 托管块。
如需清理已注入托管块,运行:
bash skills-engineering/scripts/sync-user-profile.sh --remove将非默认、社区/高级的 MCP 服务器与开箱即用的 env/mcp/ 集合分开,避免污染默认配置,同时保留「一键启用」能力。
env/optional_mcps/*.json:可选的 MCP 服务器定义(不自动同步)sync/scripts/optional_mcps.sh enable <name>:启用并同步到env/mcp/sync/scripts/optional_mcps.sh disable <name>:禁用并移除- 启用状态记录在
env/optional_mcps/enabled.json
# 列出所有可选服务器及其启用状态
bash sync/scripts/optional_mcps.sh list
# 启用一个
bash sync/scripts/optional_mcps.sh enable puppeteer
# 禁用一个
bash sync/scripts/optional_mcps.sh disable puppeteer| 服务器 | 说明 | 需要 secret |
|---|---|---|
puppeteer |
浏览器自动化(与默认 playwright 互补,择一启用) |
否 |
filesystem-extra |
扩展文件系统访问 | 是(filesystem_extra.root) |
wechat-bridge |
微信桥接 | 是(wechat.token) |
各平台的安装根目录默认是 ~/.codex、~/.claude、~/.gemini 等固定位置。
如果某工具安装在非默认路径(例如自定义前缀、便携版、或 Xcode 的 CodingAssistant 目录被移动),
可以在 config.json 顶层增加 paths 对象来覆盖(bash install.sh 会自动从 config.json.example 创建该文件,也可手动 cp env/config.json.example env/config.json):
{
"paths": {
"codex": "/opt/codex",
"claude": "/custom/.claude",
"gemini": "/custom/.gemini",
"codebuddy": "/custom/.codebuddy",
"cursor": "/custom/.cursor",
"cursor_project_roots": [
"/path/to/appA",
"/path/to/appB"
],
"cline": "/custom/.cline",
"continue": "/custom/.continue",
"qwen": "/custom/.qwen",
"xcode_coding_assistant": "~/Library/Developer/Xcode/CodingAssistant"
}
}- 键名与平台一致;留空字符串
""或删除该键即回退默认路径。 - 设置后,该平台的所有派生路径(配置、settings、skills、MCP 文件等)都会基于覆盖值解析。
cursor_project_roots是额外的 Cursor 项目根列表,用于同步项目内.cursor/rules/*.mdc;也可用CURSOR_PROJECT_ROOTS="/path/a:/path/b"临时覆盖。- Codex 仍优先使用标准环境变量
CODEX_HOME/CODEX_CONFIG,其次才是此处覆盖。 paths不是密钥,放在env/config.json(gitignored 的本地配置),不会参与${...}占位符注入,仅用于路径解析。
所有 mcp/ 和 platforms/ 下的配置使用 ${platform.field} 语法引用 secrets:
// env/mcp/github.json
{ "headers": { "Authorization": "Bearer ${github.token}" } }
// env/platforms/codex.json
{ "base_url": "${codex.url}", "env": { "DATAEYES_API_KEY": "${codex.key}" } }同步时由 sync/platforms/common.py 自动替换为真实值。
templates/mcp.template.json— 新增 MCP 服务器时复制并填写templates/platform.template.json— 新增平台时复制并填写
新增或调整平台 API 同步前,先阅读
Platform Sync Contract。Claude 的当前配置是后续平台的参考样例:
只同步 API / MCP / preamble 所属字段,保留目标配置中的其它用户字段,并用
api.enabled 控制 API 字段写入与清理。
详见 sync/README.md。