记忆与模板
cicy-code 的记忆系统是它「多 agent 复用 + 项目隔离」的核心。
每个 agent 一份自包含 guidance
每个 agent 在它的 workspace 里拥有一份自包含的原生 guidance 文件:
claude→CLAUDE.mdcodex/opencode→AGENTS.mdkiro→.kiro/steering/memory.md
CLI 原生读取这个文件 —— 没有继承、没有网关注入。gateway 和非 gateway 路径因此完全一致。
三层模板,创建时组装
guidance 的内容在 agent 创建时由分层模板组装并逐字写入(agent_memory_template.go 组装,tmux.go 的 writeAgentGuidanceFile 落盘):
global ~/cicy-ai/memory/global.md (总是)基础规则
+
project ~/cicy-ai/memory/projects/<slug>.md(可选)项目规则
+
role ~/cicy-ai/memory/agents/<slug>/ (可选)角色人设- global:所有 agent 共享的基础规则(协作、知识库、约束…);
- project:某个项目的规则/技术栈/约束;
- role:某个职能的人设(前端/后端/测试…),含
role.md(人设)、system.md(系统提示)、meta.yaml(名字/工具/greeting)。
为什么这样就隔离了
因为组装发生在创建时、写进各自的 workspace:
- 同一个「前端」角色,在项目 A 和项目 B 各建一个 agent → 两个独立 workspace、独立 CLAUDE.md(带各自项目模板)、独立对话历史 → 天然隔离,不串味;
- 复用来自角色模板,隔离来自项目模板 + 独立 workspace。
这正是 项目与角色模板 那条落地路径的底座。
打包默认 seed
新机首次启动时,cicy-code 会把打包内置的默认模板 seed 到 ~/cicy-ai/memory/(仅当文件缺失,不覆盖你的编辑)。默认 seed 的唯一来源是 api/mgr/embed/memory-seed/(global.md + projects/default.md + agents/<role>/)—— 改这里 = 改发给所有人的默认。
reseed:按当前模板重新生成
改了模板想让已存在的 agent 也更新:
bash
cicy-code reseed-memory --all # 或 --ids w-1,w-2 / --offline
cicy-code reseed-memory --all --dry-run它按当前模板重新生成各 agent 的 guidance,会先备份到 <ws>/.cicy/memory-backups/,并保留自定义标记以下的内容。
注意
reseed 是「按当前模板整份重生成」。如果你手改过某个 agent 的 guidance 顶部(模板区),reseed 会覆盖它 —— 自定义内容请放在自定义标记之下,或改模板而不是改单个文件。