核心用法
Draft CLI(draft)是 InnoSage Draft PWA 的命令行接口,通过本地守护进程与浏览器标签页建立实时连接,支持对 Draft 工作区中的页面进行全生命周期管理。核心操作包括:
- 连接管理:
draft start-server启动守护进程,draft daemon配对浏览器标签,draft status --json验证连接状态(必须始终先执行)。 - 页面操作:
draft page ls/cat/create/append/replace/patch/publish实现列表、读取、创建、追加、段落替换、差异补丁及公开发布。 - 批注工作流:
draft page comments/comment读取用户高亮批注,draft workspace annotate在特定文本片段添加评论。 - 本地文件集成:
--mode workspace支持将本地.md文件映射为 Draft 评审表面,实现 repo-backed 协作。
所有功能默认以机器可读 JSON 输出(--json),便于自动化流水线集成。
显著优点
- 实时双向同步:守护进程-浏览器架构确保本地 CLI 与 Web 编辑器状态实时一致,避免版本冲突。
- 精准差异补丁:
draft page patch支持 Unified Diff 级精确编辑,配合sed预处理流程可安全修改已有段落。 - 批注驱动编辑:通过
draft page comment获取锚点上下文(±100 字符),实现评论到代码的精准映射。 - 灵活的部署模式:
local模式适合远程/无头环境,workspace模式适合本地 repo 文件评审,满足不同场景需求。 - 结构化输出友好:所有命令支持
--json,便于 CI/CD 集成和自动化工作流编排。
潜在缺点与局限性
- 单会话限制:守护进程同一时间仅支持一个浏览器标签页,切换环境需
stop-server后重建连接。 - 异步写入延迟:TipTap 编辑器异步接收变更,写入后需
sleep 2-3秒再读取验证,否则可能读到旧数据。 - PATCH_MISMATCH 风险:差异补丁必须基于
draft page cat的实时输出生成,本地编辑文件再 diff 会导致格式不匹配。 - 环境配置敏感:生产与 staging 需显式指定
--appURL,且必须通过clients[].origin验证,否则可能误操作错误环境。 - 远程环境限制:
--mode workspace需要共享文件系统,远程/OpenClaw 代理使用会阻塞发布并需人工干预。 - Beta 功能依赖邀请码:
page publish当前需要--invite-code,对自动化发布流水线构成潜在阻塞。
适合人群
- 技术写作团队:需要将 Markdown 源文件与可视化评审流程结合的内容创作者。
- 开发者与 DevOps:希望在 CI 中集成文档发布或自动化批注处理的工程团队。
- 产品/项目管理:依赖结构化文档同步决策、需要评论驱动迭代的协作型组织。
常规风险
- 数据一致性风险:异步写入模型下,并发编辑可能导致补丁基准失效,必须严格遵循"读取→补丁→延迟验证"流程。
- 环境混淆风险:
draft status --json仅报告连接状态,不验证 origin,需显式比对clients[].origin防止 staging/生产误切。 - 批注标记污染:
draft page cat输出的[:: User Note: ... :]内联标记会导致补丁失败,补丁前必须用sed清洗。 - 工作区越界风险:
workspace模式下路径解析受守护进程启动目录约束,跨目录操作会触发 scope rejection。 - 浏览器会话丢失:长时间运行后可能出现
BROWSER_NOT_CONNECTED,需建立自动重连机制。