dsh-ops
中文 | English
OPS 为 DSH 增加有界文件与文档工具。Native 模式返回紧凑、带行号的文本;PTC 代码从同一个按调用启动的 Rust worker 获取类型化 Outcome。宿主集成使用严格 TypeScript,编译后保持已有 JavaScript 包路径。
[!IMPORTANT] 本分支是 0.4.0 发布候选,尚未发布。已批准的验收范围为:BM-01 相比 OPS 0.3.x 输出减少至少 40%,官方读取另列对照;BM-03 对文件/发现 schema 执行 400 token 上限,同时保留 Bash 启动常驻并单列完整总数。最终实测证据与功能 CI 缺一不可。 详情见发布状态与限制。下方
@latest命令安装已发布版本;评估候选版本需自行构建本检出目录并打包。
- Native 默认提供
ops_read_files与ops_discover_tools;三个平台的默认 profile 都启用 shell 行并提供ops_bash。高级工具在所属 agent 的下一次供应商请求中激活。 - PTC SDK 目录包含 18 个 API:15 个文件/文档工具,加批处理、结果引用和加载器。仅暴露配置为常驻或已选择的 API;Native 与 PTC 分别提供自己的输出形式。
- 可按需发现有界 CSV/TSV、DOCX 主体段落与受限 PDF 文本层读取。尚不支持二进制 DOC、OCR、通用 PDF 渲染、网页搜索或 HTML 抓取;使用前请查看文档格式限制。
- 七个组件独立启停,保留已有 profile ID 与配置。逐工具官方替换默认关闭。设置提供严格校验的内置表单;可选浏览器页面需显式执行离线承载行迁移。
- shell 组件在三个平台默认开启:Windows 使用主包声明的固定 bash 载荷——
optionalDependencies中的@dsh-ops/bash-win32-x64@0.2.1,npm 安装时自动拉取 ops 自带的独立 bash 5.3.15(PortableGitv2.56.0.windows.2),也可用bashPath把ops_bash指向 git bash;Linux/macOS 使用发行版自带 bash,可用config.bashPath覆盖。dsh-ops bash-runtime install保留为安装/修复与选择受管理副本的路径。PowerShell 仍由宿主管理;升级命令先预览标准安装,仅加--yes才执行。
OPS 只发布自身作用域内的工具与可选路由提示,不改写共享工具注册表。每次调用均检查权限与取消状态。Windows 受限 Bash 仍存在文档注明的部分约束与运行时兼容性限制。
历史 token 节省说法不能证明本候选版本通过发布门禁。ops 指广义 operations(运行操作),并非运维/SRE 产品。
安装、更新、卸载
官方插件市场
在目标 DSH 应用的插件市场中输入 npm 包名 dsh-ops,选择自定义地址,输入 https://mirrors.huaweicloud.com/repository/npm/,安装后选择启用。目前不推荐用 npmmirror 安装,有 bug。
当然,如果你确定可以连接 npm 官方源那就选择官方源,如果你不确定那就按教程操作。

