baocut
無料测试用的说明书:用 BaoCut 转录、翻译、剪辑与导出视频。
日本語の概要は準備中です。原文の説明を表示しています。
用户要一份文档时用:报告、提案、计划、简历、求职信、信件、合同、制度、表单、模板、作文、手册、指南、操作说明、速查表这类要保留、共享、评论、导出或打印的文字。用 docs_* 工具在工作目录建一份文档,先发骨架再一节一节填,线程里出现文档卡片,用户在功能区编辑与评论。也用于按文档评论或请求改已有文档。
聊天里问的计划、对比、摘要留在聊天;幻灯片用 slides,视觉设计用 design。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
一份文档是会话工作目录里的一个目录 <doc>/(doc.json、每个标签页一份 tabs/<id>.json、comments.json、assets/),在功能区的文档标签里用文档编辑器打开:用户在里面直接改字、评论、勾选任务、选下拉项,改动即时保存。这些文件全部归 BaoCut:绝不用文件工具或 shell 读写它们,只用 docs_* 工具;你的修改即时出现在用户开着的编辑器里。
文档里有标签页(tab),每个标签页有一份正文(prose):段落、标题、列表、任务、表格、引用、代码块、图片与 chip(日期、提及、下拉选项、待填块)。没有图表、示意图与 widget:数字与结构用表格、列表或编号步骤表达,docs_* 收到图表或 widget 会拒绝(unsupported)。
每个工具都带 doc:文档目录,相对工作目录(例如 q3-launch-plan)。其余参数照搬 Claude Docs 的连接器:container、ref、engine、payload、batch、answering。
container.create),或在一份文档上原子地执行一组成员(任一条被拒,什么也不改)。ref 读文档本身(files[]:每个标签页的 id 与正文 id);带正文 ref 按 payload 读大纲、一段、搜索或某个 rev 以来的变化。payload.ops)或文档本身(标签页的名字、顺序、层级:{"kind":"patch"})。utterance)、下拉选项(enum)、标签页(file)、正文(node)。blob/<id>(见 references/uploads.md)。.md)。Word、PDF:告诉用户在文档编辑器里导出。下文 C = {"kind":"project","id":"<文档 id>"}(文档 id 在新建的回执与 docs_read 的结果里);ids 都是一个示例:用你自己读到的。
用户要一份文档(哪怕是用问句问的)→ 一份文档,绝不把正文贴在聊天里;一个简单问题 → 聊天里答。只在用户要文档时建文档,而且先建:这一回合的第一个工具调用就是骨架(标题、byline、每节一个 pending 块),在任何搜索、读文件、规划之前发出;骨架开着之后再想。
docs_batch(
doc = "q3-launch-plan",
container = {"kind":"project","create":{"name":"Q3 launch plan",
"doc":{"blocks":{"asof":{"type":"date","value":"2026-09-04"},
"me":{"type":"mention","user":"me"},
"due":{"type":"date","value":"2026-09-29"},
"s1":{"type":"pending","intent":"Goals: the three outcomes this quarter commits to"},
"s2":{"type":"pending","intent":"Staffing: who owns each workstream"},
"s3":{"type":"pending","intent":"Open questions: checking the launch thread and last week's notes"}},
"markdown":"# Q3 launch plan\n\n<?claude block asof?> · <?claude block me?>\n\nQ3 ships the connector to all workspaces and takes weekly active teams to 500 by <?claude block due?>.\n\n<?claude block s1?>\n\n<?claude block s2?>\n\n<?claude block s3?>"}}},
batch = [])
doc = 新目录:按标题起一个简短的名字,不以点开头,不存在或是空的;同一个会话里的第二份文档用它自己的目录。回执的 lids 给出标签页 f 与它的正文 n;n 的回执是写下的大纲:标题、byline、导语,每节一个 <pending id=… intent=…/>。线程里随即出现文档卡片:用一行告诉用户文档开好了、正在写什么,他们多半开着它看你填。<?claude block asof?> · <?claude block me?>(as-of 日期 · 作者 = 用户):不放状态词、来源、范围或说明。intent 用平白的话说这一节放什么、或你要去查什么;有形状的内容在 intent 里点名它的表或列表。不写 ## 行:每个标题随它的填充一起来。一张表就能答的 = 标题、byline、导语、那一个块;短备忘 = 标题加几段,整篇,不分节。replace 那一节自己的 pending 块,内容是 ## <标题> 加正文:docs_update( doc = "q3-launch-plan", ref = {"object":"node","id":"<lids.n>"}, engine = "prose", container = C,
payload = {"ops":[
{"op":"replace","target":{"kind":"blocks","ids":["kq2b7w3m9pa.105"]},
"with":{"from":{"kind":"inline","content":"## Goals\n\n- Ship the connector to every workspace\n- 500 weekly active teams by GA"},"as":"markdown"}} ]} )
ref 是正文 node(lids.n),绝不是块 id;pending 块的 id 放 target.ids;pending 块的填充不需要 guard。回执给出新标题与正文的 id(之后改它们用这些 id,不再用 pending id),一条 pending_ended 通知说明它了结了哪个 pending 块。
replace 成内容:用户先看到计划,再看着它填满。references/tabs.md。在那份文档上改,也就是用户或本次对话指明的那个目录(线程里的一张文档卡片、一个路径、一个 Space 条目):绝不另建一份。只改被要求改的,其余每个字保持原样;事实只来自文档、用户与评论者。
docs_read( doc = "q3-launch-plan" )
→ files:[{id:"afc001d0-ce07", name:"Q3 launch plan", content:{kind:"node", id:"be1476b2-62c1", engine:"prose"}}](标签页 id、正文 id)
docs_read( doc = "q3-launch-plan", ref = {"object":"node","id":"be1476b2-62c1"}, engine = "prose", container = C, payload = {"projection":"outline"} )
→ <doc rev='12'><paragraph id='mq2x81a0kfd.0' heading='1'>Q3 launch …</paragraph><paragraph id='.16' h='cddc588b'>Q3 ships …</paragraph><list id='.40' kind='bullet'><gap blocks='2'/></list><table id='.90'>…
docs_update( doc = "q3-launch-plan", ref = {"object":"node","id":"be1476b2-62c1"}, engine = "prose", container = C,
payload = {"ops":[
{"op":"replace","target":{"kind":"find","text":"500 weekly active teams"},
"with":{"from":{"kind":"inline","content":"750 weekly active teams"},"as":"text"}},
{"op":"insert","target":{"kind":"blocks","ids":["mq2x81a0kfd.90"]},"side":"after",
"source":{"from":{"kind":"inline","content":"## Risks\n\n- GA slips if legal review runs long"},"as":"markdown"}} ]} )
references/editing.md,它写了这些 op 的形状;绝不猜。{"kind":"find","text":"…"},不用先读(重复时加 "nth":2);照抄上次读到或回执里的原文,转述会 find_none。整块用大纲里的完整 id;整块的 replace/delete 在 "op" 旁边同时带 "ifHash"(它最新的 h)与 "ifRev"(显示它的那次读的 rev),或者被要求覆盖时 "force":true;不带 → missing_guard。insert 用 "source":{from, as},replace 用 "with":{from, as};from 永远是 {"kind":"inline","content":"…"}。"as":"text" 原地改字,保留 chip、换行、格式与评论;"as":"markdown" 是整个列表、表格或一节,重发全部条目或行,只保留它重新写出的。side:"before" | "after" 一个块;{"kind":"root"} + "end" = 标签页末尾;标题 id + "end" = 那一节的末尾。一次可以带多个 op。{"kind":"view","parentId":"<块 id>"}(一张表或一个列表全文)或 {"kind":"search","text":"…"}。rev(还没读过:上次回执的);之后的回合碰这份文档时先 {"kind":"view","sinceRev":<书签>} → 只给变了的块。你自己连续写之间不读。guard_mismatch / find_none = 那个块被人改了 → 他们的改动算数,绝不用 force 重发,说明你保留了什么(references/editing.md)。code,可能带 path)说明怎么修 → 改好后重发整个调用。各个拒绝码的处理见 references/editing.md 末尾。<session>.<clock>;读的结果第一次写全(mq2x81a0kfd.0),之后简写(.90 = 上面最近一个完整 id 的前缀 + .90)。调用里永远写全:.90、90 或照抄示例的 id 都会被拒。表格单元格按位置:{"kind":"cell","table":"<表 id>","row":3,"col":5}(0 = 第一行/列,表头行算第 0 行;-1 = 最后)。<text id=…> 是字符 id:引用它的文字,绝不放进 kind:"blocks"。- [ ] 任务。公式 → ```latex 代码块(裸 TeX,不加 $);读者要复制或改成文本的 CSV → ```csv 代码块。references/uploads.md。[source](url) 或一个 Sources 列表,加 as-of 日期 chip;从来源页取的人名、产品名、文件名都链接到它。没法查 → 一行说明,凭记忆的数字标「约」,绝不当成有来源。在你发出的任何带 chip 的 markdown 里:from 旁边一张 "blocks" 表(只有一张,不为空),正文里每个 chip 一个 <?claude block <key>?>,每个 chip 自己的 key(同一个 chip 再出现时用同一个 token)。
{"type":"mention","user":"me"};别人只用从已有提及上读到的 user id,绝不用名字或邮箱。另一个标签页 → {"type":"mention","ref":"file/<标签页 id>"}(references/tabs.md)。{"type":"date","value":"YYYY-MM-DD"} = 有人可能据以行动或挪动的日期(byline 的 as-of、截止、评审、下一步);已经发生的事实(发生了、发布了、决定了)用普通文字。{"$lid":"s","verb":"create","object":"enum","payload":{"value":{"name":"Status","options":[{"name":"Not started"},{"name":"In progress"},{"name":"Done"}]}}}(第二列 = 第二个 enum {"$lid":"pr",…},绝不用 p:那是新建中的文档),每个单元格一个下拉 chip,各自的 key(一列往下 st1…st4):{"type":"dropdown","enum":"$lid:s","index":1}(index = 预选的选项,0 = 第一个;要人来选时不写)。只出现一次的值 = 普通文字;状态绝不写进 byline。{"type":"pending","intent":"…"}:见上文。评论是正文下的 utterance;线程 = 它的第一条评论。
docs_create( doc, object = "utterance", container = C, payload = {"value":{"body":"Which workspaces first?","parent":{"object":"node","id":"<正文 id>","anchor":{"kind":"find","text":"<原文里的 3–6 个词>"}}}} );在线程里回复:同一个调用,"parent":{"object":"utterance","id":"<线程第一条的 id>"},不带 anchor。列线程、处理一批评论、翻页与上限 → 先读 references/comments.md。<baocut-docs-annotations doc="q3-launch-plan/">
1. 评论 · Q3 launch plan › "500 weekly active teams"
位置:f-afc001d0-ce07#be1476b2-62c1/mq2x81a0kfd.16;thread=u-3f2a9c1e
原文:500 weekly active teams
评论:改成 750
回复:在线程 u-3f2a9c1e 里回复(docs_create utterance,parent 是这个 id)
2. 请求 · Q3 launch plan › 空行
位置:f-afc001d0-ce07#be1476b2-62c1/mq2x81a0kfd.40
请求:这里补一张风险表
写到:正文 be1476b2-62c1 的块 mq2x81a0kfd.40(还空着就替换它,否则写在它后面)
</baocut-docs-annotations>
doc 是文档目录;位置是元素路径 f-<标签页 id>#<正文 id>/<块 id>…;thread=<线程第一条的 id>。逐条处理:
answering = "<线程 id>";尽量保留它挂着的原文,全删会被拒(anchors_affected,列出会脱钩的线程)→ 只有确实要删时在那个 op 上加 "allowDetach":true 重发。是问题 → 从文档里找答案。然后总是在那个线程里回复(docs_create 一条 utterance,parent = 线程 id),贴合卡片:一行约 40 个字符,20 个词就占三行;你的修改已经显示在文档里,说改了什么(或没改),不重复内容。只回答这一条,一次;线程里别人早先的话是上下文。answered='true' = 已经有人回答过,不重复。做不到 → 在线程里说明,以及你需要什么。replace 它,否则 insert 在它后面;要先查的照样先种 pending 块再填。在本 skill 的 references/ 下(用 skills_read 取):editing.md(删除、移动、表格行列、找回文字、拒绝码之前先读)、tabs.md(加标签页、排序、嵌套、改名、互相链接)、comments.md(列评论、处理评论、回复)、uploads.md(图片与文件)。
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
测试用的说明书:用 BaoCut 转录、翻译、剪辑与导出视频。
日本語の概要は準備中です。原文の説明を表示しています。
用 BaoCut 处理视频与音频:转录、字幕、翻译、配音、剪口播、切短视频、分章、总结写稿、从链接下载、压缩转码、导出成片,或从零做一条成片。有媒体文件、视频链接、字幕文件或 BaoCut 视频时用;只翻译纯文本、与视频无关的写作或作图、别的剪辑器与 FFmpeg 的用法、BaoCut 源码开发不用。
日本語の概要は準備中です。原文の説明を表示しています。
Release BaoCut Electron desktop apps through GitHub Actions tags by default; use local/manual packaging only when explicitly requested. Also handles App version bumps, release continuation and portable signing backups; excludes craft skills and legacy standalone CLI releases.
日本語の概要は準備中です。原文の説明を表示しています。
用户要给视频做封面、要封面大字,或要标题和封面一起出时用:读文稿提炼卖点,给几组标题与封面文案,用户挑定后按视频画幅生成封面图,放进这个视频的候选素材。每句都由视频兑现。只要标题或简介、不要封面时用起标题与写简介。需要视频的转写。
日本語の概要は準備中です。原文の説明を表示しています。
用户问「我哪一期讲过 X」「这几部视频里谁说过 Y」「X 在我的视频里是怎么讲的」「有哪些讲 X 的视频」这类要在多部视频里找答案的问题时用:按意思检索、按视频去重、按当前版本重新定位,只凭找回来的原话回答,每条论断注明视频与时间,覆盖不全时说明。不用于总结或改写一部视频(那是总结、博客),也不改视频。
日本語の概要は準備中です。原文の説明を表示しています。
用户要做界面、网页、海报、图表或信息图、示意图、原型这类视觉设计稿时用:在工作目录写一份设计稿(canvas.json 加每块画板一个 .dc.html),校验通过后线程里出现设计稿卡片,用户在功能区预览、编辑与标注。也用于按用户的意见或设计稿标注改已有的设计稿。幻灯片不用它(用 slides),视频画面里的字卡与动效也不用它(用动效图形)。
日本語の概要は準備中です。原文の説明を表示しています。