편집자 노트

kw78/dsh-office-tools

Model-facing Office tools for DeepSeek Harness: Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) create/read/update with workspace-safe paths and PPT image embedding.

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

dsh-office-tools

为 DeepSeek Harness 提供 7 个模型可调用的 Office 文件工具,全部运行在 host 半。

npm version ci License: MIT 已收录于 awesome-dsh-plugin

安装:dsh plugin --profile web add github:kw78/dsh-office-tools

工具作用依赖
word_create创建 .docx(标题、段落、项目符号、一个表格)docx
word_read提取 .docx 纯文本mammoth
excel_create创建多 sheet 的 .xlsx(标量单元格网格)SheetJS (xlsx)
excel_read读取一个或全部 sheet,返回标量行SheetJS
excel_update就地替换/新建整张 sheet,或按 A1 地址写单元格SheetJS
ppt_create创建 16:9 .pptx(标题页、标题、段落、项目符号、备注、PNG/JPG/GIF 图片)pptxgenjs
ppt_read按页提取 .pptx 段落文本、演讲者备注与图片数量jszip

框架接入方式

插件遵循 DSH 标准 host 插件契约:

  • 模块导出 name / inject / apply;本插件 inject = ['tools'],唯一运行时依赖是 ctx.tools@deepseek-ai/dsh-tools)。
  • apply(ctx) 中用 ctx.effect(() => ...) 包裹 ctx.tools.register(defineTool({...})),Cordis fiber 卸载时自动 dispose。
  • defineTool 统一声明 parameters(模型可见 JSON Schema)、output.schema(强制校验的规范 JSON 值)与 output.render(模型看到的文本投影)。
  • 每个 execute(args, exec)exec.agent.session.header.cwd 取会话工作目录;相对路径按该目录解析,绝对路径只接受仍位于工作目录内的路径,并对最近存在的祖先做 realpath 校验防止符号链接逃逸。
  • 图片文件必须位于会话工作目录内(.png/.jpg/.jpeg/.gif,单张上限 20 MiB);可显式指定英寸坐标 x/y/w/h,省略时自动放在文本下方。
  • 写文件采用同目录临时文件 + rename 原子落盘;overwrite 默认 false,防止误覆盖。

构建

pnpm install
pnpm run check   # typecheck + tests + build

构建产物:lib/index.js(host ESM,Office 依赖内联,@deepseek-ai/*/cordis 保持 external)与 lib/types/**/*.d.ts

安装

# npm(推荐)
dsh plugin --profile web add dsh-office-tools

# GitHub 源码
dsh plugin --profile web add github:kw78/dsh-office-tools

# 本地目录
dsh plugin --profile web add /path/to/dsh-office-tools

安装后重启 DSH 服务。模型下一次组装提示词时即可看到 7 个工具。

社区索引

  • awesome-dsh-plugin / dsh-market 的登记块见 docs/hub-registration.md
  • 仓库 topics 建议:dshdsh-plugindeepseek-harnessoffice

安全边界

  • 所有读写都限制在发起调用的 agent 的会话工作目录内。
  • 读取文件上限 50 MiB,文本/单元格结果有上限并标记 truncated
  • 创建/更新有行数、单元格数上限,且默认不覆盖已有文件。
  • 不调用 LibreOffice / PowerPoint / Word 等外部进程,所有格式均通过纯 JS 库生成/解析。
REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.