npm 一键安装
安装方法
npx --yes dsh-ops@latest install --profile desktop
npx --yes dsh-ops@latest install --profile web
npx --yes dsh-ops@latest install --profile tui
必须显式选择目标 profile;tui 映射到 dsh-TUI 产品的 dsh-tui profile,不是旧的 tui 目录。请先初始化目标应用。该入口委托官方 DSH CLI 安装,不另写一套 profile 锁与回滚逻辑。
桌面端必须使用桌面应用自带的 CLI;默认探测 %LOCALAPPDATA%\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd。安装在其它位置时加 --dsh-cli "<安装目录>\resources\runtime\cli\bin\dsh.cmd"。Web/TUI 需要可用的 DSH CLI,可同样显式指定。
安装或卸载时可加 --dry-run 预演。它按指定路径或 PATH(Windows 同时使用 PATHEXT)解析 CLI,检查文件、POSIX 执行权限及通过 Node 启动的入口文件,并在预演时同样拒绝不安全的 Windows 命令脚本路径;检查失败返回非零。预演只打印计划,不启动 CLI、不修改 profile。成功表示这些静态检查已通过,不保证所选程序的身份、版本、profile 兼容性或后续安装结果。
也可以直接使用官方命令:
dsh plugin --profile web add dsh-ops
dsh plugin --profile dsh-tui add dsh-ops
"<桌面安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-ops
普通 DSH CLI 不能管理保留的 desktop profile;不要把它与桌面自带入口混淆。
更新方法
重新运行相同的 npx --yes dsh-ops@latest install --profile ...,或用官方 CLI add dsh-ops@latest。按应用提示重载;替换已加载代码时重启应用。
卸载与查看状态
npx --yes dsh-ops@latest status --profile desktop
npx --yes dsh-ops@latest uninstall --profile desktop
把 desktop 换成 web 或 tui 即可。也可在市场卸载,或执行官方 dsh plugin --profile ... remove dsh-ops。插件依赖(含 Windows bash 可选载荷)随 profile 管理;单独 provision 的 Bash 用 dsh-ops bash-runtime remove --yes 移除,不误删系统 shell、其它 profile 的副本或包管理器共享缓存。
旧版显式 provision 的 <DSH_HOME>/dsh-ops/ 文件(provision 的 shell,以及早期版本可 provision 的 FastCtx 运行时)需单独清理:npx --yes dsh-ops@latest uninstall --yes。已移除的后台组件留下的 ~/.fastctx/ 状态默认不删;需要时显式加 --purge-fastctx。
原 dsh-ops/background 组件(FastCtx 后台任务)已移除。仍保留该行的 profile 照常加载:该行不发布任何工具,只记录一条警告,可直接删除。
可选 OPS 只读侧栏
在 dsh-TUI 中启用 dsh-ops/tui 行并重启,即可添加 OPS 侧栏;不抢焦点,不执行额外工具调用。没有 tuiPanels 的宿主仅让该可选行等待,不影响其它组件。见 侧栏说明。 聚焦后可用 f 筛选、n/p 本地翻页、a 确认跨会话提醒;只浏览有界保留元数据,不拉取结果分页。
文档
许可证
插件源码分发采用 MIT AND Apache-2.0:licenses/fastctx/ 之外为 MIT;FastCtx 为 Apache-2.0。见 NOTICE、licenses/fastctx/LICENSE-APACHE 与 licenses/fastctx/NOTICE。
独立的 Windows bash 载荷包(npm 可选依赖 @dsh-ops/bash-win32-x64)另按上游组件许可证分发:Git for Windows 包含 GPL-2.0 等许可组件,其原始许可证、声明及来源记录随载荷保留;PowerShell 由宿主管理,按其 MIT 与第三方组件许可分发。插件的 MIT 许可不替代这些许可。详见 PROVENANCE.md。
致谢
Rust 工具基于 yc-duan 的 Codex 插件 FastCtx 并使用其源代码。vendor 标识与删除型分发改动曾记在 vendor/fastctx/FORK.md 和 vendor/fastctx/UPSTREAM.md,它们保留在仓库历史和早期发布版本中;vendored 源码本身已随后台组件一并移除。需要转载的 FastCtx 声明如下:
This product includes FastCtx (https://github.com/yc-duan/fastctx), Copyright (c) 2026 yc-duan, used under the Apache License 2.0.
FastCtx is redistributed and/or modified here by the maintainer of this distribution. Any such change is that maintainer's own work and their sole responsibility. It is not endorsed by, not supported by, and not attributable to the author of FastCtx, who accepts no liability of any kind arising from this distribution or from anything built on top of it.
维护团队
![]() T-Auto |
![]() ccch1mneyyy |
![]() Haoming9527 |
![]() Thatgfsj |
※ 排名不分先后




