dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
OpenCode Go 模型提供方,支持网关实时模型发现、models.dev 在线能力配置、会话路由,以及含订阅用量显示的 Web 设置页。
为 DeepSeek Harness (DSH) 量身打造的 OpenCode Go 专属接入与多账号管理插件。
DSH 原生支持接入 OpenCode Go,但原生模式无法满足复杂的生产与日常开发需求(如多账号无感容灾、会话级 Prompt 缓存绑定、会话内实时额度透视等)。本插件基于 Cordis 微内核架构,在提供完整模型协议转换的同时,带来了流畅的客户端 UI 与企业级容灾体验。
x-opencode-session 路由头,稳定复用网关上下文缓存,显著降低响应首字延迟。适用于 DSH 0.1.5-rc.1 及以上版本(完整支持矩阵见兼容矩阵)。
dsh-opencode-go(或填入仓库地址 https://github.com/Duskriver/dsh-opencode-go),点击 安装。
dsh plugin --profile web add dsh-opencode-go
命令行安装后请重启 dsh web。Headless 用户请使用 --profile headless。
在 设置 → OpenCode Go → 账号 中集中管理你的所有账号:

在聊天输入区旁,常驻有直观的“用量胶囊”。点击即可展开完整的用量卡片:

点击用量面板底部的 用量统计,或进入 设置 → OpenCode Go → 用量统计 即可唤出看板:
sessionQuery 扫描本地历史会话,统计本插件产生的 Token 消耗,不会为统计上传会话内容。模型和价格元数据会从 models.dev 联网刷新。已关闭会话的折叠结果会按日志 revision 缓存在本地;revision 可用时只重读变更过的会话,不可用时最多复用 5 秒。本插件采用严格的宿主-客户端分离(Host-Client Separation)架构:
[ DSH 前端 UI (React + Slots) ]
├── UsagePill.tsx (会话胶囊组件)
├── AccountsCard.tsx (账号拖拽与管理卡片)
├── ModelEditor.tsx (模型自定义编辑器)
└── AnalyticsDialog.tsx (本地用量与费用看板)
│ (通过 DSH Typert RPC 双向通讯)
▼
[ DSH 宿主服务 (Node.js ESM) ]
├── OpencodeGoAdapter (核心适配器,实现 LlmAdapter 协议)
│ ├── rejectedKeys (5分钟失败 Key 冷却熔断器)
│ └── autoSwitch (出词前备用账号轮询状态机)
├── OpencodeGoRequestExecutor (请求执行器)
│ ├── x-opencode-session (稳定会话 ID 哈希,绑定网关 Prompt 缓存)
│ ├── ImagePayloadLease (图片尺寸预算池,防止高并发 OOM)
│ └── idleWatchdog (流空闲超时看门狗,防长连接挂死)
├── GoUsageService (配额查询服务,代理 /usage 接口)
└── Conversion 层 (上下文与流事件双向映射)
│
▼
[ OpenCode Go 在线网关 API ]
x-opencode-session?OpenCode Go 网关具有会话粘性路由与上下文缓存共享能力。插件会自动将你的 DSH 对话 ID 经过单向哈希(保留可读字符并在需要时转为安全散列),以稳定的形式放入 x-opencode-session 请求头中。这样不仅能让多轮对话始终落在同一推理节点上,还能最大化命中网关的 Prompt Cache,显著节省思考与生成时间。
进入 设置 → OpenCode Go → 可用模型:

deepseek-v4.1-flash 默认自动配置 64k (65,536 tokens) 输出预算,并将该上限通知 DSH 宿主,用于计算上下文压缩时机。支持在 设置 → OpenCode Go → 高级设置 中按需微调:

socks5://127.0.0.1:1080),保存后即时应用于对话、用量查询与模型刷新。requestPreparationTimeoutMs)、整轮请求超时(requestTimeoutMs)以及流空闲看门狗阈值(streamIdleTimeoutMs)。通常是因为单次上下文加输出预算超过了模型允许的 Context Window。建议:
/compact 指令压缩历史消息。从 0.1.16 及更早版本升级时,底层 Provider ID 进行了规范化统一。只需在旧会话或 Agent 配置的模型下拉框中,重新选择一次 DSH OpenCode Go 下的模型即可。
正常对话会把请求内容发送到你配置的模型网关(默认为 OpenCode Go 官方网关),额度查询也会访问该网关。插件还会从 models.dev 下载公开的模型能力与价格元数据。
用量统计在本地读取会话记录,不会把会话正文、账号密钥或逐条统计记录发送给 models.dev,也没有额外的遥测或分析服务。因此,本地统计不等于插件完全不联网。
dsh plugin --profile web update dsh-opencode-go --latest
更新后重启 dsh web 并刷新浏览器页面(桌面客户端请完全退出后重新打开)。
dsh plugin --profile web remove dsh-opencode-go