Skip to content

Releases

dsh-doc-toolkit v0.2.1(DSH 兼容 >=0.1.5-rc.1,新增 engines.dsh)

Choose a tag to compare

@qingmumingyang qingmumingyang released this 19 Oct 12:54

修复 DSH 0.2.x 上无法安装:@deepseek-ai/dsh-tools peer 范围由 >=0.1.0-rc.12 <0.2.0 放宽为 >=0.1.5-rc.1。DSH 安装器把不满足的 DSH peer 视为拒绝安装(installation rejected),<0.2.0 上限会让 0.2.x 直接装不上。
新增 engines.dsh: ">=0.1.5-rc.1":DSH ≥0.2.1-alpha.4 优先读取该字段(存在时忽略 peer),更老的 DSH 回退到 peer。

  • dsh.compatibility.dshReleases 新增 0.2.0-rc.2 / 0.2.1-alpha.5 / 0.2.1-rc.1 / 0.2.1-rc.2 实测 compatible。
  • devDependency @deepseek-ai/dsh-tools 升到 0.2.1-rc.2;新增 2 条清单一致性回归测试(共 81 例全绿)。
  • 运行时行为、工具契约、cjkFonts 配置均无变化,属纯声明更新。

实测通过:0.2.1-rc.2、0.2.1-rc.1、0.2.1-alpha.5、0.2.0-rc.2、0.1.7-rc.2/rc.1/alpha.2、0.1.5-rc.3/rc.1
(CLI 安装 + 配置合成 + 加载注册 + CSV/DOCX/XLSX/PDF 四格式往返)。

完整变更见 CHANGELOG 的 [0.2.1] 段。

dsh-doc-toolkit v0.2.0(零运行依赖 + 全部 I/O 走 ctx.fs,通过 DSH STORE 自动策略)

Choose a tag to compare

@qingmumingyang qingmumingyang released this 25 Sep 16:57

主题:零运行时依赖 + 全部文件 I/O 走宿主 ctx.fs,通过 DSH STORE 固定源自动策略(可上架、可自动更新)。


⚠️ 破坏性变更

  1. 环境变量 DSH_CJK_FONT 已移除 —— 字体候选改由 Cordis 插件配置提供:

    • insert:
      • id: dsh-doc-toolkit
        name: dsh-doc-toolkit
        config:
        cjkFonts: ['C:\Windows\Fonts\msyh.ttc']

    原因:DSH STORE 的固定源自动策略把运行源码里任何进程环境变量读取记为 credentials 权限信号。

  2. 写入受会话沙箱约束 —— 读写全部改经宿主 ctx.fs:读取不受限制(工作区外的文档照常可读),
    但写入在 workspace-write(默认)下只能落到会话工作区内或临时目录,read-only 直接拒绝,
    danger-full-access 不限制。需要写工作区外时请把会话切到完全访问模式。

  3. 运行时依赖清零 —— pdf-parse / mammoth / xlsx / docx 移入 devDependencies,仅作测试对照
    (oracle),安装插件时不再安装、运行时不再加载;DOCX/XLSX/PDF 的解析与生成改为本仓库自研实现,
    覆盖面因此收窄(见下方"已知边界")。

  4. 加密 PDF 一律报错 —— 包含"只设所有者口令、用户口令为空"这类 pdf.js 能读的文件;
    并且不再可能静默产出损坏文件。

变更

  • 新增自研 ZIP(纯 ASCII 的 STORED 归档:用补白 + 合法扩展字段把 CRC/大小/偏移也收进 ASCII)、
    自研 OOXML(DOCX/XLSX 读写)、自研 PDF 文本提取(xref 表/流、对象流、Flate 含预测器、
    ASCIIHex/ASCII85、内容流文本算子、/ToUnicode、/Differences 字形名,xref 损坏时回退全文件扫描)。
  • PDF 生成产物为纯 ASCII(二进制字体流编码为 ASCIIHexDecode),中文可复制、可搜索。
  • 随包 Skill 正文内嵌,插件加载期零文件访问。
  • 导出 Cordis Config(Schemastery);补齐 dsh.pluginType、dsh.compatibility、peerDependenciesMeta、
    分类 keywords;Tool 卡片契约(presentCall / presentResult,纯函数)。
  • 新增 PERMISSIONS.md(依赖/权限/外部服务/失败边界声明)、SECURITY.md、CHANGELOG.md;
    CI 增加阻断性的 DSH STORE 固定源策略门禁。

