DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@stellarie/dsh-session-bridge

Session Bridge

通过受令牌保护的回环桥接从 MCP 客户端驱动 DeepSeek Harness 会话

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

npx -y @deepseek-ai/dsh plugin --profile web add @stellarie/dsh-session-bridge@0.1.0
README兼容性版本

兼容性与来源证明

Session Bridge 以 @stellarie/dsh-session-bridge 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0stable
2026/10/21

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Ds Botds-botDS Bot:DeepSeek Harness 的一组长期运行的 Bot,支持主 Bot、Bot 间消息和群聊Ab Wechat Scrapedsh-ab-wechat-scrape--- description: "树外 wechat_scrape 工具:获取微信公众号文章,过滤推广区块,并将每篇文章保存为 Markdown 文件,供此机器的 dsh 配置文件维护者使用。" kind: "package-reference" ---Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。

README

♡ dsh-session-bridge ♡

Let your MCP client talk to DeepSeek Harness sessions~

English · 简体中文 · 繁體中文

@stellarie/dsh-session-bridge (≧∀≦)

Unofficial. This project has no tie to DeepSeek. It targets DeepSeek Harness 0.2.1-rc.2.

What is this?

DeepSeek Harness (DSH) is a desktop agent app. This package lets another agent drive it.

You get two small parts:

  • A host plugin. It runs inside the DSH app. It serves a token-guarded loopback HTTP bridge.
  • A stdio MCP server. Your MCP client (Claude Code, for example) starts it. It talks to the bridge.

Your client opens a normal DSH session, sends it messages, waits for the reply, and reads it. The session shows in the app like any other session. You can watch it, or take it over, any time ♡

Architecture: an MCP client talks over stdio to dsh-session-bridge-mcp, which calls the session-bridge plugin in the DSH app over loopback HTTP with a bearer token. The plugin writes endpoint.json and the MCP server reads it on every call.

Requirements

  • DeepSeek Harness 0.2.1-rc.2, with a profile you can edit.
  • Node.js ^22.19.0 or >=24.0.0.
  • An MCP client that speaks stdio.

Install

1. Install the plugin

Use the dsh CLI. Replace default with the name of your profile.

dsh plugin --profile default add github:stellarie/dsh-session-bridge

The install builds the package from source, so it needs no separate build step.

Or edit the profile by hand. Add the package to the profile package.json. Then list it in the bundles, after @deepseek-ai/dsh-web-app.

{
  "dependencies": {
    "@stellarie/dsh-session-bridge": "github:stellarie/dsh-session-bridge"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@stellarie/dsh-session-bridge"
      ]
    }
  }
}

The package ships a cordis.patch.yml. It inserts the plugin row for you. Restart the app. The log shows session-bridge: serving http://127.0.0.1:…/session-bridge.

2. Register the MCP server

Point your MCP client at the copy inside the profile (<profile-dir> is your DSH profile directory):

claude mcp add dsh-session-bridge -- node <profile-dir>/node_modules/@stellarie/dsh-session-bridge/lib/mcp.js

Or run it from npm, with no profile install:

claude mcp add dsh-session-bridge -- npx -y -p @stellarie/dsh-session-bridge dsh-session-bridge-mcp

Any other MCP client works too. The command is dsh-session-bridge-mcp. The transport is stdio.

The MCP server reads the endpoint file on every call. An app restart needs no MCP restart.

Tools

ToolWhat it does
dsh_list_sessionsList sessions: id, title, preset, working directory, running or idle.
dsh_open_sessionOpen a session in cwd. Reuses the newest idle session with the same preset and cwd. Pass reuse: false for a new one.
dsh_sendSend a message. Mode queue runs after the current turn. Mode steer joins the running turn. Returns afterSeq.
dsh_waitWait until the session ends a turn after afterSeq. Default 600 s, maximum 600 s.
dsh_readRead your prompts and the assistant text after afterSeq. Tool calls and thinking are left out.
dsh_cancelInterrupt the running turn. Queued messages stay queued.

A typical round trip:

dsh_open_session { cwd: "C:/repo", preset: "my-preset" }  → { sessionId, reused }
dsh_send         { sessionId, text: "Fix the failing test" } → { accepted, afterSeq: 41 }
dsh_wait         { sessionId, afterSeq: 41 }               → { ended: true, lastSeq: 58 }
dsh_read         { sessionId, afterSeq: 41 }               → { messages: [ … ] }

dsh_open_session defaults preset to yuu, the author's own preset. Pass your own preset id. See BACKLOG 1.

How the bridge stays safe (`ω´)ゞ

The bridge gives full owner control of your sessions. Read this part, please.

Every request must pass these checks, in this order:

  1. No Origin header. Browser pages always send one, so they are refused.
  2. A loopback Host (127.0.0.1, localhost, or [::1]) with the server port.
  3. A bearer token, compared in constant time.
  4. POST only, with a JSON body of at most 1 MiB.
  5. A method on the allowlist: create, prompt, page, projections, list, cancel.

The token is 32 random bytes. The plugin mints a new one at each start. It writes endpoint.json (url, token, pid, startedAt) with mode 0600 (POSIX) and deletes it on shutdown.

  • Treat the endpoint file as a secret. Anyone who reads it can prompt your agents.
  • The bridge listens only where the DSH web server listens. It adds no port of its own.
  • The bridge speaks as the app owner. A prompt you send acts like a prompt you type in the app.

Configuration

SettingWhereDefault
endpointPathplugin config in cordis.patch.yml$DSH_HOME/session-bridge/endpoint.json
DSH_SESSION_BRIDGE_ENDPOINTenvironment of the MCP serverunset
DSH_HOMEenvironment~/.dsh

Set the same path on both sides when you move the file.

Develop

pnpm install
pnpm run typecheck
pnpm test
pnpm run build

The build writes lib/index.js (the plugin) and lib/mcp.js (the MCP server).

License

MIT © stellarie. Made with ♡ (๑˃ᴗ˂)ﻭ