DeepSeek Harness (DSH) 永久插件:dsh-light-tool (DLT)

前言

DeepSeek Harness (DSH) 的设计理念是“一切皆插件”。在使用过程中,开发者通常面临三个具体痛点:无法直观看到每轮对话的金额消耗、需要手动编写脚本才能处理文档或管理复杂的编译运行环境。dsh-light-tool (DLT) 是一个 DSH 永久插件,由 LLYlab 维护。它通过六个核心模块解决上述问题:提供人民币成本追踪与账户余额显示、提供 PDF/Word/Excel 直接读写与预览工具、管理编译运行环境表与直接执行程序。

核心功能

DLT 包含以下六个主要模块,每个模块均可独立开关:

  1. 人民币成本:在对话结束后的用量胶囊旁边显示本轮花费,支持点击查看 token 明细与会话累计。
  2. 账户余额:右下角常驻显示 DeepSeek 账户余额,支持拖动与点击强制刷新。
  3. 文档工具:让模型直接读写 PDF / Word / Excel / CSV,无需额外脚本;支持 PDF 往返链(转 Word 改后转回)。
  4. 右栏预览:点击工作区文档可直接在右栏预览,PDF 由 DSH 产品自带渲染器负责。
  5. 环境表:管理工具链路径(VS 安装根 / Python / Office / Edge),支持自动探测与系统提示注入,避免模型自行探测。
  6. 直接执行:提供 dlt_run 与 dlt_build 工具,支持在指定环境直接运行程序或编译工程。

安装与启用

DLT 在 package.json 中声明了 dsh.bundle.patch,安装后会自动合并到当前 profile 的 bundle 层,无需手动修改配置文件。

推荐使用 npm 安装:

dsh plugin --profile web add dsh-light-tool

安装完成后,重启 DSH,插件将出现在「设置 → 插件清单」中。

运行期开关

DLT 提供了一个运行期开关管理器,位于设置页面。

  • 即时生效:在设置页修改总开关或分模块开关,无需重启,插件会立即卸载/加载对应的模型工具(如 dlt_run 等)与界面组件。
  • 持久化:开关状态会写入 <DSH_HOME>/dlt/switch.json(默认路径),重启后保持。若文件损坏,将回退到配置文件的默认值。
  • 配置优先级:cordis.patch.yml 中的 config 仅提供首次运行的默认值;一旦在设置页修改过开关,后续以 switch.json 为准。

典型用法

DLT 提供了以下模型工具函数:

  • dlt_run(env, program, args, cwd, timeoutMs, stdin)
    在指定环境执行程序,返回 stdout/stderr 和退出码。例如 env=msvc-x64 会自动注入 vcvarsall,使 cl 和 link 命令可用。

  • dlt_build(target?, configuration?, platform?, rebuild?)
    调用 MSBuild 编译工程,支持指定目标、配置、平台及重建选项。

  • dlt_doc_read(path, mode?, pages?, sheets?, range?, formulas?, maxRows?)
    读取文档内容。支持 PDF(逐页文本)、Word(段落+表格)、Excel(行列数据)及 CSV。

  • dlt_doc_write(path, action?, ops?, spec?, out?, chain?, replacements?)
    写入或修改文档。写操作会自动在同目录备份为 .bak-YYYYmmdd-HHMMSS.<ext>。支持 PDF 往返链(chain=word)及各种文档格式转换。

  • dlt_doc_convert(path, to, ...)
    格式转换。例如 to=docx|html(从 PDF),to=pdf(从 Word/Excel),to=png(PDF 某页出图)。

依赖与系统要求

DLT 依赖本机已安装的软件与 Python 环境:

  • Python:必须安装 Python 3.12。
  • Python 库:需安装 pymupdf、pypdf、python-docx、openpyxl、pdf2docx、pywin32。
  • Office 与 Edge:文档导出与 HTML→PDF 转换依赖本机已安装的 Office COM 组件与 Microsoft Edge。

配置项

DLT 的配置通过 cordis.patch.yml 中的 config 字段进行整块替换(非深合并)。主要配置项包括:

  • 开关:enabled(总开关)、cost、balance、documents、preview、environment、run(各模块默认值)。
  • 环境:pythonEnv(解释器路径)、environments(环境表路径覆盖)。
  • 缓存:cacheDir(定价与余额快照目录)、balanceCacheMs(余额缓存时长)。
  • 执行:docTimeoutMs、runTimeoutMs、maxOutputBytes(输出上限)、defaultSolution、defaultConfiguration、defaultPlatform。

结尾

DLT 是一个功能完备的 DSH 永久插件,覆盖了成本监控、文档处理与开发环境管理的核心需求。通过运行期开关与配置覆盖机制,它能够灵活适配不同的工作流。更多实现细节与测试用例可参考其 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