
1. 从 Claude Code 迁到 Qoder CLI一个 TUI 项目的真实迁移记录Claude Code 用顺手之后项目里往往已经攒了一堆命令、配置和 Agent 工作流。这时候要换工具麻烦的从来不是重新装一个 CLI而是这些积累怎么一起搬过去。Qoder CLI 是 Qoder 推出的 AI 编程命令行工具可以理解成阿里版的 Claude Code它同时提供 CLI 和 IDE 形态默认支持 BYOK自带 Key能接入阿里云百炼、OpenAI、GLM、Kimi 等模型服务。这篇文章适合两类人看一类是 Claude Code 老用户想评估迁移成本另一类是刚接触 CLI Agent、想找一个国内访问更顺手的编程助手的新手。我这次做的事情很具体用 Qoder CLI CN 迁移一遍配置再拿一个仿 Claude Code 的 TUI 小项目试/quest、/goal和多 Agent 流程把安装、配置、迁移、验证、排障整条链路走通。下面所有命令和配置都是实测可复制的你照着做基本能复现。先说结论方向Qoder CLI 保留了/clear、/compact、/help这些 Claude Code 常用命令项目约定文件从CLAUDE.md换成了AGENTS.md配置目录变了但使用思路没有推倒重来。真正需要你重新理解的是模型接入方式和 Agent 编排的细节。这篇会重点讲这两块因为迁移踩坑基本都出在这里。2. 迁移前的前置准备Qoder CLI 安装、登录与模型配置这一节把环境准备好后面才能谈迁移。整个过程分四步装 CLI、登录、配模型、装迁移技能。2.1 安装 Qoder CLI打开 Qoder 页面复制当前系统对应的安装命令执行。安装完成后运行版本检查qoderclicn --version终端打印出版本号说明安装成功。如果提示command not found先确认安装脚本输出的路径已经加进PATHWindows 下重开一个终端再试。2.2 登录的两种方式首次执行qoderclicn时CLI 会提示登录。方式一是在 TUI 里选Sign in to continue或者直接输入/login然后按引导走 OAuth也可以选Login with personal access token把 Token 粘进终端。方式二适合自动化环境用环境变量# Linux/macOS export QODERCN_PERSONAL_ACCESS_TOKENyour_personal_access_token_here # Windows 命令提示符 set QODERCN_PERSONAL_ACCESS_TOKENyour_personal_access_token_here注意如果/login和环境变量里同时存在有效令牌以/login提供的为准。自动化脚本里建议只用环境变量避免交互式登录卡住。2.3 模型配置订阅还是 BYOK没买订阅、体验额度又用完时CLI 会提示升级。不想买订阅就走自定义模型在对话框输入/model选Custom选模型我这里用 GLM-5.2配置上下文窗口和 effort填入 API Key。出现配置成功界面就 OK 了。Qoder CLI 还提供 Auto、Ultimate、Performance、Efficient、Lite 几个档位在 TUI 输入/model进Default标签页切换。多模型接入的实际价值是减少对单一供应商的依赖某个服务不可用时能换到别的模型继续干活。如果你希望把模型调用统一收口、方便做 Key 和额度管理可以了解下 TaoToken 的接入方式它提供兼容的 API 入口配合 CLI 的 BYOK 配置能少改几处环境变量。具体接入文档在 https://taotoken.net/api Key 在 https://taotoken.net/api-keys 申请。2.4 安装迁移技能打开 Qoder 技能市场复制“给 Agent”的提示词粘到 CLIQoder 会自动安装迁移技能。重启会话后输入/claude-to-qoder-migration即可触发。迁移过程只复制、不删除原有 Claude Code 配置会保留。3. 可复制的迁移配置settings、MCP 与 AGENTS.md 对照这一节是迁移的核心。Qoder 官方把迁移做成了claude-to-qoder-migration技能流程分五步只读检查、生成迁移计划、确认高风险资源、执行迁移、输出迁移报告。迁移范围包括 settings、MCP servers、commands、skills、agents、hooks、memoryCLAUDE.md→AGENTS.md、output styles、permissions 和 plugins。3.1 配置文件路径对照项目Claude CodeQoder CLI项目约定CLAUDE.mdAGENTS.mdMCP 配置.mcp.json/ settings 内mcpServers同样识别.mcp.json与mcpServers用户级配置~/.claude/Qoder 对应配置目录权限settings 内permissions迁移时逐项确认现有.mcp.json以及 settings 里的mcpServers可以直接交给 Qoder CLI 识别不用手改格式。3.2 一份可复制的 MCP 配置片段迁移时最常动的是 MCP。下面这份 JSON 结构在两边都能识别路径按你项目实际位置改{ mcpServers: { filesystem: { command: npx, args: [-y, modelcontextprotocol/server-filesystem, /your/project/path] }, fetch: { command: npx, args: [-y, modelcontextprotocol/server-fetch] } } }如果你用 Cline MCP 或 CC Switch 管理过多套供应商迁移时记住三件套要一起对齐Base URL、Key、Model ID。任何一项对不上请求就会失败。比如把 Base URL 指向兼容入口、Key 用你自己的、Model ID 写实际模型名三者缺一不可。3.3 AGENTS.md 怎么写才不白迁迁移规则文件时别只做机械复制。项目约定、常用命令、必须遵守的限制应该保留临时上下文和无效规则该清就清。一份好的AGENTS.md大概长这样# 项目约定 - 包管理器统一用 pnpm禁止混用 npm/yarn - 提交前必须跑 pnpm lint pnpm test - 目录结构src/ 源码tests/ 测试scripts/ 脚本 # 常用命令 - 启动开发pnpm dev - 构建pnpm build - 单测pnpm test -- file # 限制 - 不要改动 src/legacy/ 下的文件 - 新增依赖前先说明理由不会迁移的内容包括 auth state、OAuth/session 文件、managed settings、remote settings 和 trust caches。账号与会话信息仍要在 Qoder 里单独配。4. 验证请求与成功结果/quest、/goal 与多 Agent 实测配置搬完得用真实任务验证。我拿一个仿 Claude Code 的 TUI 小项目测试目标是补一套 TUI 界面涉及需求确认、方案设计、文件修改和编译验证。4.1 用 /quest 走需求到设计先用/quest描述需求。Qoder 会先探索项目、追问细节并生成设计文档确认方案后再按计划调用不同 Subagent 执行。执行记录里能看到 M1 Subagent 这类标记说明任务被拆开并行处理。4.2 用 /goal 跑长任务计划执行时间不短不想一直守着终端就交给/goal。执行/goal set 目标后Qoder 进入自主执行状态自动切到 auto 模式并锁定 ShiftTab 模式切换。Goal 可以和 Plan 配合先规划再执行暂停用/goal pause退出用/goal clear。/goal set 优化 my-code 的 TUI 交互体验使其更专业、易用可以借鉴 Claude Code 的界面样式。 目标分解与执行 1. 修复现有问题 - 修复编译错误裸换行符字符串字面量- 修复输入阻塞 Bug 2. 增强状态显示 - 添加底部状态栏 - 输入框旁添加状态指示器 3. 改进交互效率 - 添加常用快捷键F1 帮助、F2 切换模式、Esc 取消等 执行要求 - 保持现有架构不变只做最小必要改动 - 每完成一个子任务就更新进度并验证 - 编译通过、TUI 正常运行后才算完成 - 最终给出改动总结和验证结果Qoder 随后按目标继续执行每个子任务后更新进度和验证结果。长任务仍然要检查编译、测试和最终改动不能只看 Agent 的完成提示。4.3 创建代码阅读 Agent我还试了给开源项目创建代码阅读 Agent让它聚焦某个模块避免全仓库乱搜。用/agents命令TUI 里执行/agents进配置面板Tab 切到 User 或 Project选Create new agent...输入描述确认。创建后重启会话输入code-reader 分析面试模块的架构Qoder 就按配置开始读代码。4.4 成功结果怎么判断验证成功的标志有三个编译通过、TUI 正常运行、改动总结和验证结果都生成。如果 Agent 说完成了但编译报错说明验收标准没写严回到对话里补一句“编译通过才算完成”再跑。5. 本篇常见错排查401、local proxy failed 与配置冲突迁移和运行过程中报错基本集中在几类。下面按真实报错对照排查。5.1 401 未授权最常见的是 401。原因通常是 Key 无效、Base URL 和 Key 不匹配或者环境变量没生效。排查顺序先确认QODERCN_PERSONAL_ACCESS_TOKEN或模型 API Key 是否粘贴完整再确认 Base URL、Key、Model ID 三件套是否对齐最后重启会话因为 CLI 只在启动时读配置。5.2 local proxy failed出现local proxy failed一般是本地代理配置和 CLI 的网络设置冲突。如果你之前用 CC Switch 之类工具切过供应商删掉的配置可能在切换后重新出现导致代理指向失效地址。处理办法是清掉残留的代理环境变量只保留一套网络配置然后重启 CLI。5.3 reading choices 报错reading choices类报错通常出现在模型返回格式不符合预期时比如自定义模型的接口不兼容。换一个兼容的 Model ID或者切回 Default 档位验证能快速定位是模型问题还是配置问题。5.4 OAuth 登录失败OAuth 失败先检查浏览器是否完成授权、Token 是否过期。自动化环境建议直接用 personal access token绕开交互式登录。5.5 迁移后没反应跑了迁移技能没反应先确认 Qoder CLI 完全重启。它只在启动时读配置不会热切换。Windows 在任务管理器确认进程退出macOS 用 CmdQ别只关窗口。配置冲突时不用慌迁移是只复制不覆盖报告里会标出冲突项你手动决定保留哪份。想切回 Claude Code源配置没动直接切回去即可。6. 迁移成本评估与后续接入建议把整条链路走完迁移成本其实比想象中低。命令习惯基本保留CLAUDE.md换成AGENTS.mdMCP 配置格式通用官方迁移技能把大部分复制工作自动化了。真正需要你花时间的是模型接入和 Agent 编排这两块因为它们决定了任务能不能稳定跑完。如果你更在意多模型切换、国内访问、配置迁移或企业审计Qoder CLI 是个不错的备选。它通过了 ISO/IEC 27001:2022 认证官方安全资料覆盖传输安全、身份与访问、运行时与 AI 安全、数据存储安全和供应链安全五类措施。企业版操作日志会记录平台侧服务调用管理员可以筛选导出。但认证、日志和本地执行不等于零风险接入时仍要核对 BYOK、MCP、Web 搜索和插件各自会访问哪些网络服务。想先把模型调用统一收口、方便管理 Key 和额度可以从 https://taotoken.net/api-keys 申请 Key接入文档在 https://taotoken.net/api 。想直接体验模型对话效果可以到 https://taotoken.net/api 的模型对话入口试一轮。如果打算长期用 CLI 跑编码和 Agent 任务Coding Plan 更适合按周期使用入口在 https://taotoken.net/api 。Claude Code 相关配置和迁移细节文档里也有对应说明https://taotoken.net/api 。最后给一个实用建议迁移前先把现有CLAUDE.md和 MCP 配置备份一份迁移后拿一个小任务验证编译和运行确认没问题再切主力项目。这样即使中途想切回去成本也几乎为零。