免密钥调用 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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 31 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
temidayoxyz/deep-opencode
免密钥调用 OpenCode 免费档模型
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1