DSH Hub

Emilia-awa/hermes-dsh-bridge

hermes-dsh-bridge

BundleWorkflow0 GitHub stars· updated 2026-08-27

Hermes ↔ DeepSeek Harness MCP bridge: drive dsh agents (tasks, sessions, files, presets, stats) from any MCP client. Hermes = brain, Harness = arms.

Install

npx @deepseek-ai/dsh plugin --profile web add github:Emilia-awa/hermes-dsh-bridge

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

hermes-dsh-bridge DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/hermes-dsh-bridge.svg)](https://dshhub.dev/plugins/hermes-dsh-bridge)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from Emilia-awa/hermes-dsh-bridge, cleaned of badges and images.

hermes-dsh-bridge

专门桥接 Hermes ↔ DeepSeek Harness 的 MCP 插件:在 Harness 内部启动一个 MCP server,让外部 MCP 客户端(如 Hermes)驱动 Harness 的 Agent 执行真实编码任务。

Hermes 是大脑,Harness 是双手。

为什么存在

Harness 自带强大的 Agent 运行时(工具、LLM、Agent、会话),但它是 Cordis 应用,别的 Agent 调不动它。这个插件把 Harness 翻了个面:在 Harness 内部启动一个真正的 MCP server(StreamableHTTP),桥接 Harness 核心服务(ctx.agents / ctx.agentPresets / ctx.tools),让外部"大脑"把真正的活派给 Harness 的"双手"。

Hermes (MCP client, 大脑)
   │  agent_run / task_inbox / fs_read / session_stats ... (HTTP)
   ▼
harness-mcp-server (MCP server, :8090)
   │  ctx.agents.create → mount 'standard' preset
   ▼
Harness agent — 完整工具集: bash, fs, todo, web…

工具(25 个)

任务

工具方向用途
agent_run→ Harness同步执行任务;返回结构化结果 + 本轮 stats 统计;可选 preset 单次覆盖预设、sandbox 单次覆盖权限三档;需要提档审批时会挂起等审(见"权限三档与审批桥")
task_inbox→ Harness推结构化任务(任务+记忆上下文+cwd+可选 preset/sandbox)进异步队列;审批转接的主路径:挂起等审期间轮询 approval_listapproval_respond 即续跑
task_result← Harness取回队列任务的结构化结果
task_list← Harness异步任务队列快照(id/status/createdAt/error)
task_cancel取消队列任务:queued 直接移除;running 尽力中止(agent.cancel,结果丢弃、会话保留可续接)

会话

工具方向用途
session_list列会话(live+持久化合并),每行带 token/LLM 用时摘要
session_log读会话事件日志(已剥离 reasoning),tail N 条、按类型过滤
session_stats会话统计:rounds/steps/llmTime/toolTime/ttft/tokensPerSec/cacheHitRate/inputTokens/outputTokens
session_search跨会话搜索:标题匹配 + 内容搜索(持久化事件,单会话 2s 超时跳过),正则可选
rename_session会话改名(便于归档区分)
attach_session会话归组到工作区

文件(受 path jail 约束)

工具方向用途
fs_read读文本文件(行号分页;路径 jail + 敏感名黑名单)
fs_list列目录(递归 depth 层,敏感项自动隐藏)
fs_stat文件/目录元数据
fs_write写文件(overwrite/append/create-new)——opt-inenableFsWrite: true 才注册),仅限 workspaceRoots

预设

工具方向用途
preset_list列出可用 agent preset + 默认
preset_get查询会话实际生效的 preset(或默认)
preset_set切换默认 preset(scope=new-default)或空白会话的 preset(scope=session

工具方向用途
echo验证 MCP 连通
harness_list_tools列出 Harness 内部注册的工具名

权限与审批

工具方向用途
policy_get查询会话生效策略:{sessionId, sandboxMode, source: override|default, workspaceRoot, approvalPolicy};无参返回部署默认
set_policy切换 live 会话 的文件权限档(追加 sandbox/mode 事件,下一次受限调用生效,重启靠 replay 保持);冷会话需先 resume 再切
approval_list列出挂起审批(沙箱提档 escalation 等):[{approvalId, sessionId, toolName, callId?, reason?, requestedAt, waitedMs}] + bridge 形态/超时配置
approval_respond回答挂起审批:allowed-once(仅本次放行)/rejected;与 Web UI 双通道先答者胜,败者回 receipt=not-pending

状态与配置

工具方向用途
status_get版本/uptime/provider/model/preset/live agents/队列深度 + sandboxPolicy{defaultMode,bridge,pendingApprovals}
config_get运行时配置摘要(authToken 打码为 ***)+ defaultSandbox/approvalsBridge/approvalTimeoutMs

结构化结果与统计

每次 agent_run 返回结构化结果,并附带本轮用量统计:

Related plugins