Local OpenAI-compatible proxy for Qoder CN CLI, for learning only
# Add to your Claude Code skills
git clone https://github.com/avaritiachaos/qoder-proxyGuides for using cli tools skills like qoder-proxy.
qoder-proxy is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by avaritiachaos. Local OpenAI-compatible proxy for Qoder CN CLI, for learning only. It has 59 GitHub stars.
qoder-proxy's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/avaritiachaos/qoder-proxy" and add it to your Claude Code skills directory (see the Installation section above).
qoder-proxy is primarily written in JavaScript. It is open-source under avaritiachaos on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh qoder-proxy against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
本项目仅用于个人账号的本地兼容性实验与协议适配研究。 使用者必须自行持有合法的 Qoder 账号和 Personal Access Token。 本项目不提供、共享、转售、出租任何 Qoder 账号、Token 或额度。 不得将本项目部署为公网服务、公益站、商业 API、中转站或多人共享服务。 不得用于规避 Qoder 官方的计费、风控、速率限制、地域限制或使用限制。 请遵守 Qoder 官方服务条款;如官方不允许,请立即停止使用。 本项目与 Qoder 官方无关。
本项目把 Qoder CLI(qoderclicn 或 qodercli)适配为仅供本机访问的 OpenAI / Anthropic 兼容 HTTP 接口,用于研究不同客户端协议、消息格式、流式响应和工具调用格式之间的差异。
支持两个后端:
qoderclicn,对接 qoder.com.cnqodercli,对接 qoder.com它不是官方 API,不代表 Qoder 官方授权,也不提供任何账号、Token 或额度服务。所有请求都依赖使用者自行配置的个人 Qoder 认证。
qoderclicn 和 qodercli 都是命令行工具,接受文本输入并返回文本输出。许多本地客户端或开发工具使用 OpenAI 或 Anthropic 格式的 HTTP API。本项目作为本地适配层:接收兼容格式请求,将其转换为 CLI 调用,再把 CLI 输出整理为兼容格式响应。
支持两种本地协议格式:
/v1/chat/completions/v1/messages两种格式均支持工具调用字段适配(tool_calls / tool_use),用于协议兼容性研究。可靠性取决于底层模型是否能稳定输出符合格式的 JSON。
由于 CLI 本身只处理文本,不具备原生工具调用通道,本项目采用 Prompt 格式指令 + 输出解析的方式实现工具调用适配:将工具定义作为格式说明加入请求上下文,再从模型文本输出中提取 JSON。
这与直接调用 OpenAI、Anthropic、DeepSeek 等官方 API 不同。官方 API 通常提供原生 tools 参数通道;本项目只能做文本层面的协议模拟,因此不应把它视为等价替代。
127.0.0.1.env、token、日志均不纳入版本控制| 后端 | 认证方式 | 环境变量 |
|---|---|---|
CN (qoderclicn) |
Personal Access Token | QODERCN_PERSONAL_ACCESS_TOKEN |
Global (qodercli) |
OAuth 登录(qodercli login) |
无需配置 |
127.0.0.10.0.0.0,不要暴露到公网.env 提交到 Git需要 Node.js 18+。
CN 后端(必须):
npm install -g @qodercn-ai/qoderclicn
qoderclicn --version
Global 后端(可选):
npm install -g @qoder-ai/qodercli
qodercli --version
qodercli login # 必须登录一次
安装依赖并创建配置:
npm install
Copy-Item .env.example .env
编辑 .env,配置后端和认证:
# 选择后端: "cn" 或 "global"
CLI_BACKEND=cn
# CN 后端:填入你的 Personal Access Token
QODERCN_PERSONAL_ACCESS_TOKEN=your-cn-token
# Global 后端:运行 qodercli login 后无需配置令牌
CN 版 PAT 创建入口:https://qoder.com.cn/account/integrations
创建后请妥善保存。不要将 .env 提交到 Git,也不要把 Token 填入第三方客户端或分享给他人。
启动:
npm start
Windows 也可以双击 start-proxy.cmd。
启动后默认地址为:
http://127.0.0.1:3000
如果你通过环境变量或代码改动手动设置 host,请保持 127.0.0.1。不要绑定 0.0.0.0,不要通过端口映射、反向代理、隧道或云服务器暴露给公网。
通过 .env 中的 CLI_BACKEND 切换后端:
CLI_BACKEND=cn # 使用 qoderclicn
CLI_BACKEND=global # 使用 qodercli
| 配置项 | CN 后端 | Global 后端 |
|---|---|---|
| CLI 命令 | qoderclicn |
qodercli |
| 认证方式 | Personal Access Token | qodercli login(OAuth) |
| 认证目录 | ~/.qoderworkcn |
~/.qoder |
| 环境变量 | QODERCN_PERSONAL_ACCESS_TOKEN |
不需要(登录后自动认证) |
切换后端后需重启代理服务生效。
qoder-cn、auto、qwen3.7-max、glm-5.1、kimi-k2.6、qwen3.6-plus、qwen3.6-flash、deepseek-v4-pro、deepseek-v4-flash
Qwen3.7-Max 推理强度别名:qwen3.7-max-effort-low、-medium、-high、-max
适用于支持自定义 OpenAI 兼容接口的本地客户端:
http://127.0.0.1:3000/v1not-used/v1/models 返回列表选择,或手动输入模型 ID注意:不要将 Qoder CN Token 填入客户端。Token 只应保存在本项目本机 .env 中。
适用于支持自定义 Anthropic 兼容接口的本地客户端:
$env:ANTHROPIC_BASE_URL = "http://127.0.0.1:3000"
$env:ANTHROPIC_AUTH_TOKEN = "not-used"
ANTHROPIC_BASE_URL 不要追加 /v1,客户端通常会自动拼接 API 路径。
仓库自带 opencode.json 配置文件,可用于本地兼容性验证:
opencode run --model qoder-cn-local/qwen3.7-max --variant high "reply OK"
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /health |
健康检查 |
| GET | /v1/models |
模型列表 |
| POST | /v1/chat/completions |
OpenAI 兼容格式对话,支持 tools 字段适配 |
| POST | /v1/messages |
Anthropic 兼容格式对话,支持 tool_use 字段适配 |
| POST | /v1/messages/count_tokens |
Token 估算 |
通过环境变量设置全局默认值:
$env:QODERCN_REASONING_EFFORT = "high"
$env:QODERCN_CONTEXT_WINDOW = "200000"
$env:QODERCN_MAX_OUTPUT_TOKENS = "4096"
也可在每次请求中通过 reasoning_effort、context_window、max_tokens 参数单独指定。
当客户端请求 stream: true 且不包含工具参数时,本项目使用 CLI 的 --output-format stream-json 进行增量流式输出,并以 SSE 事件转发给本地客户端。
当请求包含工具参数时,流式请求会自动降级为非流式响应,因为工具调用解析需要完整 JSON 输出。
curl.exe http://127.0.0.1:3000/health
curl.exe http://127.0.0.1:3000/v1/models
curl.exe http://127.0.0.1:3000/v1/chat/completions `
-H "Content-Type: application/json" `
-d "{\"model\":\"qoder-cn\",\"messages\":[{\"role\":\"user\",\"content\":\"reply OK\"}]}"
npm test
启动后访问本地 Web 控制台:
http://127.0.0.1:3000/ui
快捷启动(自动打开浏览器):
.\start-ui.cmd
| Tab | 说明 |
|---|---|
| Dashboard | 显示 /health 状态、Base URL、模型数量、安全状态 |
| Models | 调用 /v1/models 显示模型列表 |
| Chat Test | 用 /v1/chat/completions 做简单非流式测试 |
| Config | 生成 OpenAI Compatible / Anthropic Compatible / OpenCode 配置示例 |
| Usage / Credits | 本地用量统计 |
estimated,不宣称准确usage.json(不保存 prompt 正文、响应正文、token、Authorization、cookie)qoderclicn --help 中没有 quota/credits/usage 命令,因此不实现官方额度自动读取| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /usage/local |
返回本地用量统计 |
| POST | /usage/reset-local |
重置本地用量统计 |
MIT。详见 LICENSE。