Bkn archive
Skill kweaver-ai/kweaver-dip/skills/bkn-creator/internal/bkn-archive
KWeaver DIP is an enterprise-level digital employee platform, built on KWeaver Core. It provides an AI-native environment for developing and managing digital employees on business knowledge networks—for enterprise intelligence that is understandable, executable, and governable.
npx -y skills add kweaver-ai/kweaver-dip --skill bkn-archiveAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
全局归档协议 — 内化自 archive-protocol。提供 ARCHIVE_ID/TIMESTAMP 生成、双轨归档路径、回读校验与状态回执。
SKILL.md
4.9 KB, as published. Nobody here has run it
归档协议(内化)
来源:内化自
archive-protocolskill。 当 archive-protocol 更新时,将archive-protocol/SKILL.md的内容同步至本文件。
只要当前任务需要写入任何文件,就必须执行本协议。
归档物包括但不限于:PLAN.md、report.md、summary.md、result.json、notes.md。
优先级:本协议高于任何业务协议。定时计划类任务在 schedule-plan 技能中约定,且只能调用本归档规则,不能覆盖。
【身份文件】
若任务需要人格/身份设定,只认:
SOUL.mdIDENTITY.md
未确认可读或已注入上下文前,不得声称「已成功读取」。
【ARCHIVE_ID 规则】
主路径(OpenClaw)
ARCHIVE_ID 的唯一来源是 session_status 工具返回结果中的 Session。
必须执行:
- 调用
session_status, 并且不允许传递任何参数 - 读取
Session - 使用
:作为分隔符切分Session - 取切分结果的最后一段作为
ARCHIVE_ID
禁止:
- 禁止从其他来源生成或推断
ARCHIVE_ID - 禁止在
Session为空、缺失或无法切分时伪造ARCHIVE_ID - 若
session_status工具调用失败,立即重试,不允许捏造ARCHIVE_ID
降级路径(非 OpenClaw 平台:Cursor / Claude 等)
当 session_status 工具不可用(平台不支持该 MCP 工具)时,执行以下降级:
- 尝试执行
git rev-parse --short HEAD 2>/dev/null || echo "local"获取当前工作区的 Git commit hash(或local) - 尝试执行
date "+%m%d-%H%M"获取当前日期时间片段 - 拼接为:
ARCHIVE_ID = "<git-hash>-<datetime>"(如a3f2b1c-0416-1430)
降级 ID 仅用于本地路径区分,不用于 OpenClaw 平台的 Session 关联。
若降级路径也失败,立即中止归档并返回:ARCHIVE_STATUS: BLOCKED / ARCHIVE_REASON: invalid Session
【TIMESTAMP 规则】
生成归档文件前,必须执行:date "+%Y-%m-%d-%H-%M-%S"
时间格式必须固定为:YYYY-MM-DD-HH-MM-SS(禁止带空格或冒号)。
【归档路径规则】
路径执行双轨制,严禁混淆:
- 计划文件(PLAN.md 专属):
archives/{ARCHIVE_ID}/PLAN.md - 普通归档物(其他所有生成物):
archives/{ARCHIVE_ID}/{TIMESTAMP}/{ORIGIN_NAME}
根段必须为 archives(禁止多一层 arch)
- 所有上述路径在会话工作区内均为相对根,且必须以字面量
archives/作为归档树的第一段(小写完整单词archives,不是arch)。 - 禁止在
archives前再拼arch/、archive/或其它目录,形成错误形态如:arch/archives/...、.../arch/archives/{ARCHIVE_ID}/...。 - 禁止用
arch当作archives的缩写;写路径时心中核对:第一段只能是archives,紧接{ARCHIVE_ID}。
【写入后强制校验】
任何归档文件写入后,必须立即回读校验。未完成校验前,不得声称「已成功归档」。
校验内容:文件存在、路径正确、内容非空、关键字段存在、内容与当前任务一致;路径正确须包含:相对归档树以 archives/ 起头,不得含 arch/archives/ 等错误多段。
【状态回执与 WebUI 卡片渲染】
归档结束后,必须按以下格式返回状态。
OpenClaw 平台:在输出文本回执后,必须输出 archive_grid JSON 围栏代码块(供 WebUI 卡片渲染)。
非 OpenClaw 平台(Cursor / Claude 等):输出文本回执即可,跳过 JSON 围栏块。
JSON 输出形式(OpenClaw 强制)
-
承载
archive_grid的 JSON 必须以 Markdown 围栏代码块输出:起始行为三个反引号紧跟语言标识json,结束行为单独一行的三个反引号(即标准的json` …` 结构)。 -
禁止:裸 JSON(无围栏)、无语言标签的围栏、语言标签不是
json(如text、plaintext、留空)。 -
每有一个待渲染的归档文件,对应一个上述
```json代码块(块内为合法 JSON 对象,含type: "archive_grid"等字段)。 -
失败:
ARCHIVE_STATUS: BLOCKED|ARCHIVE_REASON: <原因>(失败时若无卡片数据,可不输出 JSON 围栏块;若有结构化回执,仍须遵守上文围栏规则。) -
成功:
- 输出文本行:
ARCHIVE_STATUS: OK|ARCHIVE_ROOT: archives/{ARCHIVE_ID}/ - 按【JSON 输出形式(强制)】输出
archive_grid,每一个归档的文件对应一个独立的```json代码块,示例形态如下:
- 输出文本行:
{
"type": "archive_grid",
"data": {
"type": "file",
"archive_root": "archives/{ARCHIVE_ID}",
"subpath": "{TIMESTAMP}/{ORIGIN_NAME}",
"name": "{ORIGIN_NAME}"
}
}