Qoder 积分代理 2151649856sjs-create/qoder-proxy
DeepSeek Harness把 Qoder 账号积分转成 OpenAI 兼容接口供客户端调用
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 2151649856sjs-create/qoder-proxy该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量
查看扫描证据(共 9 处,展示前 9 条)
- 读取密钥环境变量server.mjs:21
const API_KEY = process.env.QODER_PROXY_API_KEY || ''; - 读取本地文件install-dsh-plugin.mjs:19
const pluginPkg = JSON.parse(readFileSync(join(pluginDir, 'package.json'), 'utf8')); - 读取本地文件install-dsh-plugin.mjs:31
if (existsSync(target)) { - 读取本地文件install-dsh-plugin.mjs:42
if (!existsSync(nodeModules)) { - 读取本地文件install-dsh-plugin.mjs:63
if (existsSync(patchFile)) content = readFileSync(patchFile, 'utf8'); - 读取本地文件install-dsh-plugin.mjs:63
if (existsSync(patchFile)) content = readFileSync(patchFile, 'utf8'); - 写入本地文件install-dsh-plugin.mjs:70
writeFileSync(patchFile, content, { encoding: 'utf8' }); - 读取本地文件setup.mjs:23
return existsSync(p) ? p : null; - 执行外部命令来自配置/变量setup.mjs:40
const r = spawnSync(node, [cli, 'login'], { stdio: 'inherit', windowsHide: true });
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
兼容 OpenAI 的本地代理,把 Qoder CN 额度开放成 /v1/chat/completions API,外加一个 DSH 模型服务商插件
README
由 DeepSeek 最新模型翻译生成qoder-proxy — 把 Qoder 积分变成 OpenAI 兼容 API
📘 英文文档:README.en.md
用 Qoder CN 的账号积分跑任意 OpenAI 兼容客户端(DSH、Cline、Continue、各种 SDK)。
已验证可用:15 个模型、流式/非流式、思考链(reasoning_content)、逐次积分计量。
它是什么
你的客户端 ──OpenAI API──> qoder-proxy (127.0.0.1:8317) ──官方 SDK──> Qoder CN │ └─ 每次请求返回消耗的积分
反代不碰 Qoder 的私有协议,而是驱动官方 npm SDK (@qodercn-ai/qodercn-agent-sdk)。SDK 内部带着完整的 worker runtime,签名、加密、设备指纹都由官方代码处理——所以Qoder 侧看到的是一次正常的官方请求,不存在自己实现签名导致的封号风险,也不需要每次客户端更新就修一遍。
积分从同一个账号扣,就是你在 Qoder 设置页看到的那个数字。
展开完整文档(README 剩余 1 节)
qoder-proxy — 把 Qoder 积分变成 OpenAI 兼容 API
📘 英文文档:README.en.md
用 Qoder CN 的账号积分跑任意 OpenAI 兼容客户端(DSH、Cline、Continue、各种 SDK)。
已验证可用:15 个模型、流式/非流式、思考链(reasoning_content)、逐次积分计量。
它是什么
你的客户端 ──OpenAI API──> qoder-proxy (127.0.0.1:8317) ──官方 SDK──> Qoder CN │ └─ 每次请求返回消耗的积分
反代不碰 Qoder 的私有协议,而是驱动官方 npm SDK (@qodercn-ai/qodercn-agent-sdk)。SDK 内部带着完整的 worker runtime,签名、加密、设备指纹都由官方代码处理——所以Qoder 侧看到的是一次正常的官方请求,不存在自己实现签名导致的封号风险,也不需要每次客户端更新就修一遍。
积分从同一个账号扣,就是你在 Qoder 设置页看到的那个数字。
快速开始
0. 安装
git clone <this-repo> && cd qoder-proxy
npm install
npm install 会拉下 @qodercn-ai/qodercn-agent-sdk,其中含一个约 33MB 的
worker runtime。它必须完整存在,不要用 --omit=optional 之类的方式裁剪。
1. 登录(只需一次)
npm run setup # 等价于下面的手动命令;打开浏览器确认即完成
setup 会调用 Qoder 官方 SDK 自带的设备码登录,用你自己的账号完成认证,凭据进入系统凭据管理器(Windows 上是 qoder-cli-cn-oauth),不会写进任何明文文件。
手动方式(当 setup 不可用):
npx qodercn login
或 node node_modules/@qodercn-ai/qodercn-agent-sdk/dist/_worker/qoder-worker-runtime.obf.mjs login
浏览器里确认 https://qoder.cn/device/selectAccounts?... 链接即可。
验证:
npx qodercn --list-models # 应列出 15 个模型
2. 起反代
npm start
默认监听 http://127.0.0.1:8317。
3. 用
curl -s http://127.0.0.1:8317/v1/models
curl -s -H 'content-type: application/json' \
-d '{"model":"DeepSeek-V4-Pro","messages":[{"role":"user","content":"你好"}]}' \
http://127.0.0.1:8317/v1/chat/completions
端点
| 方法 | 路径 | 说明 |
| GET | /v1/models | 15 个模型 |
| POST | /v1/chat/completions | 支持 stream: true |
| GET | /health | 健康检查 |
流式是标准 SSE,结尾有 data: [DONE]。
响应里的积分
非流式:qoder_credits 字段 + x-qoder-credits 响应头
{
"choices": [{"message": {"role":"assistant","content":"PONG",
"reasoning_content":"The user asks..."}}],
"qoder_credits": 0.12933373199999998
}
流式:最后一个 chunk 带 usage: {"credits": 0.139...}
关于 token 数:Qoder 后端按积分计费,不返回真实 token 数。
反代会在后端返回 0 时按字符数估算并标记 estimated_tokens: true,这样客户端(如 DSH 的用量徽章)不至于显示 0。
思考链
模型有思考过程时,会放在 reasoning_content 里(流式和非流式都支持)。
这是 DeepSeek / OpenAI SDK 生态的通用字段,客户端一般会自动渲染。
环境变量
| 变量 | 默认 | 说明 |
| QODER_PROXY_PORT | 8317 | 监听端口 |
| QODER_PROXY_HOST | 127.0.0.1 | 监听地址(默认仅本机) |
| QODER_PROXY_MODEL | Auto | 客户端没指定 model 时用哪个 |
| QODER_PROXY_API_KEY | 空 | 设了就要 Authorization: Bearer <key> |
可用模型
Auto · Fast Qwen3.8-Max · Qwen3.8-Flash · Qwen3.7-Max · Qwen3.7-Plus · Qwen3.7-Flash DeepSeek-V4-Pro · DeepSeek-Flash GLM-5.3 · GLM-5.3-Flash · GLM-5.2 Kimi-K3 · Kimi-K2.8-Preview MiniMax-M2.7
名不对时会自动容错:deepseek-v4-pro → DeepSeek-V4-Pro,含 flash/fast → Fast。
接到 DSH
仓库里的 dsh-plugin/ 是一个 DSH 模型 provider 插件,把上面的端点注册成 DSH provider:
一条命令即可完成挂载(自动建 junction + 追加 patch 条目,幂等):
bash
npm run install:dsh # 等价于 node install-dsh-plugin.mjs
可选:指定 profile / DSH_HOME
DSH_PROFILE=web DSH_HOME=/path/to/.dsh node install-dsh-plugin.mjs
手动方式:
1. 把 dsh-plugin/ 挂进你的 DSH profile(例如用 junction / symlink 放到 <DSH_HOME>/profiles/web/node_modules/dsh-llm-qoder,或直接 dsh plugin add 该目录);
2. 在 <DSH_HOME>/profiles/web/cordis.patch.yml 末尾追加:
yaml
- insert:
- id: llm-qoder
name: dsh-llm-qoder
3. 重启 DSH。
之后:
- provider id:qoder,显示名 Qoder CN
- 15 个模型出现在模型选择器里
- 改 provider 设置(baseUrl / 显示名 / 开关键)改 dsh-plugin/index.js 里的 Config 默认值,或在 DSH 设置界面里覆盖。
注意:反代必须先在 8317 上跑着;否则模型列表能出来,但一发请求就 502。
接到其它客户端
任何 OpenAI 兼容客户端都能用:
- Base URL:http://127.0.0.1:8317/v1
- API Key:随便填(除非设了 QODER_PROXY_API_KEY)
- Model:见上表
已知限制
- 无状态:每次请求都重新拼完整对话发给模型。这意味着没有服务端会话缓存,好处是任何客户端都能接、不会串话。代价是长对话的 prompt 处理成本略高。
- 不支持 function calling:SDK 的 allowedTools: [] 关掉了工具调用,所以 tools 参数会被忽略。DSH 的 agent 能力依赖它自己的工具循环,模型侧只需要能返回文本——这一点是满足的。
- 单账号串行:反代本身可以并发,但积分是同一个账号的总额度。
- 依赖 worker runtime:node_modules/@qodercn-ai/qodercn-agent-sdk 里的 33MB worker runtime 必须完整存在。
排错
No qodercli login found
→ 还没登录,跑第 1 步。
模型列表有,但请求 502 → 反代进程没起,或者 Qoder 凭据过期。看反代 stderr 里的具体报错。
积分没变 / 一直是 0 → 检查 qoder_credits 字段是否非零。免费额度用尽时 Qoder 会返回错误,检查 stderr。
重启后 DSH 里没有 qoder provider → 看 <DSH_HOME>/profiles/web/cordis.patch.yml 里有没有 - id: llm-qoder,然后看 DSH 启动日志有没有 dsh-llm-qoder: registered provider。
dev/ 目录
逆向过程中的探针脚本,保留作为可复现证据,不参与运行时:
| 文件 | 作用 |
| dev/t1-auth.mjs | 验证 SDK 认证是否可用(对比实验:故意 import Global 版 SDK,证明它看不到 CN 版登录态) |
| dev/t2-cn.mjs | 确认走的是 CN 版配置目录(.qoder-cn 而非 .qoder) |
| dev/t3-chat.mjs | 非流式对话冒烟测试 |
| dev/t4-stream.mjs | 流式对话冒烟测试 |
| dev/t5-usage.mjs | 关键探针:证明 Qoder 后端不回真实 token 数、只回积分 |
这些探针需要本机已登录的 Qoder 凭据才能跑,仅供开发参考,不参与运行时。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
2151649856sjs-create/qoder-proxy
把 Qoder 账号积分转成 OpenAI 兼容接口供客户端调用
相关插件 · 模型接入
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