TapCanvas cognitive-memory
Agents-CLI 认知记忆系统。用于管理长期记忆(core/episodic/semantic/procedural/vault)、可检索回忆、归档遗忘、以及多代理写入治理。
install
source · Clone the upstream repo
git clone https://github.com/anymouschina/TapCanvas
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/anymouschina/TapCanvas "$T" && mkdir -p ~/.claude/skills && cp -r "$T/apps/agents-cli/skills/cognitive-memory" ~/.claude/skills/anymouschina-tapcanvas-cognitive-memory && rm -rf "$T"
manifest:
apps/agents-cli/skills/cognitive-memory/SKILL.mdsource content
cognitive-memory
目标:让 agents-cli 在任务中具备“可管理、可检索、可归档、可续跑”的长期记忆能力,而不是仅依赖会话上下文。
适用场景
在以下场景优先加载本技能:
- 用户明确要求“记住/别忘了/以后按这个做”。
- 任务跨多轮、跨会话,且需要稳定复用历史结论。
- 多代理协作,需要共享读、受控写。
- 需要把阶段结果写入本地记忆索引并支持“继续”。
工具契约(agents-cli)
本技能默认使用这些工具:
memory_save({ content, tags?, store?, source?, importance? })memory_search({ query, limit?, store?, includeArchived? })memory_forget({ id? | query? })memory_reflect({ query?, limit?, minDecayScore?, requestedTokens?, extraTokens?, penaltyTokens?, extraReason?, penaltyReason? })memory_reflect_commit({ reflectionId, decision, approvedTokens, reason })- 必要时配合
/read_file
写入结构化索引文件。write_file
记忆分层规则
: 始终高优先级的长期约束与偏好。core
: 本次执行过程中的阶段事实、异常、修复记录。episodic
: 实体/关系/业务知识(例如角色关系、术语、领域映射)。semantic
: 可复用流程、模板、操作策略。procedural
: 用户明确指定“永久保留、不要自动淡化”的关键记忆。vault
写入规范
每次写入
memory_save 时必须满足:
为可复用事实,不写空话。content
至少包含任务域和对象(例如tags
,book-metadata
)。novel:xxx
记录来源技能或流程(例如source
)。agents-team-book-metadata
按 0~1 给出,核心约束建议 >= 0.8。importance
检索规范
- 回答前先
(至少 1 次)验证历史记忆。memory_search - 查询词必须包含主体 + 任务域(如
)。my-book metadata characterGraph - 命中冲突时,先返回冲突点,再请求用户确认,不允许私自覆盖。
遗忘规范
仅在以下条件允许
memory_forget:
- 用户明确要求遗忘。
- 记忆被证实错误且已保留替代版本。
遗忘是归档,不是物理删除;必须在回复中说明归档对象。
反思审批流程(工具化)
- 调用
生成待审批反思草案(会写入memory_reflect
)。meta/pending-reflection.json|md - 将
与 token 申请摘要展示给用户,等待明确批准/减少/拒绝。reflectionId - 用户决策后调用
:memory_reflect_commit
/approved
: 写入reduced
、meta/reflections/*
、meta/reflection-log.md
、meta/rewards/*
。meta/reward-log.md
: 仅记录奖励决策到 rewards/reward-log,不生成正式 reflection。rejected
- 未经用户审批,禁止直接落盘正式反思结果。
多代理治理
- 所有子代理可以读记忆。
- 只有主代理可以执行最终写入;子代理只产出候选内容。
- 主代理在写入前必须做去重、冲突检查和来源标注。
与本地文件索引协同
对长流程任务,除
memory_* 外,还应写入 .agents/memory/.../index.json:
:当前阶段与下一个动作。progress
:关键产物路径。artifacts
:最后更新时间。updatedAt
当用户说“继续”时:
- 先读
和index.json
。progress - 再做
交叉校验。memory_search - 状态一致才继续执行;不一致直接报错并说明差异。