用途:把一条知识手工捕获进项目知识库(kenkeep)。正文在当前会话内起草,再通过节点写入原语持久化,审阅人直接在磁盘上审阅该文件。
主要能力与用法:先向用户询问七个值,不得自行编造——kind(practice 或 map)、title(≤80 字符)、summary(≤140 字符)、tags(逗号分隔)、body(完整 markdown,practice 需含理由)、relates_to(逗号分隔的节点 id,可为空)、confidence(high/medium/low,默认 high)。调用前浏览 .ai/kenkeep/ENTRY.md 并在 nodes/ 中 grep 是否有重叠节点;若存在,建议改为编辑该节点、优化候选标题或放弃捕获。以下情况应回推:代码本身已自解释、历史记录、调试配方、进行中的计划/任务内容、通用编程知识。
仓库根解析:用随附检测器定位包含 .ai/kenkeep 的目录,并把打印路径当作后续命令的工作目录: KK_REPO_ROOT=$(node .ai/kenkeep/scripts/kk-detect-root.mjs) || exit $? cd "$KK_REPO_ROOT" || exit $? pwd
捕获节点:判断是把正文起草委托给单个子代理(用于上下文隔离,无并行、无并发上限)还是内联起草,依据共享附录 .ai/kenkeep/.config/prompts/sub-agent-delegation.md。若探测到派发原语,则生成 runId 并准备日志/草稿目录,日志位于 .ai/kenkeep/_logs/kk-add,草稿为 <runId>__1.draft.json;随后由子代理输出含 kind、slug、title、summary、tags、confidence、relates_to、body 八个键的 JSON,主机读取并校验后再调用 node write;校验失败不中止,回退到内联起草。生成 slug 的规则为小写、连字符分隔、ASCII。写入命令:
npx --yes kenkeep@latest node write <kind> <slug>
--title "<title>" --summary "<summary>"
--tags "<tags>" --relates-to "<relates-to>"
--confidence <high|medium|low> <<'EOF'
<body markdown>
EOF
正文从 stdin 读取。成功时只打印解析后的节点 id 并以 0 退出;schema 校验失败时非零退出并在 stderr 报错。
限制:若同名 slug 已存在,ensureUniqueId 会自动加 -2、-3 等后缀,因此打印的 id 可能与输入不同,需原样告知用户;只有硬性 schema 失败(缺 --title、--confidence 格式错误等)才导致非零退出。该技能不传 --folder,节点位于根下 nodes/<id>.md。完成后需提醒用户审阅并接受(保留文件)或拒绝(删除文件)。