dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
OpenCode Go 模型提供方,支持网关实时模型发现、models.dev 在线能力配置、会话路由,以及含订阅用量显示的 Web 设置页。
dsh-opencode-go
English · 常见问题 · 高级指南 · 开发与测试
为 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 消耗,绝不上传任何对话内容。已关闭会话的折叠结果会按日志 revision 缓存在本地,重启后再次打开只需读取变更过的会话。本插件采用严格的宿主-客户端分离(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)。Q: 为什么聊天输入区没有出现用量胶囊?
Q: 为什么长会话中偶尔会报 400 错误?
通常是因为单次上下文加输出预算超过了模型允许的 Context Window。建议:
/compact 指令压缩历史消息。明确的上下文超限错误会被插件捕获并交由 DSH 原生恢复机制处理。
Q: 升级插件后,旧会话找不到模型怎么办?
从 0.1.16 及更早版本升级时,底层 Provider ID 进行了规范化统一。只需在旧会话或 Agent 配置的模型下拉框中,重新选择一次 DSH OpenCode Go 下的模型即可。
Q: 插件在执行过程中会自动将我的数据上传到第三方吗?
绝对不会。本插件只与 OpenCode Go 官方网关直接通信;用量看板统计也完全基于本地会话记录离线分析,没有任何外部打点或分析服务。
dsh plugin --profile web update dsh-opencode-go --latest更新后重启 dsh web 并刷新浏览器页面(桌面客户端请完全退出后重新打开)。
dsh plugin --profile web remove dsh-opencode-go