zhangjiabo522/dsh-tool-doc ↗★ 0
@deepseek-ai/dsh-tool-doc
Model-facing document tools for DeepSeek Harness: read/create/edit PDF, DOCX, XLSX, PPTX, CSV and Markdown files (read_document, create_document, edit_document)
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zhangjiabo522/dsh-tool-doc说明文档
阅读完整 README ↗@deepseek-ai/dsh-tool-doc
English | 中文
面向模型的文档工具:不借助外部命令即可读取、创建、编辑 PDF / DOCX / XLSX / PPTX / CSV / Markdown 文件。
功能
在 ctx.tools 上注册三个工具:
read_document(file_path)— 读取 PDF(逐页文本层)、DOCX(mammoth)、XLSX(全部工作表及单元格值)、PPTX(逐页文本)、CSV(自动嗅探分隔符、支持引号转义)与纯文本(md/txt/yaml/json/log)。输出受maxTextChars限制(默认 200,000 字符),截断时带明确提示。扫描件/纯图片 PDF 无文本层,读不出文字。create_document(file_path, content)— 创建新文件:目标必须不存在(createIfAbsent 语义,修改已有文件请用edit_document)。DOCX/PDF 接受 Markdown-lite 的text(#/##/###为标题、-为列表),另有title与(DOCX)tables;XLSX 用sheets;CSV 用rows;md/txt 用纯text。PDF 会自动发现系统 CJK 字体嵌入(cjkFontPath配置可指定字体文件)。edit_document(file_path, operations)— 按顺序就地应用字面编辑。DOCX:replace_text(在单个文本 run 内匹配,count默认 1,'all'全部替换)与append_paragraph。XLSX:set_cell/append_rows/add_sheet(1 起始行列;省略sheet表示第一个工作表)。CSV:set_cell/append_rows。操作先整体校验,任一非法即中止,不会落盘。
旧版二进制 .doc / .xls / .ppt 不支持,工具会提示用户先转换。PPTX 只读。
文件系统边界
文本类格式(csv/md/txt 等)通过受治理的 ctx.fs 读写,沙箱策略、审批流程与观察事件与原生 read/write 工具一致。二进制格式通过 ctx.fs.readBytes 读取(受 readMaxBytes 限制,默认 50 MB),写入则经解析后的进程路径直接 node:fs 落盘(fs 边界只有文本接口);沙箱写策略不约束二进制写入。
配置
全部可选:maxTextChars(读取文本预算)、readMaxBytes(二进制读取上限)、cjkFontPath(PDF 创建用的显式 CJK 字体文件,fontkit 可打开的 TTF/OTF/TTC 均可)。
模型体验
工具 schema
模型看到每个工具的精确格式说明;edit_document 的操作列表是 oneOf,以常量 op 判别,模型对每种编辑操作都有明确契约。
调用历史与结果
读取结果带 信封(文本受预算截断);创建/编辑返回一行确认信息(字节数或各类操作计数)。错误是稳定的中文信息串,说明拒绝原因(旧版格式不支持、目标已存在、工作表不存在、未匹配到文本等)。