ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI辅助学习编程语言:用 Code Tutor Skills 配 TaoToken 搭建 Rust/Go 陪练环境

AI辅助学习编程语言:用 Code Tutor Skills 配 TaoToken 搭建 Rust/Go 陪练环境 1. 为什么学 Rust/Go 需要一个「陪练」而不是又一个教程学 Rust 和 Go 最容易卡住的地方其实不是语法本身而是没人盯着你写。看视频、读文档的时候感觉都懂一合上教程就不知道从哪下手写出来的代码也没人 review错了只能自己猜。Code Tutor Skills 就是冲着这个痛点来的它是一套面向 Codex 和 Claude Code 的编程学习 skill 集合每个 skill 负责一门语言自带课程大纲、练习规则、进度模板和本地练习工作区。你只要在 agent 会话里说一句「开始学习 Rust」它就会像老师一样问你基础信息、安排课程、布置练习、review 你的代码。但真用起来会撞上第二个问题Codex 和 Claude Code 各自要配 KeyRust 陪练和 Go 陪练可能又跑在不同工具里Key 分散、base_url 反复改换个工具就得重配一遍。这篇就解决这件事——用 TaoToken 做统一的 Key 和 API 通道把 Code Tutor Skills 在 Codex、Claude Code 里的 Rust/Go 陪练环境一次搭好后面切工具、切语言都不用再动 Key。适合谁已经会一门语言、想系统学 Rust 或 Go 的人同时用 Codex 和 Claude Code、懒得维护多套配置的人想给学习过程加个「会追问、会 review」的陪练的人。下面从环境准备到验证陪练是否生效一步步给可复制的骨架。2. TaoToken 前置一个 Key 打通 Codex 与 Claude CodeTaoToken 在这里扮演的角色是「统一入口」你只在它这里拿一个 API KeyCodex 和 Claude Code 都指向同一个 API 地址Rust 陪练和 Go 陪练共用这条通道。这样做的直接好处是配置只写一次换工具、换语言、换项目都不用重新申请和替换 Key。需要提前准备的东西不多一个 TaoToken 账号登录后在控制台创建 API Key本机装好 Codex 和 Claude Code两个都装或者先装你要用的那个本机 Rust 工具链rustc、cargo和 Go 工具链go陪练会检查版本一个干净的学习目录比如~/learn。拿 Key 的入口在控制台创建后复制那串以sk-开头的字符串先存到环境变量里别直接写死在配置文件里。我习惯这样export TAOTOKEN_API_KEYsk-你的key想确认 Key 和通道是否正常最省事的办法是先去模型对话页面发一条消息试试能正常回就说明 Key 没问题再去配工具。这一步能帮你把「Key 错」和「工具配置错」两类问题分开后面排障会轻松很多。注意API 地址统一用https://taotoken.net/api不要自己拼别的路径。Codex 和 Claude Code 都填这个。3. 可复制配置settings.json 与 config.toml 骨架这一节是全文的核心两个配置文件直接抄改一处 Key 就行。3.1 Claude Code 的 settings.jsonClaude Code 读的是~/.claude/settings.json全局或项目里的.claude/settings.json。用 TaoToken 做通道时关键是env段里的ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的key }, permissions: { allow: [ Bash(rustc --version), Bash(cargo --version), Bash(go version) ] } }permissions.allow这几条是给陪练用的它要检查你的工具链版本提前放行省得每次弹确认。如果你不想用环境变量把sk-你的key直接替换成真实 Key 也能跑但更推荐用ANTHROPIC_AUTH_TOKEN引用环境变量避免 Key 进 git。3.2 Codex 的 config.tomlCodex 读的是~/.codex/config.toml。它用model_providers定义通道再在顶层指定用哪个model claude-sonnet-4-5 model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api chatenv_key写的是环境变量名不是 Key 本身Codex 启动时会去读TAOTOKEN_API_KEY。wire_api用chat就行。这样 Codex 和 Claude Code 指向同一个base_url共用同一个 Key切工具时你什么都不用改。3.3 安装 Code Tutor Skills 到学习目录配置好通道接着装 skill。先克隆仓库git clone https://github.com/Akvicor/code-tutor-skills.git cd code-tutor-skills想用角色卡的话把persona-cards里的文件复制到对应 skill 的 personas 目录cp persona-cards/* rust-tutor/references/personas/ cp persona-cards/* go-tutor/references/personas/然后回到学习目录做项目本地安装只在这个项目生效不污染全局cd ~/learn mkdir -p .agents/skills .claude/skills mv ~/code-tutor-skills/rust-tutor .agents/skills/rust-tutor mv ~/code-tutor-skills/go-tutor .agents/skills/go-tutor cp -R .agents/skills/rust-tutor .claude/skills/rust-tutor cp -R .agents/skills/go-tutor .claude/skills/go-tutorCodex 认.agents/skills/Claude Code 认.claude/skills/两边都放一份同一个学习目录两个工具都能用。装完目录结构大概是这样learn/ ├── .agents/skills/ │ ├── rust-tutor/ │ └── go-tutor/ └── .claude/skills/ ├── rust-tutor/ └── go-tutor/学习过程中生成的进度和练习代码是本地状态和 skill 本体分开.rust-tutor/、.go-tutor/存进度workspace-rust/、workspace-go/存练习代码。这些目录别提交到 git加进.gitignore更干净。4. 验证请求一条提问确认陪练是否生效配置对不对跑一次就知道。进学习目录启动 Codexcd ~/learn codex在会话里输入开始学习Rust如果通道和 skill 都正常agent 会自动调用rust-tutor然后问你学习档案类似这样开始前需要先确认学习档案我会把它记录到本地进度文件里。 请直接回复一行例如 中文已有其他语言项目经验没学过 Rust通用基础默认 需要确认的信息 - 讲解语言中文 - 既有编程经验无系统编程经验 / 学过一点编程 / 已有其他语言项目经验 - Rust 经验没学过 Rust / 看过语法 / 写过 Rust 项目 - Rust 学习目标CLI/工具开发 / 后端/服务开发 / 系统/性能方向 / 通用基础 - 教学角色默认 / flandre.md / sakuya.md按你的情况回一行比如中文已有其他语言项目经验没学过 RustCLI/工具开发sakuya.md它会把这些持久化到.rust-tutor/progress.md然后开始讲第一个知识点并检查你的工具链学习档案已初始化到 .rust-tutor/progress.md练习目录已准备好workspace-rust。 本机 Rust 工具链可用 rustc 1.95.0 cargo 1.95.0 当前知识点rustc --version 和 cargo --version 理解检查请直接回答一句话即可 rustc 和 cargo 分别负责什么为什么开始学习前要先确认它们的版本命令能运行看到这段「理解检查」就说明陪练生效了——它不只是回你话而是按课程节奏在推进。Go 同理把开始学习Rust换成开始学习Go走的是go-tutor。想验证模型通道本身是否通可以在模型对话页面发一条「用一句话解释 Rust 所有权」能正常回就说明 Key 和通道没问题剩下的都是 skill 安装的事。5. 本篇常见错排查配这套环境踩的坑基本集中在几处对照着看。报 401 或鉴权失败九成是 Key 没读到。Codex 的env_key写的是变量名确认TAOTOKEN_API_KEY在当前 shell 里echo得出来Claude Code 的ANTHROPIC_AUTH_TOKEN同理。环境变量在 A 终端设的B 终端不一定有重开终端或写进 shell 配置。报 404 或路径不对检查base_url是不是https://taotoken.net/api别多写或少写/v1之类。两个工具的地址保持一致。输入「开始学习Rust」没反应先确认 skill 装对目录了。Codex 看.agents/skills/rust-tutor/SKILL.md在不在Claude Code 看.claude/skills/rust-tutor/SKILL.md。目录名要和 skill 名一致别改成rust或rust_tutor。陪练不检查工具链、直接跳课程多半是permissions.allow没放行rustc --version这类命令或者本机根本没装 Rust。先手动跑一遍rustc --version和cargo --version装好再进会话。进度丢了、每次从零开始检查是不是换了学习目录。进度存在.rust-tutor/progress.md换目录等于换档案。固定一个学习目录别到处开。两个工具行为不一致Codex 和 Claude Code 读的是不同配置文件改了一个别忘另一个。共用同一个base_url和 Key行为差异一般只来自模型和 skill 版本。提示排障时先分层——Key/通道问题去模型对话页面验证skill 问题看目录结构工具链问题手动跑版本命令。三层分开定位快很多。6. 把陪练用起来长期编码与 Agent 场景环境搭好只是开始真正省心的是后面长期用。Rust 和 Go 的学习周期都不短陪练会持续记录进度、按知识点推进、review 你workspace-rust/里的代码这些会话是长期、高频的。如果你打算把 Codex 或 Claude Code 当日常编码和 Agent 工具用而不是只学一两周走 Coding Plan 更划算额度按长期用量算不用每次盯着零散消耗。接入和排障相关的细节Key 管理在 API Keys 页面通道和参数说明在接入文档遇到配置问题先翻这两处比到处搜快。模型本身的行为想单独验证还是回模型对话页面发一条最直接。最后给个实用习惯学习目录固定一个.rust-tutor/、.go-tutor/、workspace-*都留在里面定期把progress.md备份一下。这样换机器、重装工具把目录一拷陪练接着上次的进度继续不用重新自我介绍一遍。
返回列表