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

Qoder 积分代理 2151649856sjs-create/qoder-proxy

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

把 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
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
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
预览分享卡片长什么样 ↓2151649856sjs-create/qoder-proxy
分享 · DeepSeek Harness Hub
2151649856sjs-create/qoder-proxy

把 Qoder 账号积分转成 OpenAI 兼容接口供客户端调用

回到顶部