修复

  • TTC 集合字体(.ttc)解析错误:表偏移应相对整个文件(子字体借此共享 glyf/loca),
    原实现多加了子字体目录偏移,导致中文 PDF 静默写出全是 .notdef 的内容。
    影响 Linux(wqy-zenhei.ttc)与 macOS(PingFang.ttc);Windows 先命中 simhei.ttf 所以看不出来。
    另加三道守卫:numGlyphs === 0 直接报错、"零覆盖"子字体不可用、候选字体必须至少覆盖一个非 ASCII 字符,
    否则不生成文件而不是产出坏文件。
  • 测试套件不再依赖 Node 20.15+ 才有的 zlib.crc32(改用版本无关的标准 CRC-32 校验向量),
    Node 18 矩阵恢复通过。

已知边界

能力 不覆盖
PDF 文本提取 不解密;不解析 CFF/Type1 字形名表;不建模竖排与 Type3 字形矩阵;图像滤镜无文本;不处理标签化 PDF 的阅读顺序
PDF 生成 仅 TrueType 轮廓(TTF/TTC),不支持 CFF/OTF
DOCX 不解析批注/修订/文本框
XLSX 不计算公式(返回缓存值);'007'→7 这类数字写法会按 Excel 口径规范化(需要保留前导零请用 CSV)

安装 / 升级

dsh plugin --profile web add https://github.com/qingmumingyang/dsh-doc-toolkit

(已安装过的用户用 dsh plugin --profile web remove dsh-doc-toolkit 再 add,或按 DSH 文档升级;
link: 本地安装的用户 git pull 后重启 DSH 即可。)

实测兼容的 DSH 版本

0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.5-rc.3、0.1.5-rc.1
—— 均通过"一次性 DSH_HOME 安装 + --dump-config 配置合成 + 用该版本真实 @deepseek-ai/dsh-tools
加载并注册两个工具与 Skill"三项检查。

质量与合规

  • npm test:79 例全绿(含以 mammoth/xlsx/docx/pdf-parse 为对照的用例、
    真实 dsh-fs-local 后端契约用例、以及"源码不得出现直接文件访问 / 环境变量读取 / 凭据记号"的合规回归)
  • npm run verify:publish-policy:零确定性原因(零运行依赖、六个权限信号全 false)
  • CI:Node 18 / 20 / 22 三个矩阵全绿

完整变更历史与逐条验证记录见 CHANGELOG.md
与 PERMISSIONS.md。

dsh-doc-toolkit v0.1.1(兼容 v0.1.0-rc.12 → v0.1.2-alpha.5)

Choose a tag to compare

@qingmumingyang qingmumingyang released this 04 Sep 18:33

在原有 DSH v0.1.0-rc.12 支持基础上,新增对 DSH 0.1.2-alpha.5 的适配并实测通过。
README 新增 DSH 0.1.2-alpha.5 安装指引。
版本号 0.1.0 → 0.1.1。

安装:dsh plugin --profile web add https://github.com/qingmumingyang/dsh-doc-toolkit

dsh-doc-toolkit v0.1.0 初代版

Choose a tag to compare

@qingmumingyang qingmumingyang released this 23 Aug 18:56

✨ 初代版

DSH 文档读写工具包 —— 让 AI 助手直接读写 PDF / DOCX / XLSX / CSV,并支持中文 PDF 导出。

🎯 功能特性

  • 读取:read_document 读取 PDF / Word (.docx) / Excel (.xlsx) / CSV,支持大文件分页(offset / limit)
  • 写入:write_document 生成 DOCX / XLSX / CSV / PDF
  • 中文 PDF 导出:自动查找并子集化嵌入系统中文字体(TTF/TTC),文本可复制、可搜索
  • PDF 排版:A4 页面、自动换行分页、表格(首行表头、跨页重复表头)
  • 内置 Skill:插件加载时自动注册 doc-toolkit-usage,AI 知道何时及如何使用

🛠️ 安装

dsh plugin --profile web add https://github.com/qingmumingyang/dsh-doc-toolkit
无 dsh 命令时,见仓库 README 的「桌面版手动安装」方式。