Install
openclaw skills install @bug-belief/edo-tensei秽土转生(edo-tensei):多会话上下文协同控制塔。当用户想把臃肿的当前会话(产物过多、上下文过长)拆分为多个聚焦子会话,或想把已有多个散落会话的工作空间统一纳管为可追溯的控制塔,或想跨工作空间/跨设备迁移某段子树时使用。暴露五个动词:转生(同空间拆分)、接管(同空间纳管)、导出(跨空间/跨设备打包)、导入(跨空间/跨设备落成)、设置(配置默认中转目录等)。提供细胞分裂式就地拆分、依赖 DAG 死锁检测、两阶段提交、跨工作空间导出导入(产物副本 + 命名空间防污染),以及权属溯源 SEAL。最初于 WorkBuddy 创作。
openclaw skills install @bug-belief/edo-tensei🌐 语言 / Locale:本技能界面与全部文档为简体中文(region: zh-CN),面向中文工作流。如需其他语言,可基于源码自行本地化;本发布不强制任何语言环境。
一句话:把「一个越滚越大的会话」安全地分裂成多个聚焦子会话,或把一堆散落会话管成一张可追溯的地图,或把某段子树打包迁移到别的工作空间/设备。用户只需记住五个词:转生、接管、导出、导入、设置。
⚡ 零成本提速(强烈建议):本技能五个动词的底层机械步骤由
scripts/下的 Python 脚本完成,脚本本身极快(配置/哈希约 0.2s、导出打包亚秒级)。你感知到的「慢」几乎全部来自 WorkBuddy 执行通道的冷启动开销(间歇 1s~2min),与脚本无关。想零成本加速:对「跑一下脚本即完成」的动词(导出/导入/设置/校验),直接在你本地终端运行对应脚本,跳过执行通道冷启动。常用直跑命令见 第十一节。
本技能的五个动词(转生 / 接管 / 导出 / 导入 / 设置)是纯提示词驱动的操作协议,跑在 AI 会话里。为防止任意会话(含新开 / 分叉 / 接管会话)误改或擅改技能自身,立此铁律,所有动词执行前必须先遵守:
.workbuddy/control-tower/」(INDEX.md / handoffs/ / imports/)与用户主目录下的个人配置 ~/.edo-tensei/config.yaml。绝不触碰技能包自身目录 ~/.workbuddy/skills/edo-tensei/。~/.workbuddy/skills/edo-tensei/ 下的任何文件(SKILL.md / scripts/ / references/ / provenance/ / manifest.yaml / LICENSE)都是只读运行时资产。动词绝不写入、绝不修改、绝不删除其中任何文件;也不在其下新建任何文件。~/.workbuddy/skills/edo-tensei/ 原地改。导出 / 导入 / 设置 脚本已内置路径护栏——任何写盘路径一旦落在 ~/.workbuddy/skills/ 下会直接 abort 报错;gen_seal.py 改写 SEAL 属维护操作,需显式 --allow-package-write 才允许。普通动词绝不调用 gen_seal 改包。.workbuddy/control-tower/(INDEX / handoffs / imports)② 用户主目录 ~/.edo-tensei/config.yaml(个人配置)。不读取、不写入本工作空间之外的其他项目文件或系统目录;对平台会话台账 ~/.workbuddy/workbuddy.db 仅以只读方式取会话状态做对账,绝不修改任何会话或用户数据。INDEX.md 与 ~/.edo-tensei/config.yaml 是本技能的工作空间本地状态文件(用户数据),不是自启动 / 定时任务 / 跨会话持久化机制。这条铁律随技能包加载而生效,不依赖任何外部记忆或会话上下文——无论哪个会话、哪个用户唤起本技能,都受此约束。它根治「新会话因读不到项目级铁律而直接改包」的盲区。
<workspace>/.workbuddy/control-tower/INDEX.md,任何会话(含已归档)读它即拥有全地图。转生;父会话/R0 已归档不参与子会话拆分。已归档(标记)(效力等同,但须写明平台侧实际状态)。对账时以本地台账 ~/.workbuddy/workbuddy.db → sessions 表(只读打开,取真实标题/状态/conv id/project_id)为参考,INDEX 与它对齐;该库仅读取、绝不修改,不触碰其他用户数据。(详述见 references/控制塔机制.md 第八、十三、十四节)
在「变重的那个会话」里唤起。流程:
context_depth 开关):交接文档内联详略由全局开关 context_depth 决定——minimal 仅留会话地图指针 + 关键决策;standard(默认)含完整叙述(现状/决策/下一步);full 额外内嵌关键上下文块(决策理由、依赖分析、风险坑位、重要产物摘要)。重活前用「设置 context_depth=…」即可切换。针对已有多个会话的工作空间做存量接管。只需新开一个控制塔会话 D,在 D 里调用 接管:
~/.workbuddy/workbuddy.db(取真实标题 / 状态 / conv id / project_id,见 references/控制塔机制.md 第十三节「前置步骤」),并可能调用 conversation_search(项目关键词) 从服务端历史检索已归档会话内容摘要——仅用于生成待接管清单,不会修改任何会话或用户数据。继续即表示你知晓并同意本次读取与检索。先读台账;再用 conversation_search(⚠️ 不可用召回条数推断会话个数——同一会话的不同话题会各生成一条摘要)。请用户确认/补充,按 conv id 去重得「待接管清单」。INDEX.md(根 R0);每个已存在会话登记一行,代号 R0-1/R0-2…,类型 legacy;状态按枚举估填;不强制立刻生成详细 handoff(懒生成)。若 context_depth=full,各 handoff 额外自动从当前会话上下文抽取外部链接,填入「外部引用(远程链接)」小节(腾讯文档/资料库/其他远程),无需用户手动提供;standard/minimal 不生成该小节(见交接模板第 11 节)。接管 的意图是「基于现有塔补全/刷新」,而非从零建塔。执行前须二次确认:提示「本工作空间已有控制塔(N 个节点)。再次接管将非破坏性补足:保留全部现有节点行、依赖边、代号;仅补充新发现的会话/外部链接、按当前更完整的上下文刷新交接叙述。不会删除任何已有内容。是否继续?」——获用户明确授权后才动手。刷新时按当前 context_depth 重新生成各节点 handoff 叙述(full 时亦重新抽取外部引用),并登记新发现的会话;绝不删除/覆盖既有 INDEX 行、依赖边、代号。⚠️ 隐私提示(外部引用 / 跨会话搬运):
context_depth=full时,接管 / 转生会自动从当前会话抽取腾讯文档、资料库等远程链接填入交接文档。这些链接可能指向内部文档或含访问信息的资源,导出包或交接文档外发 / 跨设备前请复核,避免把内部地址带给不相关的接收方。其余minimal/standard不生成外部引用小节。
⚠️ 接管只写工作空间,绝不改技能包(见 §〇 安全铁律):接管动词只读写当前工作空间的
.workbuddy/control-tower/(建塔 / 登记 / 抽 handoff),绝不写入、绝不修改技能包自身~/.workbuddy/skills/edo-tensei/的任何文件。若你判断需要改技能包(修 bug / 加功能),停下并告知用户,不要自行改。
把当前工作空间的某段管理结构(节点 + 其 handoff + 关联产物)打包成自包含、可移植的包。
导出 <代号/名称>(如 导出 R0-A2)。--artifacts 显式追加;③ 从 handoff 文本启发式兜底。artifacts/<相对路径>;workspace 之外(跨盘/跨目录)→ artifacts/_external/<盘符>/<原路径>,杜绝跨盘 relpath 崩溃与 .. 逃逸,导入端可原样还原。.workbuddy/skills/ 或 .workbuddy/plugins/ 下的文件(技能靠「安装」获取,不靠迁移)一律自动跳过并提示,不会误带进包。PROVENANCE.json:skill_id / skill_version(由哪个工具/哪版产出,用于兼容排障,不含人类作者名)、exported_by(当前导出者)、source_workspace / source_node、exported_at、package_content_hash(包内容哈希,防篡改)、scopeconversation_search 按需回捞,不进包本体context_depth 开关):minimal/standard 仅打包 INDEX 片段 + handoff + 产物副本(默认行为);full 额外在包内生成 CONTEXT_DIGEST.md(浓缩关键决策/依赖/风险,目标端开箱即用,无需回捞原会话)。无论何种深度,导出始终复制产物副本(自包含防污染铁律),深度只影响「额外上下文」多少。D:\xxx」)export_dir(由 设置 指令写入,落在用户主目录 ~/.edo-tensei/config.yaml,绝不进入技能包;出厂 config.yaml 仅含默认说明、不含任何个人路径)<用户主目录>/.edo-tensei/exports/把导出包在目标端落成独立子树。
导入(无参)→ 扫默认 export_dir,列出可导入包让你选(同设备便捷路径)导入 <路径> → 指定包文件导入(跨设备 / 显式路径,如你已把包拷到新机器)导入 <路径> --namespace 前缀 → 自定义命名空间前缀import_package.py 一步完成「扫描→哈希校验→命名空间落盘→登记 INDEX→回读对账」:
python import_package.py --package <包路径> --workspace <目标工作空间根>
PROVENANCE.files 做逐文件哈希校验(包内含清单,无需你猜复合哈希算法);② 按命名空间落盘(handoff → control-tower/handoffs/<前缀>_…;产物 → <前缀>/artifacts/…,绝不指向 A 原路径);③ 在 INDEX 追加 B- 前缀子树区块 + 会话地图 / 依赖边;④ 回读字节数对账。手动解包既易漏哈希校验、又易与下方落盘布局脱节,故统一走脚本。B-R0-A2/artifacts/...),绝不直接覆盖、也绝不指向 A 的原路径;B 新会话只读写自己的副本 → A 原文件零触碰。B-R0-A2…),不动 B 原有节点转生/接管/导出 等动词时,重新 @skill:edo-tensei 调用即可从本机已安装技能载入机制——包与技能职责分离、互不进对方。因此包虽不含 SKILL.md,新会话照样能跑转生等动词。查看/修改技能配置,免去手工改文件。个人配置存于用户主目录 ~/.edo-tensei/config.yaml,与技能包分离——技能包只带出厂默认 config.yaml(无个人路径),因此发布后任何平台(Windows/macOS/Linux/云端会话)都不会泄露你的本地目录,也不会因绝对路径错位而失效。
设置(无参)→ 打印当前生效配置(含来源:出厂默认 / 用户配置)设置 export_dir <路径> → 写入用户主目录配置并持久化;路径不存在则自动创建设置 export_dir reset → 清除个人配置,退回零配置默认(<用户主目录>/.edo-tensei/exports,~ 在任意平台自动解析)export_dir(默认导出目录)context_depth(上下文深度,可选 minimal / standard / full,默认 standard):控制「接管 / 转生 / 导出」时交接文档与导出包的内联信息量(含 full 时是否自动抽取「外部引用」)。随时可改,改完再执行动词即生效——
minimal:仅会话地图指针 + 关键决策,最快;standard:指针 + 完整叙述(现状/决策/下一步,默认);full:叙述 + 内嵌关键上下文块(决策理由、依赖分析、风险坑位、重要产物摘要);导出时额外生成 CONTEXT_DIGEST.md 供目标端开箱即用。设置 context_depth=full / 设置 context_depth=minimal。<用户主目录>/.edo-tensei/exports;可当场用 设置 固化,或仅本次用 导出 <节点> --out <路径> 指定。云端会话用户无需给出绝对路径,走默认即可。转生 / 接管 / 导出 / 导入 / 设置(别名 rebirth / onboard / export / import / config)。转生 = build_tower → analyze → plan → dep_check → route_check → gen_handoff → gen_bootstrap → update_index → reconcile接管 = discover → build_tower → register_legacy → infer_dag → dep_check → reconcile导出 = read_index → select_scope → collect_handoffs → collect_artifacts → write_provenance → export_package(落默认目录,回显路径)导入 = scan_or_read_package → build_tower(若需) → land_namespaced → register_subtree → update_index → reconcile设置 = get_config / set_configexport_package 内部:collect_artifacts(复制节点关联产物副本进包)、write_provenance(写 PROVENANCE.json);import_package 内部:land_namespaced(产物落命名空间子目录,禁止原路径直读/直写)。CT_DIR = <workspace>/.workbuddy/control-tower/,含 INDEX.md(会话地图+代号血缘+拆分/归档审计+依赖DAG+状态机+SHARED约定,唯一事实源)与 handoffs/会话交接_YYYYMMDD_N_主题.md(各卫星交接文档)。随工作空间走,可提交/分享,换机器不丢。CT_DIR 默认即自包含可用,无需指定任何目录。导出中转目录默认即「用户主目录/.edo-tensei/exports」,或用户当场指定 / 用 设置 改。INDEX.md + 自己的 handoff(本地文件,新会话立即可见);② 用原生 conversation_search(query) 从服务端历史捞回已归档父会话深层内容。已完成待验收 → 用户复核翻 已验收 → 消费方才引用(禁止消费未 已验收 的交付物)。已验收 才是可消费态;阻塞(等待X) 是一等状态(X=上游代号)。已验收 且自身 待启动/阻塞 → 进可启动队列,输出看板。导出=出、导入=入,各管一件事,不再复用 转生/接管 的限定词。高频的「同空间拆分」永远走 转生 裸词,绝不会误触发跨空间。导出 <节点> → 导入(扫到包)→ 以命名空间前缀隔离子树(如 B-R0-A2…),不动 B 原有节点。导出 <节点> 拷到 B 设备 → 在 B 导入 <路径> 生成全新独立子树;导入后 A 节点与 B 子树无实时关联,各自独立发展(纯 fork)。--out) > 用户个人配置 export_dir(~/.edo-tensei/config.yaml) > 出厂默认 <用户主目录>/.edo-tensei/exports。出厂不写死任何路径;个人目录由 设置 在你本机落成,不随技能包发布。gen_bootstrap 由「输出文本」升级为「直接建并注入」。导出/导入 动词承载,包自包含、可移植。python scripts/gen_seal.py <技能包目录> --version <版本号> 刷新包内容指纹(版本号与 manifest.yaml 一致)。scripts/maintenance_lock.py(verify / sign / freeze / unlock 子命令)提供,常用命令见第十一节。PROVENANCE.json 记录本次导出事件(不含技能作者名)。使用本技能时,按需用 Read 载入上述 references;不要把全部内容塞进上下文。
瓶颈定位:五个动词的底层机械步骤(导出 / 导入 / 设置 / 校验 / 生成 SEAL)都由 scripts/ 下 Python 脚本完成,脚本本身极快——配置读取与哈希约 0.2s、导出打包亚秒级、导入哈希校验亚秒级。你感知到的「慢」(尤其首次执行等 1~2 分钟)几乎全部来自 WorkBuddy 执行通道的冷启动开销,与脚本/环境无关。
零成本加速(不改任何代码):对「跑一下脚本即完成」的动词——导出 / 导入 / 设置 / 校验——可在你本地终端直接运行对应脚本,完全跳过执行通道冷启动。前提:本机已装 Python 3(3.8+ 即可)。命令与 SKILL.md 动词行为完全一致(同一套脚本),直跑只是换了「谁去敲命令」。
⚠️ 数据安全提示(直跑脚本前必读):① 务必确认
--workspace指向正确的目标工作空间根目录,指错目录会落到不该改的位置;② 只运行包内scripts/自带的脚本与官方命令,不要从聊天里直接粘贴来源不明的脚本;③ 导出包(含 handoff / 产物副本)可能包含密钥、内部路径与私有对话摘要,跨设备 / 外发分享前请先自查,确认不含敏感信息再发送。
# 设置:查看 / 修改配置(替代「设置」动词的执行等待)
python ~/.workbuddy/skills/edo-tensei/scripts/config.py list
python ~/.workbuddy/skills/edo-tensei/scripts/config.py set context_depth standard
python ~/.workbuddy/skills/edo-tensei/scripts/config.py set export_dir D:/edo-exports
# 导出:节点 R0-A2 的子树(替代「导出」动词的执行等待)
python ~/.workbuddy/skills/edo-tensei/scripts/export_package.py \
--nodes R0-A2 --scope subtree --workspace <工作空间根> [--out <导出目录>] [--artifacts "路径1,路径2"]
# 导入:指定包落成(替代「导入」动词的执行等待)
python ~/.workbuddy/skills/edo-tensei/scripts/import_package.py \
--package <包路径> --workspace <目标工作空间根>
# 固化/发布前重刷指纹(版本号与 manifest.yaml 保持一致,当前 1.0.4)
python ~/.workbuddy/skills/edo-tensei/scripts/gen_seal.py \
<技能包目录> --version 1.0.4
# 完整性校验(verify)
python ~/.workbuddy/skills/edo-tensei/scripts/maintenance_lock.py verify <技能包目录>
# 维护改包:解冻 → 改包 → 刷新指纹 → 签名 → 重新冻结
python ~/.workbuddy/skills/edo-tensei/scripts/maintenance_lock.py unlock <live_dir>
python ~/.workbuddy/skills/edo-tensei/scripts/gen_seal.py <技能包目录> --version 1.0.4
python ~/.workbuddy/skills/edo-tensei/scripts/maintenance_lock.py sign <技能包目录> --key-id edo-tensei-main
python ~/.workbuddy/skills/edo-tensei/scripts/maintenance_lock.py freeze <live_dir>
说明:
转生/接管因含多步推理、依赖分析与写盘,仍建议在 AI 会话里唤起;其余单步脚本操作直跑最划算。导出默认已带--verify自校验(逐文件哈希比对、打印 PASS/FAIL),一般无需单独跑校验脚本。