关于 forget
forget 是 Origin 插件中按 source_id 永久删除记忆的技能。它要求在删除前确认,并提供先检索目标记忆以及保留历史的修正方式。
主要功能
- 01按 source_id 删除记忆
- 02删除前确认用户意图
- 03可先检索目标记忆
- 04支持保留历史的修正方式
适用场景
- 01删除用户指定的错误记忆
- 02先查找记忆再确认删除
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill forget安装后在 Claude Code 中输入/forget确认已加载。
详细介绍
/forget
通过其 source_id 永久删除一条记忆。
如何调用
你需要 source_id。如果用户没有提供,请先调用
/recall 查找匹配的记忆,并在删除前向用户确认。
forget(memory_id="<source_id>")
何时使用
- 用户说“忘掉这个”“删除那个”“那是错的,把它移除”。
- 用户明确通过 ID 指定一条记忆。
何时不要使用
- 对于更正,优先存储一条带有指向旧记忆的
supersedes的新记忆。这可以保留历史记录。改用带supersedes参数的/capture。 - 批量删除——先调用
/review,向用户确认,然后逐条删除。
安全
删除具有破坏性。调用 forget 前务必先向用户确认,除非用户已在同一轮对话中给出明确无歧义的指示(例如,用户粘贴了 ID 并说“删除这个”)。
自动提交 ~/.origin/
如果删除操作移除了一个页面 md(守护进程会归档该页面,KnowledgeWriter 会取消文件链接),请为更改创建快照。此操作具有防御性——如果缺少 git、~/.origin/ 不是仓库,或没有差异,则静默跳过。
Bash: git -C ~/.origin add -A && \
git -C ~/.origin -c user.name=Origin -c [email protected] \
commit --quiet -m "forget: <source_id>" 2>/dev/null || \
(sleep 1 && git -C ~/.origin add -A && \
git -C ~/.origin -c user.name=Origin -c [email protected] \
commit --quiet -m "forget: <source_id>" 2>/dev/null) || true
重试机制可处理 index.lock 竞争——守护进程可能恰好在同一时刻写入
~/.origin/(捕获记忆时自动提交)。等待一秒足以让守护进程释放锁。
评论
支持 Markdown