🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

OpenCode 免费模型 temidayoxyz/deep-opencode

DeepSeek Harness
temidayoxyz31 天前有提交已提供中文文档扫描:含敏感能力

免密钥调用 OpenCode 免费档模型

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add temidayoxyz/deep-opencode
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · model
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 31 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 15 处,展示前 15 条)
  • 执行外部命令来自配置/变量
    lib/index.js:34
    execFile(taskkill, [
  • 读取本地文件
    lib/index.js:58
    accessSync(path, constants.X_OK);
  • 读取本地文件
    lib/index.js:67
    return statSync(path).isDirectory();
  • 执行外部命令来自配置/变量
    lib/index.js:184
    const attempt = spawn(candidate, [
  • 发起网络请求
    lib/index.js:437
    return await fetch(baseUrl + path, {
  • 发起网络请求
    lib/index.js:566
    const response = await fetch(baseUrl + ROUTES.eventSubscribe, {
  • 发起网络请求
    lib/index.js:1616
    const decision = await abortable(host.approval.request({
  • 写入本地文件
    lib/index.js:1955
    await copyFile(join(this.#source, "index.js"), join(directory, "index.js"));
  • 写入本地文件
    lib/index.js:1956
    await writeFile(join(directory, "package.json"), "{\"private\":true,\"type\":\"module\"}\n", "utf8");
  • 删除本地文件
    lib/index.js:1959
    await rm(directory, {
  • 删除本地文件
    lib/index.js:1974
    if (directory !== void 0) await rm(directory, {
  • 写入本地文件
    lib/index.js:2000
    await mkdir(dirname(target), { recursive: true });
  • 写入本地文件
    lib/index.js:2001
    await writeFile(target, `${JSON.stringify(report, void 0, 2)}\n`, "utf8");
  • 读取密钥环境变量
    lib/opencode/index.js:6
    const token = process.env.DSH_OPENCODE_BRIDGE_TOKEN;
  • 发起网络请求
    lib/opencode/index.js:9
    const response = await fetch(baseUrl + route, {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 免密钥调用免费模型
  • 本地启动服务解析模型

OpenCode 给 DeepSeek Harness 的免费档模型:本地跑 opencode serve 就能解析出免费模型,不用 API key。

README

由 DeepSeek 最新模型翻译生成
description: "在 DeepSeek Harness 里使用 OpenCode 的免费档模型,由本地 OpenCode 进程提供服务。" kind: "group" dsh-deep-opencode 在 DeepSeek Harness 里使用 OpenCode 的免费档模型。Harness 已经能从共享的 models.dev 目录里读到 opencode 和 opencode-go 两个服务商,它们也能用——但前提是你有 OpenCode API key。它们的免费模型会失败,因为网关拒绝任何不是 OpenCode 的客户端: OpenCode's free tier can only be used from within OpenCode 这个插件新增一条独立的服务商路由 opencode-free,用来访问同样的免费模型。它会启动一个真正的 opencode serve 进程,并让那个进程执行每一轮,所以请求确实来自 OpenCode,免费模型也就能解析。全程不涉及 API key。OpenChamber 用的也是这套做法。 安装 需要 OpenCode 命令行在 PATH 上(opencode --version)。
展开完整文档(README 剩余 1 节)
description: "在 DeepSeek Harness 里使用 OpenCode 的免费档模型,由本地 OpenCode 进程提供服务。"
kind: "group"

dsh-deep-opencode

在 DeepSeek Harness 里使用 OpenCode 的免费档模型。Harness 已经能从共享的 models.dev 目录里读到 opencode 和 opencode-go 两个服务商,它们也能用——但前提是你有 OpenCode API key。它们的免费模型会失败,因为网关拒绝任何不是 OpenCode 的客户端:

OpenCode's free tier can only be used from within OpenCode

这个插件新增一条独立的服务商路由 opencode-free,用来访问同样的免费模型。它会启动一个真正的 opencode serve 进程,并让那个进程执行每一轮,所以请求确实来自 OpenCode,免费模型也就能解析。全程不涉及 API key。OpenChamber 用的也是这套做法。

安装

需要 OpenCode 命令行在 PATH 上(opencode --version)。

从 npm 仓库安装(发布之后):

dsh plugin add dsh-deep-opencode

从 GitHub 安装:

dsh plugin add https://github.com/temidayoxyz/deep-opencode

构建产物已经提交进仓库,所以从 GitHub 安装不需要构建步骤——pnpm 拒绝执行 git 依赖的 install 脚本,而这个包也没有 prepare 脚本要跑。

想在本地改代码,就克隆下来,从路径安装:

git clone https://github.com/temidayoxyz/deep-opencode.git
cd deep-opencode && npm install && npm run build
dsh plugin add D:/path/to/deep-opencode

或者把它加进某个配置档的 cordis.patch.yml:

- name: dsh-deep-opencode

使用

在模型选择器里选服务商 opencode-free。列出的模型就是你本地安装的 OpenCode 版本当前免费提供的那些——从运行中的服务器读取,不写死在这个插件里,所以新上线的免费模型会自己出现,下线的也会自己消失。

截至 OpenCode v2.0.18,这些模型是:Big Pickle、Ling 3.0 Flash Fin Free、LongCat 2.5 Preview Free、MiMo-V2.6-Flash Free、Muse Spark 1.3 Free、Nemotron 3.5 Lightning Free、Nemotron 3 Ultra Free 和 Space Bunny Free。

配置

每个随部署环境变化的取值都是 cordis.yml 里的字段:

| 字段 | 默认值 | 含义 |
| opencodeCommand | opencode | 可执行文件名或路径,通过 PATH 解析。 |
| cwd | harness 工作目录 | 没有项目的会话所用的项目目录,也是读取模型目录的位置。有项目的会话始终用自己的项目目录。 |
| host | 127.0.0.1 | 受管服务器绑定的回环主机。 |
| port | 0 | 受管服务器的端口;0 表示让操作系统挑一个空闲端口。 |
| startupTimeoutMs | 120000 | 服务器上报监听 URL 的截止时间。 |
| turnTimeoutMs | 900000 | 单轮委派执行的时限;0 表示不限制。 |
| reuseSessions | true | 每个 Harness 会话保留一个 OpenCode 会话,让各轮对话能互相记住。设为 false 则每次请求都新建一个服务商会话。 |
| maxSessionMappings | 32 | 同时映射到服务商会话的 Harness 会话上限;超出时淘汰最久未使用的那个。 |
| sessionIdleTtlMs | 1800000 | 映射的空闲存活时间;0 表示关闭空闲回收。 |
| sessionTurnGraceMs | 600000 | 回收宽限窗口,保护正在进行的对话轮次。 |
| logDiagnostics | true | 加载时报告托管服务器的版本和发现的模型。 |

- name: dsh-deep-opencode
config:
opencodeCommand: opencode
turnTimeoutMs: 1200000

模型体验

委托的模型请求

模型看到什么

对话第一轮会发送一段简短的前言,以及完整的往来消息,标注为 User: / Assistant:。后续轮次只发送新增的消息,因为 OpenCode 已经持有其余部分。模型通过 OpenCode 的会话看到自己之前的轮次,而不是靠插件重发的文本。

前言刻意写得很薄:只有工作目录,以及一句说明——智能体有自己的工具。Harness 系统提示词和它的工具列表不会转发,因为那份列表里的东西在服务商的智能体轮次里都调不到。转发它们会让模型宣称去做自己根本没法做的事——它规划了一次构建,点名要加载某个技能,然后就停在那里,什么也没写。只有当你自己把 Harness 工具接通到服务商时,才设置 forwardHarnessContext: true。

Token 影响

每段对话,这个插件为前言增加几十个 token。服务商自己的计数在 usage 里报告为不变。

KV Cache 影响

每轮独立,且优于全新请求:委托的轮次跑在同一个 OpenCode 会话里,所以服务商自己的前缀缓存能跨轮次存活。后续请求只发送新消息,因此它重读的是稳定前缀,而不是重建的对话记录。一旦改写过去某条消息,整段对话就会重放,那份复用也随之失效。

已知限制与待办工作

- 连续性由服务商持有,而非日志。 一轮只发送新增内容,因为 OpenCode 自己保存着对话。如果 Harness 改写了过去的某条消息——比如压缩、分叉——游标就失去锚点,整段对话会被重放进一个全新的服务商会话。连续性随之重置为重放的内容。
- 分叉会开启新的服务商会话。 继承的前缀不会重放进子会话,所以分叉会话的服务商记忆从分叉点开始。
- 每轮 token 统计都计入整段对话。 历史由服务商持有,所以每轮输入 token 反映的是它重读的全部内容,而 Harness 日志只记录实际发送的部分。
- 轮次归 OpenCode 管,不归 Harness 管。 委托的运行使用 OpenCode 的自己的智能体和自己的工具,所以 dsh 工具并不是在这条路由驱动的回合里运行的东西。harness 仍然掌管会话日志、对话记录和回合生命周期。
- 每个项目目录一个受管服务器。 OpenCode 在进程启动时就固定了会话的项目,并忽略按请求传入的目录,所以每个会话自己的目录都会有自己的 opencode serve。因此同时处理多个项目,每个项目都要付出一个 OpenCode 进程的代价。
- 没有项目目录的会话会回退到 cwd 配置字段,该字段未设置时回退到 harness 自己的工作目录。
- 对话历史按回合展平。 之前的回合以带标签的文本发送,而不是作为结构化历史重放,因为 OpenCode 每个请求都跑一个新会话,从未见过更早的交流。
- 只提供免费模型。 付费的 OpenCode 模型可以通过 harness 自己的 opencode/opencode-go 服务商加密钥访问;这条路由刻意只列出零成本模型,因为通过免费路由访问付费模型会产生真实费用。
- 已安装的 OpenCode 不提供的模型在这里用不了,即使某个目录把它列为免费。可用性取决于运行中的服务器报告什么,这也是列表靠发现而非硬编码的原因。
- 对话记录会把工具报告为已移除。 这条路由驱动的回合只返回文本,从不返回工具调用,而请求声明了 harness 的工具,所以对话记录显示工具集每个回合被清空一次。这正是委派边界露出的痕迹:实际运行的是 OpenCode 自己的工具,harness 没有观察到它们。
- 没有推理强度选择。 OpenCode 自己选择推理设置;这条路由不暴露服务商的强度级别。
- 图像输入不会转发。 只有文本会到达被委派的回合,所以即使模型接受图像,在这里仍然只用文本驱动。
- OpenCode 缺失或损坏会在请求时报错,而不是在挂载时:路由保持注册状态,这样修好安装后无需重新加载配置档即可工作。加载时发现失败会记为警告。
- 每个 Host 一个受管服务器。 重新加载插件会终止并重启它,这会丢掉正在进行的被委派回合。

License

MIT
预览分享卡片长什么样 ↓temidayoxyz/deep-opencode
分享 · DeepSeek Harness Hub
temidayoxyz/deep-opencode

免密钥调用 OpenCode 免费档模型

回到顶部