DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Companion — DeepSeek Harness 插件(DSH Plugin)
← Plugins

dsh-companion

Companion

DeepSeek Harness Web 的友好状态和上下文压力助手

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

npx -y @deepseek-ai/dsh plugin --profile web add github:leonardoxr/dsh-companion#73d37fe19e2aa5b741ba3420d96f5bd754036de7
README兼容性版本

兼容性与来源证明

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

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

版本

0.2.2stable
2026/8/24
0.2.0stable
2026/8/22
0.1.1stable
2026/8/22
查看其余 1 个版本
收起版本
0.1.0stable
2026/8/17

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

README

dsh-companion

A small, backend-only DeepSeek Harness plugin that gives native clients a read-only JSON view of DSH workspaces and live sessions plus a configurable notification event feed.

It is designed for client shells such as dsh-native that need project and session metadata without loading or scraping the Harness web UI.

[!IMPORTANT] This project is not the unscoped dsh-companion package on npm. That name belongs to an unrelated project. Install this plugin from this repository or one of its GitHub Release archives.

What it provides

  • Three small, cache-free JSON endpoints for workspaces and live sessions.
  • A reconnectable server-sent-event feed for native completion, failure, question, and approval alerts.
  • Harness plugin settings that filter alert kinds and subagent events at the source.
  • Explicit field projection: internal Harness objects are never serialized wholesale.
  • DSH trusted-host and same-origin checks on every request.
  • An installable DSH bundle with compiled JavaScript and a small settings-schema dependency.
  • Clean unloading: all registered routes are removed with the plugin.

Install

From a GitHub Release (recommended)

Download dsh-companion-<version>.tgz from the latest release, then add it to the Web profile:

dsh plugin --profile web add ./dsh-companion-<version>.tgz
dsh web

Each release also includes SHA256SUMS.txt so the archive can be verified before installation.

Directly from GitHub

For the newest revision on main:

dsh plugin --profile web add github:leonardoxr/dsh-companion
dsh web

A local checkout can be linked in place while developing:

dsh plugin --profile web add /absolute/path/to/dsh-companion
dsh web

Verify the plugin after DSH starts:

curl http://127.0.0.1:3080/api/companion/workspaces

API

RouteResponse
GET /api/companion/workspaces{ workspaces: [...] } — durable workspaces and their member session IDs
GET /api/companion/sessions{ sessions: [...] } — live sessions and their latest folded titles
GET /api/companion/session/<id>One live-session summary, or a JSON 404
GET /api/companion/notificationstext/event-stream feed of configured native alerts

Example session-list response:

{
  "sessions": [
    {
      "id": "session-1",
      "title": "Implement native navigation",
      "cwd": "/work/dsh-native",
      "createdAt": 1787356800000
    }
  ]
}

JSON responses use Content-Type: application/json and all routes use Cache-Control: no-store. The notification route uses SSE, emits 15-second heartbeats, accepts a prior cursor in Last-Event-ID or ?since=, and keeps a bounded in-memory replay window. A fresh connection starts at the live tail but receives interactions that are still waiting for a question answer or approval. Non-GET requests return 405.

Notification settings

The Harness plugin settings page exposes these options under Native notification forwarding:

SettingDefaultAlert
completedonSuccessful turn/end events
blockedonBlocked turns
errorsonFailed turns and live agent errors
maxTokensonTurns that reach the output-token limit
abortedoffCancelled or aborted turns
questionsonPending ask_user_question interactions
approvalsonPending tool approvals
subagentsoffInclude events from sessions marked as subagents

Changing these settings reapplies the plugin and restarts its bounded event feed. Disabling the plugin itself remains the Cordis loader's responsibility.

Each notification payload is versioned and contains only a stable key, kind, session ID/title, short body, and timestamp. Raw messages, tool arguments, commands, icons, and click-through URLs are never forwarded.

Security model

The endpoints expose workspace paths, session IDs, titles, timestamps, session lineage, and—when enabled—short question, approval, and error text. They enforce the Harness web runtime's trustedHosts policy and reject cross-site browser requests, but this is a network trust boundary, not user authentication.

Do not expose the DSH server to networks whose clients should not read that metadata. See SECURITY.md for private vulnerability reporting.

How it works

The package is a plain Cordis module with name, Config, inject, and apply exports. It declares webServer, webRuntime, apiProxy, sessions, sessionTitle, and workspaceRegistry as required services, then registers its routes and consumes the host's existing event streams when the bundle loads.

Harness capabilities arrive through injected Cordis services. The only runtime import is the Harness-compatible Schemastery package used to render and normalize plugin settings; TypeScript emits the installable entry point to dist/index.js. Unloading or reconfiguring the plugin aborts event subscriptions, closes SSE clients, and removes every route.

Compatibility

DeepSeek Harness is currently in developer preview, so its plugin service contracts may change. This version targets the service contracts in the DSH 0.1.1 release-candidate line and requires Node.js 22 or newer. CI covers Node.js 22 and 24.

Development

npm ci
npm test
npm pack --dry-run

npm test rebuilds dist/ before running tests against the compiled entry point. The committed dist/ directory is intentional: GitHub dependencies are installed under node_modules, where Node does not strip TypeScript syntax at runtime.

If a source change alters generated output, include the updated dist/ files in the same pull request.

Contributing and releases

Contributions are welcome. Read CONTRIBUTING.md for the local workflow and pull-request expectations, and follow the Code of Conduct.

Successful CI runs publish a short-lived, installable package artifact. Version tags such as v0.1.1 publish the same compiled .tgz plus its checksum as a permanent GitHub Release. Maintainers can follow docs/RELEASING.md.

License

MIT

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。