mcpField
R
remindb-setup

remindb-setup

github.com/radimsemAgent 工作流12952 次安装21 周前更新
代码仓库

关于 remindb-setup

remindb-setup 是一项 Agent 技能,可在实时会话中引导用户首次配置或重新配置 remindb 工作区。它涵盖配置顺序、按宿主设置 MCP,以及使用 Memory 工具验证。

主要功能

  1. 01交互确认或自动模式
  2. 02先配置工作区再编译
  3. 03按宿主配置 MCP
  4. 04验证数据库与服务状态
  5. 05选择性重应用现有数据配置

适用场景

  1. 01在安装 MCP 插件前配置 remindb
  2. 02诊断数据库路径不匹配
  3. 03将固定或温度设置应用到现有节点

MCP 相关

该技能负责协调 remindb MCP 插件的安装和宿主配置。插件连接后,可使用 MemoryStats 等 Memory 工具验证数据库设置。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/radimsem/remindb --skill remindb-setup

安装后在 Claude Code 中输入/remindb-setup确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
automode-playbook.md
config-examples.md
config-model.md
host-wiring.md

详细介绍

remindb-setup — 设置向导

你就是向导。此技能是你在实时会话中设置或重新配置 remindb 工作区时要遵循的脚本——没有单独的 UI。通过 Bash、Memory* 工具和文件写入来执行。

持续指令——先通过 --help 验证 CLI 标志

调用任何 remindb 子命令之前,先用 remindb <subcommand> --help 确认其标志(remindb compile --help、remindb inspect --help 等)。不要依赖记忆中的语法——位置参数悄无声息地出错,是向导最常见的陷阱(例如,remindb inspect <path> 会被忽略;正确的标志是 --db <path>,而默认的 memory.db 会在 CWD 中悄无声息地打开一个空文件)。

两个部分,两个阶段——确认你当前所处的阶段

remindb 由两个独立安装的部分组成:技能(即本技能,通过 npx skills add 安装)和 MCP 插件(按宿主分别安装)。技能先安装,因此可以在插件接入之前运行——这正是能够先配置后安装的原因。根据本次会话中是否已接入服务端来判断当前阶段:

  • 可用工具集中没有 Memory* 工具 → 阶段 1:首次配置优先设置(§阶段 1)。默认的首次运行。
  • 存在 Memory* 工具 → 阶段 2:验证/重新配置(§阶段 2)。

模式

  • /remindb-setup — 交互模式:每项选择写入前都先提出并征求批准。
  • /remindb-setup automode — 推断所有参数,直接写入,然后汇报。仍会确认以下信任操作:运行远程安装程序(步骤 1)、调用插件安装(步骤 7)以及写入宿主 MCP 配置(步骤 8)。推断规则 → references/automode-playbook.md。
  • /remindb-setup only-config — 桥接宿主快速通道:仅运行阶段 1 的步骤 1–4(二进制文件 → 宿主 → 源 → .remindb/),然后用一行摘要结束。从提示正文解析 Source root:(必需;缺失时须明确报错,无论交互模式还是 automode 都不得猜测)和 Also adjacent-seed:(可选,以换行分隔的绝对路径,排队供调用方宿主稍后编译)。可与 automode 组合使用。适用于调用方宿主通过自身流水线负责编译、安装插件和配置环境变量的情况——参见 references/host-wiring.md 中的桥接宿主说明;解析规则见 references/automode-playbook.md。

并非所有宿主都会将其显示为字面形式的 /remindb-setup 命令——请根据 references/host-wiring.md 中对应的宿主说明来调用。调用后,向导的运行方式相同。

第 1 轮 — 首次配置优先设置(尚未连接服务)

