DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Terminal Vision — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
T

dsh-terminal-vision

Terminal Vision

适用于 DeepSeek Harness 的终端语义视觉插件:基于 @xterm/headless 提供带结构化屏幕模型(文本、光标、活动行)的持久 PTY 会话,使代理能够操作类似 vim/htop/lazygit 的交互式 TUI 程序,而不是读取原始字节流。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:fdfdfdfgbfdgfdg-star/dsh-terminal-vision#2e1763a69a5caebe19cc3919193ae12926a17a7a
README兼容性版本

兼容性与来源证明

Terminal Vision 以 dsh-terminal-vision 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/17

版本

0.1.0stable
2026/10/17

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/17
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hubExperimental Inspector Profile@deepseek-ai/dsh-experimental-inspector-profile用于原始 Session 日志和 Chat 节点检查的可选 Web 捆绑包

README

dsh-terminal-vision

Terminal semantic vision plugin for DeepSeek Harness (DSH).

Gives the agent "semantic vision" over interactive terminal programs — vim, htop, lazygit, less, setup TUIs — instead of a raw escape-sequence byte stream. Every PTY session is continuously parsed by @xterm/headless (the headless JS port of xterm.js) into a structured screen model: visible text lines, cursor position, active line. The agent can then read the screen, send keys, read again — a perception/action loop over any TUI.

Tools registered in DSH

ToolPurpose
terminal_open(session_name, shell?, cwd?, cols?, rows?)Open a persistent PTY session, returns session_id. shell may be a shell name (bash, pwsh, cmd) or a TUI program to run directly (htop, vim file.txt).
terminal_get_screen(session_id)Structured screen model: lines[], cursor {x, y}, active_line, terminal title.
terminal_send_keys(session_id, keys, wait_ms?)Send a key sequence and wait for the screen to change (readiness wait, default 500 ms), then return the new screen. Accepts plain text, named keys (Enter, Esc, Up…), modifiers (Ctrl+C, Alt+b), space-separated sequences (":wq Enter").
terminal_read_output(session_id, lines?)Last N lines of the scrollback buffer (history above the viewport).
terminal_close(session_id)Close the session and free the PTY.
terminal_list_sessions()List active sessions with id, name, shell, cwd, alive status.

Architecture

  • Host part (TypeScript, src/) — Cordis plugin: apply(ctx) registers the tools on ctx.tools, manages persistent sessions via node-pty (prebuilt ConPTY binaries on Windows — no compiler needed).
  • Semantic parser (src/screen-model.ts) — Variant A: @xterm/headless builds the screen model natively in Node. Raw PTY output is written into a headless xterm Terminal; the buffer is read out on demand (buffer.active, translateToString). No Python, no long-lived bridge process, works offline.
  • Keys are translated by encodeKeys() (friendly names → terminal bytes, including Ctrl/Alt modifiers, arrows, F-keys).
  • Readiness wait: after each terminal_send_keys, the tool waits until the screen revision changes (data arrives) or the timeout elapses — preventing "blind" sends.
  • All tools return JSON-serializable objects; unknown session ids return a clear error instead of crashing.

Install

# from a local checkout
dsh plugin --profile web add file:./dsh-terminal-vision

# or from GitHub
dsh plugin --profile web add github:fdfdfdfgbfdgfdg-star/dsh-terminal-vision

Windows note: pnpm blocks native-module install scripts by default. If the add step fails with ERR_PNPM_IGNORED_BUILDS: node-pty, run the blocked build step manually (node-pty ships prebuilt ConPTY binaries — no compiler needed):

cd ~/.dsh/profiles/web
pnpm rebuild node-pty     # runs the postinstall that copies conpty.dll

Then restart DSH (relaunch the DeepSeek Harness app, or re-run dsh --profile web) and check the boot log for:

[terminal-vision] loaded: tools=6

Verify in a chat: "Какие инструменты терминала тебе доступны?" — the agent should list the six terminal_* tools.

The package declares a dsh.bundle.patch (cordis.patch.yml), so dsh plugin add wires the plugin into the profile automatically — no manual cordis.patch.yml edits needed.

Example session

terminal_open(session_name="htop", shell="htop")     → session_id
terminal_get_screen(session_id)                      → lines[] of the htop interface, cursor
terminal_send_keys(session_id, "F10")                → quit htop, new screen
terminal_close(session_id)

Driving a shell:

terminal_open(session_name="work", shell="bash")
terminal_send_keys(session_id, "ls -la\n")
terminal_get_screen(session_id)                      → the ls output
terminal_read_output(session_id, lines=200)          → anything that scrolled off

Build & test (development)

npm install
npm run build      # tsc → lib/
npm test           # node --test test/integration.test.js

lib/ (compiled JS) is committed, so a plain dsh plugin add needs no build step.

Dependencies

  • Node.js >= 22.19 (DSH host requirement)
  • node-pty ^1.1.0 — ships prebuilt Windows ConPTY binaries; no Visual Studio Build Tools required on Windows 11
  • @xterm/headless ^6.0.0 — pure JS, no native code
  • No Python, no root/admin rights

Known limitations

  • The screen model is text-only: colors/attributes are parsed by the emulator but not exposed in the snapshot.
  • cursorHidden is advisory (xterm.js does not expose the DECTCEM state); most TUIs keep the cursor visible.
  • Alt+<letter> sends ESC-prefixed bytes (application keypad mode not negotiated per-program).
  • Sessions live in the DSH host process; restarting DSH closes all sessions.
  • On Windows the default shell is cmd.exe (ConPTY); bash works if Git Bash / WSL bash is on PATH.