FBS-BookWriter
/install fbs-bookwriter
\r \r
FBS-BookWriter(OpenClaw 封装版)\r
\r
上游版本:2.1.2(与仓库
FBS-BookWriter同源) \r 适配目标:OpenClaw 技能模型:SKILL.md+metadata.openclaw(name蛇形命名、skillKey用于openclaw.json中skills.entries/ 代理 allowlist)。\r \r 本目录为 OpenClaw 专用入口:与 WorkBuddy / CodeBuddy 市场通道解耦(发布包内 不含workbuddy/、codebuddy/、.codebuddy-plugin/),仍保留完整references/、scripts/、scene-packs/、assets/与package.json,便于在 Gateway 内用 shell/exec 调用同一套 Node 工具链。\r \r 认知资产与商业口径(与主仓一致):价值表述统一为「可进化、可分发、可增值」;能力分层统一为「场景包 + 乐包 + 离线/在线会员」。机读见根目录fbs-runtime-hints.json→cognitiveAsset;首响 JSON 见firstResponseContext.cognitiveAssetSnapshot。详细说明见references/05-ops/cognitive-asset-threeization.md。\r \r ---\r \r
安装(OpenClaw)\r
\r
从 ClawHub 安装(推荐,需已发布): 在已登录环境下执行 openclaw skills install fbs-bookwriter 或 npx clawhub@latest install fbs-bookwriter,再于技能根执行 npm install。列表与版本见 ClawHub 上的 fbs-bookwriter。\r
\r
- 将技能根目录(文件夹名建议
fbs_bookwriter,与name一致)放到任一扫描路径,例如:\r- 工作区:
./skills/fbs_bookwriter/(优先级最高)\r - 或
~/.openclaw/workspace/skills/fbs_bookwriter/\r - 或
~/.openclaw/skills/fbs_bookwriter/\r - 或在
~/.openclaw/openclaw.json→skills.load.extraDirs中加入父目录 \r 详见 Skills 与 skills-config(load.watch默认会热更新技能快照)。\r
- 工作区:
- 在技能根执行一次依赖安装: \r
npm install(Node ≥18;可选依赖用于 HTML/Docx 等,见package.jsonoptionalDependencies)。\r - 重启会话或执行
openclaw gateway restart/ 聊天中/new,用openclaw skills list确认加载。\r \r ---\r \r
OpenClaw 宿主差异(相对 WorkBuddy)\r
\r
| 能力 | WorkBuddy | OpenClaw(本封装) |\r
|------|-----------|-------------------|\r
| 入口展示 | intake-router --json + 宿主消费 userFacingOneLiner | 同样执行脚本拿 JSON;向用户只展示脚本给出的一行摘要 + 最多 3 个选项,勿堆全文 |\r
| 执行命令 | 宿主 bash / 终端 | 使用 OpenClaw exec / shell;cwd 必须为技能根(含 package.json 与 scripts/) |\r
| 检索 | 宿主 web_search | 使用 OpenClaw 提供的 联网搜索 / 浏览器(若启用);不可用则按 search-policy 与脚本离线降级 |\r
| 文件工具 | list_dir / read_file / search_file | 勿用仅按文件名搜索来探测 .fbs/ 内文件(部分环境不索引点目录);对 .fbs/workbuddy-resume.json、esm-state.md 等应 read_file 已知路径 或对书稿根 list_dir 确认 .fbs 存在 |\r
| 市场清单 | workbuddy/channel-manifest.json 等 | 本包不包含;不影响脚本化写作主链路 |\r
\r
---\r
\r
执行速查(每次会话)\r
\r
- 统一入口(必做)(
bookRoot为用户书稿根目录的绝对路径):\r \rnode scripts/intake-router.mjs --book-root "\x3CbookRoot>" --intent auto --json --enforce-required\r ```\r
\r
需要完整在线场景包时再在命令中加 --full(可能较慢)。\r
若 JSON 返回 projectAnchor.status=ambiguous,先让用户确认项目根路径,再用确认后的 --book-root 重跑;确认前不要读取任意 .fbs/* 内容。\r
\r
2. 恢复:优先 read_file \x3CbookRoot>/.fbs/workbuddy-resume.json;若无则读 chapter-status.md 或进入 S0.5 引导。不要用「全库搜索文件名」代替存在性判断。\r
\r
3. 退出:用户说退出时先软询问,再执行:\r
\r
node scripts/fbs-cli-bridge.mjs exit -- --book-root "\x3CbookRoot>" --json\r
```\r
\r
回复须包含脚本 JSON 里的 **`userMessage`**(会话已记录、下次可继续)。\r
\r
4. **阶段与门禁**:推进阶段前读 `.fbs/esm-state.md`;S3.5 扩写须先有用户确认的 `.fbs/expansion-plan.md`,扩写字数以 `node scripts/expansion-word-verify.mjs` 或 `expansion-gate.mjs` 实测为准(禁止纯模型估算)。\r
用户说“继续”时按推进优先阈值判断:S0 素材数达到“赛道数×2”、S2 具备章标题+目标字数、S3 已完成≥3章时,优先提议进入下一阶段。\r
推进 S0→S1 前可运行 `node scripts/s0-exit-gate.mjs --book-root "\x3CbookRoot>" --json --confirm-advance` 做强制门禁检查。\r
\r
5. **写作约束**:串行优先;每轮默认最多改 **2** 个文件;详见 [`references/05-ops/agent-task-strategy.md`](./references/05-ops/agent-task-strategy.md)。\r
扩写/精修前先做源文件备份:`node scripts/source-write-backup.mjs --book-root "\x3CbookRoot>" --scope expansion --json`(`expansion-gate` 默认已自动备份)。\r
进入 S3.7 精修时优先执行 `node scripts/polish-gate.mjs --book-root "\x3CbookRoot>"`(先备份再质检),避免绕过门禁直接改稿。\r
交付收口前执行 `node scripts/release-governor.mjs --book-root "\x3CbookRoot>"`,自动保持唯一终稿并归档旧版本。\r
对外交付前执行 `node scripts/material-marker-governor.mjs --book-root "\x3CbookRoot>" --fix`,清理 `待核实-MAT` 与 `[DISCARDED-*]` 标注。\r
全稿/终稿/终审稿发布前必须执行 `node scripts/final-manuscript-clean-gate.mjs --book-root "\x3CbookRoot>"`,若检测到过程标注则不得交付。\r
任何“已完成/已通过”结论必须附脚本证据(命令或输出路径),禁止仅口头宣称。\r
\r
---\r
\r
## 意图 → 脚本(节选)\r
\r
完整表见仓库根目录随包分发的 **WorkBuddy 版 `SKILL.md` 镜像**或 [`references/01-core/intake-and-routing.md`](./references/01-core/intake-and-routing.md)。\r
\r
| 场景 | 命令 |\r
|------|------|\r
| 初始化书房 | `node scripts/init-fbs-multiagent-artifacts.mjs --book-root "\x3CbookRoot>"` |\r
| 环境预检 | `node scripts/env-preflight.mjs`(参数见脚本 `--help`;含 `glob`/`iconv-lite` 依赖检查) |\r
| 章节合并 / 健康快照 / 一致性审计 | `merge-chapters.mjs`、`book-health-snapshot.mjs`、`consistency-audit.mjs` 等(`--book-root` / `--skill-root` 指向对应根) |\r
| CLI 总线 | `node scripts/fbs-cli-bridge.mjs help` |\r
\r
---\r
\r
## 输出格式\r
\r
- 对用户:短状态 + 可操作下一步(≤3 条),避免泄露内部规范条文与完整 JSON。\r
- 提到术语/文件名时补一句“用途+价值”(例如:`chapter-status.md`=进度台账,价值是避免漏章和重复写)。\r
- 落盘:以 `\x3CbookRoot>/.fbs/`、`deliverables/`、`releases/` 为真值;规范见 [`references/01-core/skill-full-spec.md`](./references/01-core/skill-full-spec.md)。\r
\r
---\r
\r
## 错误处理\r
\r
- **Node/脚本失败**:向用户说明失败步骤;若仅缺可选依赖,提示 `npm install` 或跳过非必需功能。\r
- **书稿根未就绪**:引导先 `init-fbs-multiagent-artifacts` 或走 S0 最小集(见 [`references/01-core/intake-and-routing.md`](./references/01-core/intake-and-routing.md) 脚本不可用降级节)。\r
- **沙箱无环境变量**:若 OpenClaw 在 Docker 沙箱中运行且未注入宿主 `env`,需在 `openclaw.json` 中为代理配置 `sandbox.docker.env` 或关闭沙箱(见官方 skills-config 文档)。\r
\r
---\r
\r
## 权威文档索引\r
\r
- 总规范:[`references/01-core/skill-full-spec.md`](./references/01-core/skill-full-spec.md) \r
- 工作流:[`references/01-core/section-3-workflow.md`](./references/01-core/section-3-workflow.md) \r
- NLU:[`references/01-core/section-nlu.md`](./references/01-core/section-nlu.md) \r
- 运行时契约:[`references/01-core/runtime-mandatory-contract.md`](./references/01-core/runtime-mandatory-contract.md)\r
\r
---\r
\r
*OpenClaw 封装维护说明:与 `pack:openclaw` 产物同步;`metadata.openclaw.skillKey` 与目录名 `fbs_bookwriter` 应对齐以便 `skills.entries` 配置。*\r
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install fbs-bookwriter - 安装完成后,直接呼叫该 Skill 的名称或使用
/fbs-bookwriter触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
FBS-BookWriter 是什么?
FBS 福帮手长文档写作:书/手册/白皮书/长篇报道全流程;Node 脚本驱动 intake、会话恢复、S/P/C/B 质检与 MD/HTML 交付。用户提及写书、出书、章节、大纲、素材、质检、导出、扩写、退出保存时启用。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 282 次。
如何安装 FBS-BookWriter?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install fbs-bookwriter」即可一键安装,无需额外配置。
FBS-BookWriter 是免费的吗?
是的,FBS-BookWriter 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
FBS-BookWriter 支持哪些平台?
FBS-BookWriter 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 FBS-BookWriter?
由 duhongchao-Fbsir(@duhongchao-fbsir)开发并维护,当前版本 v2.1.2。