DeepSeek Harness Hub
← 返回列表

OpenCode 模型接入goku54477/dsh-opencode-provider

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

免密钥接入本地 OpenCode 模型并流式对话

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/21 · 已提供中文文档

在 DeepSeek Harness 中使用 OpenCode 模型(包括免费模型),无需单独的提供商 API 密钥。

综合分
28.1
GitHub 分
28.1
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add goku54477/dsh-opencode-provider
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-opencode-provider

在 DeepSeek Harness 中使用通过本地 OpenCode 服务器提供的模型,无需 DeepSeek API 密钥。

架构

DeepSeek Harness (DSH)
└─ LLM Runtime
└─ opencode-local provider route
└─ OpenCodeAdapter (dsh-opencode-provider)
├─ POST /api/session              → create session
├─ POST /api/session/{id}/prompt   → serialized conversation
├─ GET  /api/session/{id}/event    → SSE stream
└─ POST /api/session/{id}/interrupt → best-effort cancel
↕ HTTP + SSE
OpenCode Server (127.0.0.1:4096)
↕
Model (mimo-v2.5-free)

该适配器将完整的 DSH 对话(系统提示词 + 消息)序列化为单个提示词字符串,发送到 OpenCode 服务器,并将 SSE 事件流转译为 DSH 的 StreamChunk 值。OpenCode 运行其自身的内部 agent/工具循环,因此该适配器仅暴露文本输出——不支持结构化的 DSH 工具调用。

已验证的功能

- 无需 API 密钥——通过纯 HTTP 连接到本地 OpenCode 服务器
- 流式传输——文本增量在到达时即被传递
- 取消——中止信号会拆除 SSE 流并中断会话
- 超时——可配置的 SSE 建立(10 秒)、提示词准入(10 秒)和终端完成(120 秒)限制
- 重试策略——提供程序级别的重试配置会转发给 DSH 运行时
- 实时 SSE 事件格式——同时处理旧版(session.text.delta、session.execution.succeeded)和当前版本(session.next.text.delta、session.next.step.ended)的事件封装
- 优雅降级——未知的 SSE 事件会被跳过;非 JSON 行会被忽略;data.wrapper 封装会被防御性地解包

要求

- Node.js ≥ 22
- OpenCode 服务器在本地运行(默认:http://127.0.0.1:4096)
- DeepSeek Harness ≥ 0.1.0-rc.8

安装

通过 DSH 插件命令

dsh plugin --profile web add dsh-opencode-provider

从源代码检出

git clone https://github.com/goku54477/dsh-opencode-provider.git
cd dsh-opencode-provider
pnpm dsh

快速开始

1. 启动 OpenCode 服务器:

opencode serve --hostname 127.0.0.1 --port 4096

2. 该适配器会使用默认基础 URL(http://127.0.0.1:4096)自动配置。无需额外设置。

3. 在 DeepSeek Harness 中,选择模型:

opencode-local/mimo-v2.5-free

配置

所有字段均为可选。默认值在本地 OpenCode 服务器上开箱即用。

Inside your DSH cordis.yml or plugin config
llm-opencode:
Endpoint of the OpenCode server
baseURL: "http://127.0.0.1:4096"

Context window reported to the harness (default: 128000)
defaultContextWindow: 128000

Max output tokens per request (default: 16384)
maxTokens: 16384
面向发现使用者的建议模型列表
models:
- id: mimo-v2.5-free
name: mimo-v2.5-free
description: "OpenCode 本地代理(仅文本输出)"
contextWindow: 128000

重试策略
retryPolicy:
mode: always
backoff:
initialDelayMs: 100
maxDelayMs: 5000
jitterRatio: 0.2

工作原理

1. 创建会话 — 使用 { model: { id, providerID: "opencode" } } 调用 POST /api/session
2. 并发 SSE + 提示词 — 适配器同时发起 SSE 订阅(GET /api/session/{id}/event)和提示词投递(POST /api/session/{id}/prompt)。这避免了一种死锁:OpenCode 服务器在会话有活动之前不会发送 SSE 响应头。
3. 对话序列化 — 完整的 DSH 对话被格式化为 [System]\n...\n\n[User]\n...\n\n[Assistant]\n... 并嵌入到提示词中。
4. 事件转换 — SSE 事件(session.text.delta、session.next.step.ended、session.execution.succeeded 等)被映射为 DSH 的 StreamChunk 类型(block-start、text-delta、block-end、finish)。
5. 清理 — 在完成、出错或中止时,适配器会向会话发送一次尽力而为的中断请求。

开发
bash
构建
npm run build

类型检查
npm run typecheck

运行测试
npm run test

构建 + 测试
npm run check

清理输出
npm run clean

安全警告

此插件与本地 HTTP 服务器通信(默认不使用 TLS)。请勿将 OpenCode 服务器暴露给不受信任的网络。默认绑定地址(127.0.0.1)将访问限制在本机。

平台兼容性

v0.1.0 已在以下确切环境中测试通过:

| 组件 | 版本 |
|-----------|---------|
| 操作系统 | Windows 11 |
| Node.js | 22.23.2 |
| DeepSeek Harness | 0.1.0-rc.8 |
| OpenCode | 1.18.19 |
| 模型 | opencode/mimo-v2.5-free |

其他平台、Node 版本、harness 版本、OpenCode 版本和模型均未经验证。该适配器可能在其他环境中也能工作,但不作任何保证。

限制

- 仅文本输出 — OpenCode 运行自己的代理/工具循环。DSH 暴露的结构化工具调用无法通过此适配器使用。
- 不支持多模态 — 适配器仅报告 inputModalities: ["text"]。图像/音频/视频输入不会被转发。
- 仅公布单一模型 — 默认目录仅列出 mimo-v2.5-free。添加模型需要手动配置;适配器不会从服务器动态发现可用模型。
- 提示词大小 — 整个对话被序列化为单个提示词字符串。非常长的对话可能会超出模型的上下文窗口。
- 无持久会话 — 每次 stream() 调用都会创建一个全新的 OpenCode 会话。对话状态不会在请求之间保留。
- 默认仅限本地 — 适配器期望 OpenCode 服务器位于 127.0.0.1。远程服务器需要手动配置 baseURL 并具备相应的网络访问权限。

许可证
MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群