顺序很重要:先编写 .remindb/,再编译,这样 ignore/pinned/temperatures.json 才会在插入时生效——无需通过 --reseed 事后补设。only-config 会将此列表截断为步骤 1–4,并在显示摘要后停止(参见上文“模式”)。

  1. 二进制文件。(Bash)运行 remindb --version。若未安装 → 安装;运行远程安装器前务必确认,即使在自动模式下也一样。单行命令和 PATH 详情 → references/config-model.md §Bootstrap。
  2. 确认你的宿主环境。 你已经知道自己处于哪个 Agent 运行时中——检查系统提示词以及本会话中公开的工具/技能(例如,/plugin install = Claude Code;/skills 选择器 = Codex;openclaw mcp = OpenClaw;activate_skill = Gemini CLI;OpenCode 通过自然语言激活技能)。要查找特定宿主环境的配置路径,请优先依赖运行时自身的信息——系统提示词、已加载的宿主专用技能、运行时文档——而不是探查文件系统。如果运行时上下文仍不明确,请询问用户(自动模式:选择最可能的运行时,并记录这一假设)。然后在 references/host-wiring.md 中查找匹配的行。
  3. 定位源目录。 确认要编译的目录——.remindb/ 也位于此处。你尚未连接服务,因此还没有可读取的 REMINDB_SOURCE;请与用户确定(自动模式:根据宿主环境的状态目录推断,例如 ~/.claude/projects)。
  4. 编写 .remindb/。 在 <source>/.remindb/ 中写入 ignore / pinned / temperatures.json / config.json。语义以及各项更改的生效方式 → references/config-model.md;按工作区类型整理的可复制粘贴模板 → references/config-examples.md。交互模式:先展示计划。自动模式:先写入,然后总结每个不明显的选择。
  5. 编译。 运行 remindb compile <source> --db <db>——在插入时应用配置;不要使用 --reseed(配置已经就位)。
  6. 填充相邻上下文(可选)。 源目录之外的文件——CLAUDE.md / AGENTS.md / GEMINI.md / README.md——不会进入数据库。可提出通过 CLI 将它们一并纳入(你尚未连接服务,因此暂时无法使用 MemoryCompile 工具);每个文件单独处理,并使用绝对路径:
    remindb compile /abs/path/CLAUDE.md --db <db>
    
  7. 安装/启用 MCP 插件——按照 references/host-wiring.md 中宿主环境对应的 Plugin install 列执行(例如,Claude Code 使用 /plugin install remindb@remindb,Codex 使用 codex plugin marketplace add radimsem/remindb)。如果安装命令可通过 Bash 调用,向导可以运行;对于 Claude Code,向导会提示用户操作(/plugin install 不是 shell 命令)。调用安装前务必确认。只要加载的配置是安装后才生成的,就必须在步骤 8 之前安装插件(Claude Code 缓存、OpenClaw MCP 存储)。
  8. 配置 MCP 环境变量。 插件安装完成后,再在已加载的配置文件中设置 REMINDB_DB / REMINDB_SOURCE。先定位文件——references/host-wiring.md 列出了各宿主环境对应的文件;对于未知宿主环境,使用 grep -rl REMINDB <host-config-dir> 探查。不要依赖记忆。优先使用限定范围的编辑(可安全用于多个记忆库);仅在限定范围编辑不可行时,才回退到 shell-export(未知宿主环境,或用户选择在 Claude Code Marketplace 中使用);参见 host-wiring.md 中的 §Env-wiring principle。即使在自动模式下,写入宿主配置前也务必确认。然后重新加载宿主环境。

结束第 1 轮时,告知用户:宿主环境重新加载后,服务会解析 REMINDB_DB/REMINDB_SOURCE 并连接;重新运行向导(第 2 轮),确认 MemoryStats 的 db_path 与已编译的数据库一致。

第 2 轮 — 验证/重新配置(服务已连接)

  • 验证。 MemoryStats() → 确认报告的数据库路径就是编译时使用的路径,且节点数不为零;然后读取 remindb://doctor,检查 FTS5/过时根目录(stale-root)问题(如需机器可检查的路径,remindb://overview 会显示 db_path 字段)。冷节点通知需要客户端一次性发送 SetLoggingLevel(logging/setLevel)——大多数客户端会自动发送;如果你的客户端没有发送,说明服务正常,但客户端必须选择接收通知(详情 → references/config-model.md)。
  • 诊断 — db_path 不匹配/节点数为 0。 如果 MemoryStats 报告的 db_path 不是编译时使用的数据库路径——尤其是显示字面值 $PWD/${REMINDB_DB} 且节点数为 0(Claude Code 的情况:缓存 ${VAR} 透传值,并在变量未设置的 shell 环境中进行求值)——这意味着环境变量在服务启动时没有正确解析:要么未设置环境变量,要么你编辑了错误的配置文件。修复方法:在实际加载的配置中(在你的主机上具体是哪个文件,请重新检查 references/host-wiring.md)或启动 shell 中设置 REMINDB_DB/REMINDB_SOURCE,然后重新加载。
  • 重新配置现有知识库。 重新编写任意 .remindb/ 文件,然后按照 references/config-model.md 中的 3 层模型应用更改:实时重新加载(temperature/rescan)→ 无需操作;插入时配置(temperatures.json/pinned)→ 重新植入(见下文);冻结配置(budgets/server/redaction)→ 重启。
  • 将配置重新植入现有节点(仅重新配置时)。 事后编写 temperatures.json/pinned 不会对已编译的节点产生任何影响。要将这些配置应用到现有数据库:
    remindb compile <source> --db <db> --reseed-temperatures --reseed-pinned
    
    警告: --reseed-pinned 会对每个匹配项重新应用 .remindb/pinned,覆盖手动进行的 MemoryUnpin 选择。WAL + busy_timeout(5s) 使其在 serve 占用文件时仍可安全运行。MemoryCompile(工具)不会重新植入固定项——因此需要使用 CLI。

完成了吗?你已准备就绪:remember(自然语言入口)、remind(读取工具)、memorize(写入工具)。

评论

支持 Markdown