SuperAPI AI 工具集

opencode-writer

写作与研究

查看项目

更新于 10-16 08:54

技能介绍

OpenCode Writer 是一个写作编排技能,核心思路是不在 OpenClaw 容器内直接进行重计算或复杂文件解析,而是把任务交给 OpenCode,通过 opencode-bridge 完成文件落盘、容器启动、Session 复用与结果回传。

【用途与触发条件】 当满足以下任一条件时优先使用本技能:用户上传了 Excel、CSV、PDF、Word、PowerPoint 等文件并要求分析、汇总或写报告;用户明确要求数据建模、图表或精确计算;用户要求输出 Word(docx)或需要格式转换;发展规划、十五五、央企战略类长文,且用户已上传多份 Word 模版或手册,或目标不少于 15000 汉字。纯文本问答、简单润色等不满足上述条件的请求不应调用本技能。

【主要能力】 OpenCode 负责数据分析、图表生成与产物落盘(output/*);OpenClaw agent 负责读取产物后调用 feishu_doc 写文档、调用 feishu_media 发文件。技能支持文件上传、任务提交、结果解析、产物下载、飞书文档导出与文件发送,以及基于同一 Session 的增量修改迭代。

【使用方式】 强制执行方式为仅走 HTTP bridge,不允许 ACP。bridge 服务地址固定为 http://opencode-bridge:8000,默认强制鉴权,所有请求必须带 Authorization: Bearer $OPENCODE_BRIDGE_TOKEN。每次调用使用 {user} 作为用户隔离键,私聊优先使用飞书发送者 open_id,群聊可改用 chat_id 以共享同一工作区。 调用步骤:先 GET /ping 确认 Bridge 存活;再 POST /file/{user} 上传文件(multipart/form-data,字段名 file),记录返回的 path;然后 POST /task/{user} 提交任务(Content-Type: application/json,body 为 {"message":"纯文本;只写 input/ 下文件名,勿粘全文"});解析响应 JSON 中的 result、files、file_sizes;最后对 files 中每个路径执行 GET /file/{user}/<path> 下载产物。 发送给 OpenCode 的指令必须是纯文本,只引用 input/ 下文件名,不要把文件内容粘贴进指令。若用户要求生成 docx/PDF,必须在 /task 指令中明确要求生成 output/report.docx 和/或 output/report.pdf。指令中必须加入强制语句:先 ls output 校验文件名再结束任务、未生成全部指定文件前不得结束、每个文件回显一行 CREATED: output/xxx。图表默认强制中文化,除非用户明确要求英文。 超长文本自动分批:当用户要求总字数不少于 20000 或请求长篇报告且明显超过 2 万字时,禁止单次直出全文,必须自动拆批,每批目标 5000-8000 字(默认约 6000 字),产物命名为 output/report.partXX.md,全部完成后合并生成 output/report.md,如需 Word/PDF 再生成对应文件。任一批失败只重试该批。

【适用场景】 读取 Excel/CSV/PDF/Word 并输出报告;数据建模与图表生成;格式转换与 docx/PDF 输出;发展规划、战略类长文写作;结果同步到飞书文档或发送 docx/PDF 文件。

【限制与约束】 硬性禁止调用任何 sessions_spawn / acp / runtime="acp" / acpx 的 ACP 路径,即使用户提到 ACP 也按 Bridge 执行。禁止用本地 subagent 写 Python 分析代替 Bridge,除非用户明确同意改方案或 Bridge 连续不可用且已告知用户。禁止用 OpenClaw 的 exec/bash 在网关跑 python3、pandas、openpyxl、matplotlib 解析 Excel 或出图。feishu_doc / feishu_media 必须通过 agent 工具路由调用,不是 exec 可直接调用的 HTTP 接口。下载产物时只使用本次响应 files 列表作为白名单,禁止猜测文件名、请求目录或空路径。不要在 task 完成前提前 GET /file/...。若工具调用返回 error 或关键字段缺失,必须报告失败原因并说明已生成与缺失的文件,不得编造标题。