feat: improve cross-conversation reply UX
This commit is contained in:
64
AGENTS.md
64
AGENTS.md
@@ -25,10 +25,74 @@ Keep this managed block so 'trellis update' can refresh the instructions.
|
||||
|
||||
重启 cc-web 服务:
|
||||
|
||||
修改 ccweb 项目后如果需要重启服务,必须先查看当前会话列表中的运行状态。
|
||||
只有在除当前对话外没有其他 `running` 对话时,才能执行重启;如果仍有其他
|
||||
运行中的对话,应暂缓重启并告知用户原因。
|
||||
|
||||
```bash
|
||||
pm2 restart ccweb --update-env
|
||||
```
|
||||
|
||||
## Codebase Memory 代码检索约定
|
||||
|
||||
本项目内 **graphify 已全面弃用**。后续涉及代码定位、调用链、架构理解、影响面分析、跨模块关系梳理时,默认优先使用 `codebase-memory-mcp`,不要再启用 graphify 技能、graphify CLI 或 `graphify-out` 产物作为主路径。
|
||||
|
||||
当前项目的 codebase-memory 项目名:
|
||||
|
||||
```text
|
||||
home-cc-web
|
||||
```
|
||||
|
||||
### 默认检索流程
|
||||
|
||||
1. 先确认索引状态:
|
||||
- `list_projects`
|
||||
- `index_status(project="home-cc-web")`
|
||||
2. 如果索引缺失或明显过期,先执行:
|
||||
- `index_repository(repo_path="/home/cc-web", mode="full", persistence=false)`
|
||||
3. 需要理解整体结构时,先用:
|
||||
- `get_architecture(project="home-cc-web", aspects=["all"])`
|
||||
4. 需要找功能入口、类、函数、路由时,优先用:
|
||||
- `search_graph`
|
||||
- `search_code`
|
||||
5. 需要确认调用关系时,使用:
|
||||
- `trace_path(mode="calls", direction="inbound" | "outbound" | "both")`
|
||||
6. 需要读取具体实现时,先通过 `search_graph` 找到精确 `qualified_name`,再用:
|
||||
- `get_code_snippet`
|
||||
7. `rg` / `sed` 只作为补充校验:
|
||||
- 校验最终行号
|
||||
- 查未被索引的配置或纯文本
|
||||
- 对 MCP 命中结果做交叉验证
|
||||
|
||||
### 子代理引导词模板
|
||||
|
||||
派发需要理解代码的子代理时,默认加入以下引导:
|
||||
|
||||
```text
|
||||
请优先使用 codebase-memory-mcp 做代码理解:
|
||||
先 list_projects / index_status 确认项目索引;
|
||||
再用 search_graph 或 search_code 定位候选函数;
|
||||
需要调用链时用 trace_path;
|
||||
需要源码时先拿 qualified_name,再调用 get_code_snippet;
|
||||
最后只用 rg/sed 校验行号或补查未索引文本。
|
||||
不要使用 graphify。
|
||||
```
|
||||
|
||||
### 本项目已验证的使用经验
|
||||
|
||||
- 无明确引导时,子代理不一定会主动使用 `codebase-memory-mcp`,可能退回 `rg` 或旧的 graphify 路径。
|
||||
- 明确要求优先使用 `codebase-memory-mcp` 后,能稳定命中函数级入口、调用链和源码片段。
|
||||
- 对 `codexapp` / `ccweb` 这类跨模块链路,`search_code` + `trace_path` + `get_code_snippet` 的组合比单纯全文检索更快建立上下文。
|
||||
- 自然语言检索遇到 `developer`、`config`、`message` 等通用词会有噪声;这时应收敛到明确标识符,如 `collaborationMode`、`mcp_servers.ccweb`、`CC_WEB_SOURCE_SESSION_ID`。
|
||||
- 最终答复中的文件行号仍建议用 `rg -n` 或 `nl -ba` 做一次轻量核验。
|
||||
|
||||
### 索引更新与忽略规则
|
||||
|
||||
- `auto_index` 是 `codebase-memory-mcp` 的本地配置,按当前 `CBM_CACHE_DIR` 生效;它不是 `.codex/config.toml` 里的项目级开关。
|
||||
- 当前项目的项目级忽略规则写在 `.cbmignore`。普通源码级 `*.js` / `*.css` 不应一刀切排除;只排除 `*.min.js`、`*.map`、压缩包、构建目录、日志、临时文件、运行态状态文件等。
|
||||
- watcher 是 Git-based polling:非 Git 项目跳过轮询;Git 项目的轮询间隔为基础 5 秒,每 500 个文件加 1 秒,最长 60 秒。
|
||||
- 修改 `.cbmignore` 或大范围调整文件后,建议手动执行一次 `index_repository(repo_path="/home/cc-web", mode="full", persistence=false)`,让当前索引立即收敛到最新规则。
|
||||
|
||||
## Codex App / hapi 对齐经验
|
||||
|
||||
以下约定来自本项目对 `/home/hdzx/2026/hapi` 中 Codex app-server 接入方式的对比结果。后续如果继续维护 `codexapp`,默认按这些约定实现,避免再走偏到“看起来能跑、但拿不到原生协作能力”的分叉路径。
|
||||
|
||||
Reference in New Issue
Block a user