Skip to content

Latest commit

 

History

History
324 lines (231 loc) · 13.2 KB

File metadata and controls

324 lines (231 loc) · 13.2 KB

阿里百炼 Coding Plan 接入指南

本文档说明如何使用阿里百炼 Coding Plan 的一套 API Key 驱动 ARIS 全流程,无需 Claude 或 OpenAI API。


背景

Coding Plan 是什么

阿里百炼 Coding Plan 是阿里云推出的 AI 编程套餐,一个专属 API Key 打通四款国产顶级模型,同时兼容 OpenAI 和 Anthropic 两大主流 API 协议。

支持的模型

模型 图像理解 推荐用途 速度参考
qwen3.5-plus 执行器轻量任务 / 读图 ~94 tokens/s
kimi-k2.5 执行器主力(综合能力强) ~42 tokens/s
glm-5 审查器主力(推理质量高) ~51 tokens/s
MiniMax-M2.7 审查器备选(速度最快) ~101 tokens/s

为什么不能直接用 Codex MCP

原版 ARIS 的审查器使用 Codex MCP,而 Codex CLI 硬编码调用 OpenAI 专有的 Responses API (/v1/responses),第三方 API 提供商(包括 Coding Plan)均不支持该接口。

解决方案:使用项目内置的 llm-chat MCP 服务器,它调用标准 Chat Completions API (/v1/chat/completions),兼容所有 OpenAI 兼容端点,包括 Coding Plan。

相关讨论:OpenAI Codex GitHub #7782


重要:使用条款限制

警告:阿里百炼官方文档明确规定:

"仅限在编程工具(如 Claude Code、OpenClaw 等)中使用,禁止以 API 调用的形式用于自动化脚本、自定义应用程序后端或任何非交互式批量调用场景。将套餐 API Key 用于允许范围之外的调用将被视为违规或滥用,可能会导致订阅被暂停或 API Key 被封禁。"

使用前请了解以下风险评估:

