1. 微信里直接指挥 Claude Code到底解决了什么问题微信个人号接入 Claude Code 这件事核心价值在于把「打开终端、切目录、敲命令」这套动作压缩成「在微信对话框里发一句话」。你在地铁上、在会议室、在客户现场只要手机能发微信就能让跑在你自己机器上的 Claude Code Agent 去读代码、改文件、跑脚本。cc-connect 是这条链路里的桥接器ilink 是微信侧的机器人网关config.toml 则是把两者粘起来的配置文件。适合谁用三类人最明显一是经常离开工位但需要盯项目进度的独立开发者二是想把 Claude Code 当远程运维助手、又不愿意暴露公网端口的后端同学三是已经在用飞书通道、想再挂一个微信通道做双通道冗余的团队。它不需要公网 IPilink 由云端提供长轮询网关你的机器主动往外拉消息所以家里宽带、公司内网、云主机都能跑。整条链路的工作模型不复杂cc-connect 启动后按 config.toml 里的 project 逐个拉起 agent这里是 claudecode和 platform这里是 weixin。微信通道底层走 ilink 的 getUpdates 长轮询收消息、sendMessage 下发消息。你在微信里发的每一句话先到 ilink再被 cc-connect 拉到本地转交给 Claude Code 执行执行结果再原路发回你的微信。理解了这个流向后面配置里每个字段为什么存在就都说得通了。下面按「先备好统一通道 → 再写配置 → 再验证 → 再排障」的顺序走一遍每一步都给可复制的命令和配置。2. 前置准备TaoToken 统一 Key 与 API 通道Claude Code 要能跑起来底层得有一个稳定的模型 API 通道。我建议把模型通道统一收敛到 TaoToken原因是它同时提供对话、Coding Plan 和标准 API 三种入口Claude Code 这种长时间编码场景用 Coding Plan 更划算临时验证模型用模型对话页面就够而 cc-connect 里 agent 走的是标准 API 通道一个 Key 就能覆盖。先拿到 Key。打开 https://taotoken.net/api-keys 登录后创建一个 API Key复制出来形如sk-xxxxxxxx。这个 Key 后面要写进 Claude Code 的环境变量不要直接硬编码进 config.tomlconfig.toml 只管平台侧模型侧交给 Claude Code 自己的配置。如果你还没装 Claude Code先装npm install -g anthropic-ai/claude-code然后把 TaoToken 的 API 通道写进环境变量。Claude Code 支持通过ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN指向兼容端点export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENsk-你的Key想让它永久生效写进~/.zshrc或~/.bashrc。验证一下 Claude Code 本身能不能通claude -p 用一句话说明当前目录有几个文件能返回结果说明模型通道没问题接下来才轮到 cc-connect 和微信通道。这一步别跳过否则后面微信收不到回复时你分不清是模型通道挂了还是微信通道挂了。提示Coding Plan 适合长期挂着 Agent 跑任务的场景模型对话页面适合临时试模型效果两者和 API Key 是同一套账号体系按需切换即可。3. cc-connect 安装与 config.toml 骨架cc-connect 是一个 Go 写的单二进制工具安装方式看你的平台。源码编译git clone https://github.com/chenhg5/cc-connect.git cd cc-connect go build -o cc-connect ./cmd/cc-connect编译完把cc-connect放到 PATH 里或者直接用绝对路径调用。确认可执行cc-connect --helpconfig.toml 的结构是「全局配置 多个 project」每个 project 下面挂一个 agent 和若干 platform。先看一个只有飞书通道的典型骨架理解层级language zh [log] level info [[projects]] name justgotrip [projects.agent] type claudecode [projects.agent.options] work_dir /Users/terry/Downloads/szjz mode default [[projects.platforms]] type feishu [projects.platforms.options] app_id cli_xxxxxxxxxxxx app_secret xxxxxxxxxxxxxxxxxxxxxxxx关键点[[projects]]是数组表写几个就是几个项目[projects.agent.options]里的work_dir决定 Claude Code 在哪个目录干活[[projects.platforms]]也是数组一个项目可以挂多个平台。微信通道就是在这个骨架上再加一个 projectplatform 类型写weixin。4. 扫码登录并自动写入微信 Token微信通道的认证靠 ilink 机器人网关签发的 Bearer Token。cc-connect 提供了一条命令把「扫码 写配置」一次做完cc-connect weixin setup --project eutopian --config /path/to/config.toml参数含义--project eutopian指定目标项目名如果这个项目不存在会自动创建并挂上 weixin 平台--config指定 config.toml 路径不填走默认路径。执行后终端会打印一个 ASCII 二维码同时输出可复制的 URL。用手机微信扫码并确认登录成功后 cc-connect 会把 token、base_url、account_id 自动写回 config.toml追加出类似这样的段落[[projects]] name eutopian [projects.agent] type claudecode [projects.agent.options] work_dir /Users/terry/.cc-connect mode default [[projects.platforms]] type weixin [projects.platforms.options] token d36404f141edim.bot:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx base_url https://ilinkai.weixin.qq.com account_id d36404f141edim.bot这里有个坑必须手动修自动写入的work_dir默认指向 cc-connect 自身目录不是你的项目目录。不改的话 Claude Code 会在错误的地方读文件。把它改成你真正想让它工作的路径[projects.agent.options] work_dir /Users/terry/Downloads/code/eutopian mode default如果你已经有 Token、不想重新扫码用 bind 子命令直接写cc-connect weixin bind --project eutopian --token 你的_Bearer_Token5. 配置 allow_from 与 admin_from 收紧权限刚启动时如果没配这两个字段日志会刷警告levelWARN msgallow_from is not set — all users are permitted. levelWARN msgadmin_from is not set — privileged commands are blocked.意思是任何人都能跟你的机器人对话而特权命令全被挡掉。生产环境这两个字段都要填。先拿到你自己的微信用户 ID启动 cc-connect 后用微信给机器人发一条任意消息日志里会出现levelINFO msgmessage received platformweixin usero9cq807tacASJCy5LaJPqx6kbFa4im.wechat sessionweixin:dm:o9cq807tacASJCy5LaJPqx6kbFa4im.wechatuser后面那串xxxxxim.wechat就是你的 ilink 用户 ID。把它填进配置[projects.platforms.options] token d36404f141edim.bot:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx base_url https://ilinkai.weixin.qq.com account_id d36404f141edim.bot allow_from o9cq807tacASJCy5LaJPqx6kbFa4im.wechat admin_from o9cq807tacASJCy5LaJPqx6kbFa4im.wechat两个字段的分工要分清allow_from控制谁能跟机器人对话多个 ID 用英文逗号分隔写*等于不限制别这么干admin_from控制谁能执行/shell、/show、/dir、/restart、/upgrade这类特权命令。建议两个都只填你自己的 ID。6. 完整 config.toml 与启动验证把飞书项目和微信项目放一起完整配置长这样language zh [log] level info [[projects]] name justgotrip [projects.agent] type claudecode [projects.agent.options] work_dir /Users/terry/Downloads/szjz mode default [[projects.platforms]] type feishu [projects.platforms.options] app_id cli_xxxxxxxxxxxx app_secret xxxxxxxxxxxxxxxxxxxxxxxx [[projects]] name eutopian [projects.agent] type claudecode [projects.agent.options] work_dir /Users/terry/Downloads/code/eutopian mode default [[projects.platforms]] type weixin [projects.platforms.options] token d36404f141edim.bot:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx base_url https://ilinkai.weixin.qq.com account_id d36404f141edim.bot allow_from o9cq807tacASJCy5LaJPqx6kbFa4im.wechat admin_from o9cq807tacASJCy5LaJPqx6kbFa4im.wechat启动cc-connect start --config /path/to/config.toml正常启动日志应该包含这几行levelINFO msgplatform ready projectjustgotrip platformfeishu levelINFO msgengine started projectjustgotrip agentclaudecode platforms1 levelINFO msgplatform ready projecteutopian platformweixin levelINFO msgengine started projecteutopian agentclaudecode platforms1 levelINFO msgcc-connect is running projects2两个项目都出现platform ready就算成功。接下来有一个容易被忽略的初始化动作微信通道首次连接必须先发一条消息触发 context_token 关联之后/new、/reset这些指令才能正常用。操作就是启动后用微信给机器人发一句「你好」等它回复首次响应大概 10 到 15 秒。关联完成后你在微信里发的指令就会真正落到 Claude Code 上执行。验证链路是否真的通了发一条能产生明确输出的指令比如让它列目录/dir或者直接说「看一下当前目录有哪些文件」。如果返回的是你work_dir下的真实文件列表说明微信 → ilink → cc-connect → Claude Code → 回微信这条链路完整打通。7. 本篇常见错误排查扫码超时或无反应。先加超时时间重试cc-connect weixin setup --project eutopian --timeout 600再确认机器能不能访问https://ilinkai.weixin.qq.com。如果所在网络对出站有限制可以用--api-url指定其他网关地址。启动后收不到消息。按顺序排查三件事allow_from里有没有你的用户 ID改完配置有没有重启进程首次 context_token 关联做了没有就是先发一条消息那步。这三条里漏任何一条都会表现为「机器人装死」。Claude Code 在错误目录干活。九成是work_dir没改还停在 cc-connect 自身目录。回去把[projects.agent.options]下的work_dir改成你的项目路径重启。想同时跑多个微信账号。在同一个 project 下加多个 weixin platform用account_id隔离本地状态目录[[projects.platforms]] type weixin [projects.platforms.options] token 账号1的token account_id account_1 [[projects.platforms]] type weixin [projects.platforms.options] token 账号2的token account_id account_2扫码写入时用--platform-index指定写到第几个平台cc-connect weixin setup --project eutopian --platform-index 2想精简编译、排除微信通道。用 build taggo build -tags no_weixin ./cmd/cc-connect媒体能力对不上。微信通道支持文字、引用、语音转写、图片、文件、视频收发但语音转写要额外配 STT 和 ffmpeg图片接收要配cdn_base_url。出站图片和文件用cc-connect send --image/--file。这些属于可选增强先把文字链路跑通再逐个加。可选配置项速查表字段作用token必填Bearer Tokenbase_url可选默认https://ilinkai.weixin.qq.comcdn_base_url可选媒体 CDN 地址allow_from建议填写限制使用者admin_from建议填写开启管理命令account_id多账号时区分状态目录route_tag运营商要求时填写long_poll_timeout_ms长轮询超时默认 35000proxy可选 HTTP 代理8. 通道打通之后把模型入口也收拢微信这条链路跑通只是第一步真正决定体验的是底层模型通道稳不稳。Claude Code 长时间挂着跑任务最怕 Key 限流或通道抖动所以我把模型入口统一放在 TaoToken日常临时验证模型效果用模型对话页面 https://taotoken.net/models 长期编码和 Agent 任务用 Coding Plan https://taotoken.net/coding-plan 需要自己写脚本调标准接口时用 API 文档 https://taotoken.net/doc 。Key 统一在 https://taotoken.net/api-keys 管理换 Key 只改一处环境变量cc-connect 侧完全不用动。如果你还没配 Claude Code 的接入参数直接看接入文档 https://taotoken.net/doc 里面有ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN的完整写法。微信通道这边config.toml 只管平台认证模型认证交给 Claude Code 自己两层解耦之后排障会轻松很多——收不到消息查微信通道收到消息但模型不回复查模型通道边界清晰。最后留一个实操建议把cc-connect start用 systemd 或 launchd 托管起来配置改完自动重启省得每次手动拉进程。微信通道的long_poll_timeout_ms默认 35 秒网络不稳的环境可以适当调大减少长轮询断连重试的频率。
