AGENTS.md - 核心工作规则 #
0. 必读要点(MUST) #
必写“前置说明”,并在答复末尾附“工具调用简报”(若发生外呼)。
退避与降级:429→退避20s;5xx/超时→退避2s且最多一次重试;仍失败→给出保守离线答案+局限。
网络只读与合规:不得上传敏感信息;优先官方与权威来源。
中文沟通;文件必须 UTF‑8(无 BOM)。
编码前必须填写“Sequential‑Thinking 分析”;最小化变更边界(只改必要行/文件)。
禁止危险命令(如
rm -rf
)与泄露密钥/令牌/内部链接。涉及“任务编排/待办清单/模板/里程碑与状态跟踪”的场景,必须选择
shrimp-task-manager
。变更策略(必须):正确性优先于兼容性;必要时采取革命性/颠覆性改动;不保持向后兼容;删除过时/冗余的代码、接口与文档;在 PR 中明确迁移方案或“无迁移、直接替换”。
1. MCP 选择规则(用哪个) #
SequentialThinking:用于规划/分解/里程碑;仅输出可执行计划,不暴露中间推理。
{ "mcpServers": { "sequential-thinking": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-sequential-thinking" ] } } }
Context7:查官方文档/API/版本差异;先
resolve-library-id
再get-library-docs
;提供topic
,tokens
默认≤5000;输出需标注库 ID/版本与出处。{ "mcpServers": { "context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp@latest"] } } }
DuckDuckGo:找最新网页/公告/官方链接;用 12 个精准关键词+限定词(
site:
/filetype:
/after:YYYY-MM
);safesearch=moderate
,maxResults≤35
,timeout=5s
,域名去重、剔除内容农场。{ "mcpServers": { "ddg-search": { "command": "uvx", "args": ["duckduckgo-mcp-server"] } } }
Serena(可选):跨文档语义检索/总结/规划;指定数据域/路径;
retrieve.top_k=5
,answer.max_tokens=700
,citations=true
。{ "mcpServers": { "serena": { "command": "/abs/path/to/uvx", "args": ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server"] } } }
shrimp-task-manager:当需要“任务编排/待办模板/里程碑追踪/状态看板”时,必须选用;用于将计划落到可执行任务/流水(使用本地目录
.shrimp
,中文模板可用)。{ "mcpServers": { "shrimp-task-manager": { "command": "node", "args": ["/home/fire/claude/mcp-shrimp-task-manager/dist/index.js"], "env": { "DATA_DIR": "/home/fire/claude/project/shrimp_data", "TEMPLATES_USE": "zh", "ENABLE_GUI": "false" } } } }
{ "mcpServers": { "shrimp-task-manager": { "command": "npx", "args": ["-y", "mcp-shrimp-task-manager"], "env": { "DATA_DIR": ".shrimp", "TEMPLATES_USE": "zh", "ENABLE_GUI": "true" } } } }
降级路径:Context7→DuckDuckGo;DuckDuckGo→保守离线;Sequential/Serena→输出最小可行计划。
2. 最小工作流(R→P→I→V→D) #
- Research:
rg -n
检索并分块阅读;记录约束与未知。 - Plan:
update_plan
维护步骤,约定验证标准。 - Implement:
apply_patch
小步提交,最小变更,中文 Doc 注释。 - Verify:运行构建/测试(若有);检查边界与性能风险;无破坏性影响。
- Deliver:总结变更/风险/验证结果;若外呼,附“工具调用简报”。
3. MCP 执行命令(以 .codex/config.toml 为准) #
sequential-thinking
(stdio):npx -y @modelcontextprotocol/server-sequential-thinking
context7
(stdio):npx -y @upstash/context7-mcp
memory
(stdio):npx -y @modelcontextprotocol/server-memory
shrimp-task-manager
(stdio):npx -y mcp-shrimp-task-manager
(DATA_DIR=.shrimp
,TEMPLATES_USE=zh
,ENABLE_GUI=true
)duckduckgo-search
(stdio):uvx duckduckgo-mcp-server
fetch
(stdio):uvx mcp-server-fetch
serena
(stdio):uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context codex
4. 工具调用简报(模板) #
#
工具: <SequentialThinking|Context7|DuckDuckGo|Serena|shrimp-task-manager>
触发原因: <为何需要该工具>
输入摘要: <关键词/库ID/Topic/查询意图>
参数: <tokens/结果数/时间窗 等>
结果概览: <条数/命中/主要来源域名 或 库ID>
重试/退避: <无|20s|2s + 重试1次>
时间: <UTC 时间戳>
来源: <Context7 的库ID/版本;DuckDuckGo 的来源域名清单;shrimp 的任务模板/清单 ID/路径>
5. 违规处理(Mandatory Enforcement) #
- 发现未遵守“最小必要/简报/退避/UTF‑8/中文”等 MUST:立即停止外呼并回到“研究/计划”补齐缺项。
- 回复中显式标注修正动作与理由;必须提供保守离线答案并注明局限与下一步。
- 重复违规:在 PR 增补“回退策略/开关”,必要时拆分任务降低风险。
guichen@guideMacBook-Pro Documents % curl -LsSf https://astral.sh/uv/install.sh | sh
downloading uv 0.8.16 x86_64-apple-darwin
no checksums to verify
installing to /Users/guichen/.local/bin
uv
uvx
everything's installed!
guichen@guideMacBook-Pro Documents %