使用场景 是否符合条款 风险
交互式使用(手动触发 skill,人在回路) 符合
半自动(每轮需人工确认,AUTO_PROCEED: false 基本符合
过夜全自动循环(/auto-review-loop 无人值守) 违反 高,可能封禁 Key
llm-chat MCP 作为审查器被 Claude Code 调用 存在争议 中,取决于阿里方面解释

建议:如需完全自动化的过夜科研循环,考虑改用按量计费的百炼 API Key,或其他没有此限制的提供商(DeepSeek、MiniMax 直连等)。


双层架构

Coding Plan 提供两套 API 端点,分别对应 ARIS 的两个角色:

┌──────────────────────────────────────────────────────────┐
│                    Claude Code (CLI)                      │
│                                                           │
│  ┌──────────────────┐       ┌─────────────────────────┐  │
│  │     执行器        │──────▶│        审查器            │  │
│  │  (Claude CLI)    │       │   (llm-chat MCP)        │  │
│  │                  │       │                         │  │
│  │  ANTHROPIC_* 变量 │       │  LLM_* 环境变量          │  │
│  │  → Anthropic 端点 │       │  → OpenAI 端点           │  │
│  └──────────────────┘       └─────────────────────────┘  │
└──────────────────────────────────────────────────────────┘
角色 协议 端点
执行器(Claude CLI) Anthropic 兼容 https://coding.dashscope.aliyuncs.com/apps/anthropic
审查器(llm-chat MCP) OpenAI 兼容 https://coding.dashscope.aliyuncs.com/v1

两个端点使用同一个 Coding Plan 专属 API Key,无需分别申请。


安装步骤

前置条件

  • Claude Code CLI 已安装:npm install -g @anthropic-ai/claude-code
  • Python 3 可用:python3 --version(用 which python3 确认路径)
  • 已购买阿里百炼 Coding Plan 套餐并获取专属 API Key(在套餐页面直接获取,与百炼按量 Key 不互通

Step 1:克隆仓库

git clone https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep.git
cd Auto-claude-code-research-in-sleep

Step 2:安装 Python 依赖

pip3 install -r mcp-servers/llm-chat/requirements.txt

Step 3:部署 llm-chat MCP 服务器

mkdir -p ~/.claude/mcp-servers/llm-chat
cp mcp-servers/llm-chat/server.py ~/.claude/mcp-servers/llm-chat/server.py

Step 4:安装 Skills

mkdir -p ~/.claude/skills
cp -r skills/* ~/.claude/skills/

Step 5:配置 ~/.claude/settings.json

以下为推荐配置(kimi-k2.5 执行 + glm-5 审查)。用 which python3 替换 command 中的 python3 路径,用 echo $HOME 替换路径中的 $HOME

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "your-coding-plan-api-key",
    "ANTHROPIC_BASE_URL": "https://coding.dashscope.aliyuncs.com/apps/anthropic",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "kimi-k2.5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.5-plus",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M2.7",
    "API_TIMEOUT_MS": "3000000",
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "6000"
  },
  "mcpServers": {
    "llm-chat": {
      "command": "/usr/bin/python3",
      "args": ["$HOME/.claude/mcp-servers/llm-chat/server.py"],
      "env": {
        "LLM_API_KEY": "your-coding-plan-api-key",
        "LLM_BASE_URL": "https://coding.dashscope.aliyuncs.com/v1",
        "LLM_MODEL": "glm-5"
      }
    }
  }
}

Linux 路径说明$HOME 通常为 /root(root 用户)或 /home/用户名。运行 echo $HOME 确认,并将配置中 args 里的 $HOME 替换为实际路径(settings.json 不会自动展开 shell 变量)。同理,用 which python3 确认 python3 实际路径。

Step 6:改写所有使用 Codex MCP 的 Skills

项目中有 12 个 skill 调用 mcp__codex__codex(依赖 OpenAI Responses API,Coding Plan 不支持)。在启动 Claude Code 后执行以下指令,让它自动完成改写:

Read skills/auto-review-loop-llm/SKILL.md as a reference.
It replaces mcp__codex__codex with mcp__llm-chat__chat.
Now rewrite ALL other skills that use mcp__codex__codex / mcp__codex__codex-reply
to use mcp__llm-chat__chat instead, following the same pattern.

Claude Code 会自动:

  1. 扫描 ~/.claude/skills/ 中所有使用 Codex MCP 的 skill 文件
  2. 参考 auto-review-loop-llm 的写法(MCP 优先 + curl fallback)
  3. 逐个改写为调用 mcp__llm-chat__chat

注意:此操作只修改 ~/.claude/skills/ 中的本地副本,不影响仓库原文件。如需恢复,重新执行 Step 4 即可。


模型选择建议

场景 执行器(OPUS 位) 审查器(llm-chat) 说明
推荐:能力均衡 kimi-k2.5 glm-5 kimi 执行综合能力强,glm-5 推理审查严谨
备选:速度优先 qwen3.5-plus MiniMax-M2.7 两者出词最快,适合快速迭代和调试
备选:测试阶段 qwen3.5-plus glm-5 执行轻量省请求次数,审查保持质量

关于跨模型优势:ARIS 的核心设计是执行器和审查器使用不同模型,互不审自己的输出,形成真正的反馈循环。如果两端用同一模型(如都用 kimi-k2.5),会部分削弱这一优势。


使用方法

配置完成后,按如下方式启动 Claude Code 并使用 skill:

claude

直接可用(无需改写)

/auto-review-loop-llm "你的论文主题"    # 已原生支持 llm-chat MCP

改写后可用(Step 6 完成后)

/idea-discovery "你的研究方向"          # 工作流 1:文献 → idea → 查新 → 实验
/auto-review-loop "你的论文主题"        # 工作流 2:自动 review 循环
/paper-writing "NARRATIVE_REPORT.md"   # 工作流 3:叙事 → LaTeX → PDF
/research-pipeline "你的研究方向"       # 完整流水线:1 → 2 → 3

验证安装

1. 验证执行器端点(Anthropic 协议)

curl -s "https://coding.dashscope.aliyuncs.com/apps/anthropic/v1/messages" \
  -H "Content-Type: application/json" \
  -H "x-api-key: your-coding-plan-api-key" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"model":"kimi-k2.5","max_tokens":50,"messages":[{"role":"user","content":"Say hello"}]}'

预期:返回包含 "content" 字段的 JSON,其中有模型回复文本。

2. 验证审查器端点(OpenAI 协议)

curl -s "https://coding.dashscope.aliyuncs.com/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-coding-plan-api-key" \
  -d '{"model":"glm-5","messages":[{"role":"user","content":"Say hello"}],"max_tokens":50}'

预期:返回包含 "choices" 字段的 JSON,其中有模型回复文本。

3. 验证 llm-chat MCP 服务器

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | \
  LLM_API_KEY="your-coding-plan-api-key" \
  LLM_BASE_URL="https://coding.dashscope.aliyuncs.com/v1" \
  LLM_MODEL="glm-5" \
  python3 ~/.claude/mcp-servers/llm-chat/server.py

预期输出中包含:"protocolVersion":"2024-11-05"

4. 在 Claude Code 中端到端验证

claude
> 读一下这个项目,验证 /auto-review-loop-llm skill 是否正常可用,列出可识别的所有 skill

文件结构总览

~/.claude/
├── settings.json                        # 包含 Coding Plan 执行器 + llm-chat MCP 配置
├── mcp-servers/
│   └── llm-chat/
│       └── server.py                    # 通用 LLM MCP 服务器(支持任意 OpenAI 兼容 API)
└── skills/
    ├── auto-review-loop-llm/
    │   └── SKILL.md                     # 已原生支持 llm-chat MCP,无需改写
    ├── idea-creator/
    │   └── SKILL.md                     # Step 6 改写后调用 mcp__llm-chat__chat
    ├── research-review/
    │   └── SKILL.md                     # Step 6 改写后调用 mcp__llm-chat__chat
    ├── novelty-check/
    │   └── SKILL.md                     # Step 6 改写后调用 mcp__llm-chat__chat
    └── ...(其余 11 个 skill 类似)

项目目录(运行时生成)/
├── AUTO_REVIEW.md                       # 审查日志(自动追加)
└── REVIEW_STATE.json                    # 状态持久化,支持断点恢复

与其他方案对比

默认方案 本方案(Coding Plan) MiniMax 方案 GLM + DeepSeek
执行器 Claude Opus/Sonnet kimi-k2.5 / qwen3.5-plus GLM-5 (Z.ai) GLM-5 (Z.ai)
审查器 GPT-5.4 (Codex MCP) glm-5 / MiniMax-M2.7 MiniMax-M2.7 DeepSeek
需要 Claude API
需要 OpenAI API
API Key 数量 2 个 1 个 2 个 2 个
配置指南 README 快速开始 本文档 MINIMAX_MCP_GUIDE LLM_API_MIX_MATCH_GUIDE

常见问题

Q:执行器报错 "401 Unauthorized"?

Coding Plan 专属 API Key 与百炼平台按量调用 Key 不互通。确认在 Coding Plan 套餐页面 获取的是套餐专属 Key,而非普通百炼 Key。

Q:llm-chat MCP 工具在 Claude Code 中不出现?

  1. 检查系统临时目录中的 llm-chat-mcp-debug.log(可运行 python3 -c "import tempfile; print(tempfile.gettempdir())" 查看路径)
  2. 确认 settings.jsoncommand 的 python3 路径正确(which python3
  3. 确认 args 中的路径为绝对路径,不能包含未展开的 $HOME(需替换为 /root 或实际路径)
  4. 重启 Claude Code

Q:改写后 skill 仍然调用 mcp__codex__codex?

检查 ~/.claude/skills/ 下对应 SKILL.md 文件内容是否已更新。若未改写,重新执行 Step 6 的指令。

Q:Linux 上 python3 路径在哪?

运行 which python3 确认。常见路径:/usr/bin/python3。若使用 conda/venv 环境,路径会不同(如 /root/miniconda3/envs/xxx/bin/python3)。

Q:过夜自动运行安全吗?

Coding Plan 明确禁止"非交互式批量调用",过夜无人值守的自动化循环存在封禁风险。建议改用百炼按量计费 Key 或其他无此限制的提供商。

Q:如何切换审查器模型(如从 glm-5 改为 MiniMax-M2.7)?

修改 ~/.claude/settings.jsonmcpServers.llm-chat.env.LLM_MODEL 的值,重启 Claude Code 即可生效。


参考资料