乐于分享
好东西不私藏

AtomCode 深度实战指南:从零安装到 MCP 扩展的完全手册

AtomCode 深度实战指南:从零安装到 MCP 扩展的完全手册

点击上方「行者聊开发」→ 点击右上角「...」→ 设为星标,不错过每一篇 AI 工程化实战干货。

摘要:AtomCode 是 AtomGit(CSDN / 开放原子开源基金会旗下)维护、100% Rust 编写的终端原生 AI 编程代理,定位"Claude Code / Cursor Agent 的开源平替"。

本文基于我连续一个月真实使用 v5.0 的经验,覆盖四种安装方式、TOML 全字段解析、CodingPlan 免费额度、多 Provider 并行、视觉预处理器、MCP 工具链、Skills 扩展,以及 5 个真金白银踩出来的坑。

所有命令与配置均基于 AtomCode v5.0 官方文档验证,适用于 macOS / Linux / Windows 全平台。

01 为什么我在终端里又养了一个"程序员"

上篇讲了 60 天的使用账单,这篇直接上"怎么用"。

2026 年 6 月,我同时维护三个仓库:一个 Spring Boot 后端、一个 Next.js 前端、一个 Python 数据管道。三个 IDE 同时开,内存 8GB+,风扇狂转,更糟的是上下文完全隔离。

那天我装了 AtomCode,整个下午的工作方式变了:一个终端窗口,用自然语言说"重构 order 模块的分库分表,保持 API 兼容",它自己读代码、改文件、跑测试、验证结果。切项目只需要 cd,上下文自动跟随。

这篇就是我从那天起一个月的完整复盘——把每一个配置字段、每一条命令、每一个坑都摊开讲。


02 AtomCode 到底是什么:架构与竞品

AtomCode 不是"代码补全插件",而是一个完整 Agent:理解意图后自主规划步骤,调用内置工具读文件、改代码、跑命令、搜网页,发现错误还能自动回滚重试。

图 1:AtomCode 五层架构——用户交互层、核心引擎、内置工具、外部接入、配置扩展

核心是 Agent Loop(多步骤自主循环):每轮都经过上下文裁剪(防超 Token)、权限审批(敏感操作确认)、工具调度三个环节。

和闭源竞品比,它的位置很清楚:

维度
AtomCode
Claude Code
Cursor Agent
GitHub Copilot
开源协议
完全开源
闭源
闭源
闭源
运行环境
终端原生
终端原生
IDE 内嵌
IDE 插件
模型支持
任意 OpenAI 兼容
仅 Claude
多模型
仅 GPT/Claude
本地模型
支持 Ollama
不支持
不支持
不支持
MCP 集成
原生支持
原生支持
支持
不支持
免费额度
CodingPlan
资源占用
~50MB
~80MB
~500MB+
~200MB

核心优势:完全开源 + 任意模型接入 + 终端原生 + 低资源占用。在意隐私、不想被模型厂商锁定、习惯终端工作流的人,目前最成熟的选择。


03 安装:四种方式,总有一款适合你

支持 macOS(Apple / Intel)、Linux、Windows、HarmonyOS PC 全平台。

方式一:一键脚本(推荐)

# macOS / Linux / HarmonyOS PCcurl -fsSL https://raw.atomgit.com/atomgit_atomcode/atomcode/raw/main/scripts/install.sh | sh# Windows PowerShellirm https://raw.atomgit.com/atomgit_atomcode/atomcode/raw/main/scripts/install.ps1 | iex

脚本把二进制放到 ~/.local/bin/atomcode,确认在 PATH 里:

which atomcodeecho'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrcsource ~/.bashrc

方式二:npm(需 Node 18+)

npm install -g @atomgit.com/atomcode

方式三:Homebrew

brew install --cask atomcode

方式四:源码构建(需 Rust 1.75+)

git clone https://atomgit.com/atomgit_atomcode/atomcode.gitcd atomcodecargo build --releasecp target/release/atomcode ~/.local/bin/

验证安装:

atomcode --version# 期望输出:atomcode 5.0.0 (build-id)

报 command not found 就检查 PATH;源码构建首次约 5-10 分钟,但二进制更小更快。


04 登录:免费 CodingPlan vs 自己的 API Key

AtomCode 接 LLM 有两条路:AtomGit CodingPlan(含免费额度,推荐)和传统 API Key。

图 2:首次启动的登录方式决策流——CodingPlan 一键授权、手动 Provider、跳过探索三选一

图 3:首次运行的 3 步启动向导,展示 CodingPlan 一键接入、手动 Provider、跳过三个选项

方式 A:CodingPlan(推荐新用户)

AtomGit 是 CSDN / 开放原子旗下的开源托管平台,AtomCode 原生集成其 OAuth。一次 /login 完成:登录 → 申领免费 Token → 自动写好 Provider 配置。

atomcode          # 启动后 TUI 里执行/login            # 浏览器打开授权页 → 允许 → 自动配好atomcode login    # CLI 子命令一步到位,适合脚本和远程服务器

已登录再跑 /login 会幂等同步最新模型列表,不会重复申领。

方式 B:API Key 手动配置

已有 OpenAI / Claude / DeepSeek Key 时三种做法:TUI 里 /provider 交互填、直接编辑 ~/.atomcode/config.toml、或命令行临时覆盖 atomcode --provider deepseek --model deepseek-reasoner

怎么选

场景
推荐方式
第一次使用
CodingPlan /login,免费额度直接用
已有 API Key
跳过 /login,用 /provider 或手动编辑
CI / 脚本 / 容器
API Key + 配置文件或环境变量
完全离线 / 内网
配置 Ollama provider,无需登录
需要 /issue 等 AtomGit 集成
先 /login,会顺带注册 AtomGit-* provider

05 配置文件全解析:TOML 每个字段怎么填

所有 Provider、模型、工具、权限行为都在 ~/.atomcode/config.toml 定义(Windows 为 %USERPROFILE%\.atomcode\config.toml),也可用 --config /path/to/config.toml 指定。

最小可用配置只要 6 行

default_provider = "deepseek"[providers.deepseek]type = "openai"api_key = "sk-xxxxxxxxxxxxxxxx"model = "deepseek-chat"base_url = "https://api.deepseek.com/v1"context_window = 64000

顶层字段default_provider(必填,默认 Provider 名)、default_workdir(默认工作目录,随 /cd 写回)、providers(Provider 映射)、vision_preprocessor_provider(主模型不支持图片时,转交此 Provider 做 OCR/描述)。

单个 Provider 字段

字段
类型
必填
说明
type
string
openai
 / claude / ollama
api_key
string?
视情况
ollama
 可空,OAuth 登录不含此字段
model
string
如 deepseek-chatclaude-sonnet-4-6
base_url
string
API 基地址
context_window
integer
默认 64000,ollama 默认 8000
max_tokens
integer?
单次最大输出,留空取 context_window / 4
system_prompt
string?
覆盖默认系统提示
user_agent
string?
上游屏蔽通用 UA 时覆盖

多 Provider 并行配置实战

default_provider = "deepseek"[providers.deepseek]type = "openai"api_key = "sk-${DEEPSEEK_API_KEY}"model = "deepseek-chat"base_url = "https://api.deepseek.com/v1"context_window = 64000[providers.deepseek-r1]type = "openai"api_key = "sk-${DEEPSEEK_API_KEY}"model = "deepseek-reasoner"base_url = "https://api.deepseek.com/v1"context_window = 64000[providers.claude]type = "claude"api_key = "sk-ant-${CLAUDE_API_KEY}"model = "claude-sonnet-4-6"context_window = 128000[providers.ollama]type = "ollama"model = "qwen2.5:14b"base_url = "http://localhost:11434"context_window = 8000[providers.glm]type = "openai"api_key = "${ZHIPU_API_KEY}"model = "glm-4-plus"base_url = "https://open.bigmodel.cn/api/paas/v4"context_window = 128000

TUI 里随时 /provider 切模型、/model 切模型、atomcode --provider claude 命令行覆盖。改完配置 /reload 热加载,不用重启。

图 4:终端编辑器中的 config.toml 多 Provider 配置,含 DeepSeek、Claude、Ollama 与视觉预处理器

视觉预处理器:主模型不支持图片(如 DeepSeek-V3、Kimi)却贴了截图时,AtomCode 把图转交独立的 VL Provider 做 OCR + 描述,再以文本 splice 进消息。

default_provider = "deepseek"vision_preprocessor_provider = "qwen-vl"[providers.qwen-vl]type = "openai"api_key = "sk-..."model = "Qwen/Qwen3-VL-32B-Instruct"base_url = "https://api.siliconflow.cn/v1"

安全提示:配置文件支持 ${VAR} 和 ${VAR:-default} 环境变量展开。强烈建议不要硬编码 Key,设好环境变量后引用,配置文件就能安全提交到 Git 共享给团队。


06 基础使用:让 Agent 真正听你的话

图 5:AtomCode TUI 主界面,展示 Agent 自主分析 order 模块、调用 read_file 与 bash 工具的过程

常用启动方式

atomcode                 # 当前目录启动 TUIatomcode -C /path/proj   # 指定工作目录atomcode -c              # 继续上一次会话atomcode -p "介绍技术栈"# 非交互模式单次执行atomcode -y              # 跳过所有权限确认(CI 场景)
参数
简写
作用
--dir PATH-C
工作目录
--continue-c
继续上一次会话
--provider NAME
覆盖默认 Provider
--model NAME
覆盖当前 Provider 模型
--prompt TEXT-p
非交互单次执行
--verbose-v
打印工具调用与 token 用量
--max-turns N
限制 Agent 循环最大轮数
--disable-tools LIST
逗号分隔禁用工具
--dangerously-skip-permissions-y
跳过权限确认

描述任务的四条黄金法则

法则一,说目标不说步骤。给"修复 OAuth 回调后 404",别给"打开 callback.ts 删第 27 行"。模型有探索能力,你只说要什么。

法则二,点明约束。"重构 order 模块数据库访问层,用连接池替代直连,保持公有 API 不变,用 TypeScript"——说清偏好,避免多余改动。

法则三,给出验证方式。"改完后跑 npm test 确认通过",让模型完成自我验证闭环,这是 AtomCode 区别于补全工具的核心。

法则四,先问后改。不确定方向时,"分析 src/payment 结构,提出重构方案,我确认后再动手",对齐再执行。

@ 引用文件:输入框敲 @ 弹出项目内文件/目录候选,把具体路径指给模型看;模型看到路径后按需 read_file,Token 预算更可控。

图片附件:剪贴板 Ctrl+V、macOS iTerm2 配 Cmd+V(Send Hex Codes 0x16)、Finder 拖拽进终端三种方式,模型不支持图片时自动走视觉预处理器。

会话管理/resume 切换、/session 新建、/cd 切目录、/clear 清消息、/compact 压缩上下文、/cost 看用量、/diff 看未提交改动、/undo 回滚上一轮编辑。


07 Agent 执行流程:它怎么"思考"的

理解 Agent Loop,能帮你更好描述任务、排查问题。

图 6:Agent 执行时序——用户输入到最终结果的完整链路,含权限审批与工具调度

四个关键机制:

  1. 上下文自动管理:接近 Token 上限时自动压缩早期对话(工具结果先 stub 再摘要),无需手动管。
  2. 权限审批:默认每次 bash、文件写入都需确认;可在确认时选"一直允许此类操作",或在 [permissions] 配白名单。
  3. 工具可见性--disable-tools 让被禁工具对模型完全不可见,不会重复尝试调用。
  4. 循环终止:任务完成主动停止,或达 --max-turns 强制终止。

08 MCP 工具链:把外部能力接进来

MCP(Model Context Protocol)把外部程序或 HTTP 服务暴露的"工具"接入 AtomCode,让模型像调内置工具一样调用。v4.20.4 起内置 MCP 客户端。

配置位置:<project>/.mcp.json(项目级)或 ~/.atomcode/mcp.json(全局),同名 server 项目级优先。

{"mcpServers": {"playwright": {"command""npx","args": ["@playwright/mcp@latest"],"timeout_ms"30000    },"github": {"url""https://api.githubcopilot.com/mcp/","headers": { "Authorization""Bearer ${GITHUB_TOKEN}" },"timeout_ms"30000    }  }}

不用手写 JSON,atomcode mcp add 直接写:

atomcode mcp add playwright npx @playwright/mcp@latest          # 项目级atomcode mcp add playwright npx @playwright/mcp@latest --global  # 全局

管理命令:/mcp 列出已连接 server、/mcp tools <server> 列工具、/mcp reload 重连。

图 7:MCP 配置与管理,展示 .mcp.json 中 Playwright 与 GitHub 两个 server 及 /mcp 输出

图 8:MCP 集成架构——内置 21 种工具与外部 MCP 工具统一由工具调度器管理

当前限制:MCP 仅支持 tools 能力,resources / prompts / OAuth / roots 尚未实现;HTTP server 不支持指数退避重连,stdio 子进程退出后需手动 /mcp reload


09 Skills 与项目指令:让 AI 记住你的规矩

Skills 是可复用工作流模板,每个是一个 Markdown 文件:全局 ~/.atomcode/skills/<name>/SKILL.md,项目级 .atomcode/skills/<name>/SKILL.md。格式:

---name: code-reviewerdescription: 对指定文件进行代码审查,输出结构化报告---请对以下文件进行代码审查:1. 检查代码风格一致性2. 找出潜在 Bug 和安全漏洞3. 评估性能问题4. 输出结构化审查报告审查的文件: $ARGUMENTS

TUI 里 /skill 或直接 use_skill 调用。

项目指令文件 .atomcode.md 放项目根目录,规则在该目录每次对话自动注入系统提示:

# .atomcode.md 示例## 项目背景基于 Spring Boot 3.x 的电商后端,MySQL 8.0 + Redis 7.x。## 编码规范使用 Java 17 语法特性所有 Controller 必须有 Swagger 注解数据库操作必须通过 MyBatis-Plus## 测试要求修改后必须跑 mvn test新增功能必须有单元测试

两者区别:Skills 手动触发、可接受参数、灵活;.atomcode.md 始终生效、项目级、固定内容。


10 五个真实踩坑:每个按五要素讲透

1:macOS 提示"无法打开,因为无法验证开发者"

现象:执行 atomcode 弹出系统安全警告,无法启动。

定位:macOS Gatekeeper 拦截了未签名二进制。

解决

xattr -d com.apple.quarantine $(which atomcode)# 或:系统设置 → 隐私与安全性 → 点"仍要打开"

效果:放行后正常启动;每次脚本或 Homebrew 更新后可能需重跑一次。

感受:开源二进制没苹果签名是常态,记住这条命令比反复点"允许"省事得多。

2:连不上模型,一直转圈报 timeout

现象:输入任务后一直转圈,最终 timeout。

定位

curl https://api.deepseek.com/v1/models   # 返回 403echo$HTTPS_PROXY# 为空,但公司网络需代理

解决:启动前设 HTTPS_PROXY,或在 ~/.bashrc 持久化;内网场景配 Ollama 完全离线。

效果:代理生效后模型秒回,转圈消失。

感受:timeout 不一定是配置错,先查网络链路再查 Key,少走弯路。

3:上下文超限报 "context length exceeded"

现象:连续对话 2 小时后模型报错超限。

定位:长会话累积 Token 触顶,未做压缩。

解决

/compact   # 压缩历史为摘要后继续/clear     # 清空上下文,session 可 /resume 恢复

别一次性把整个巨型文件贴进 prompt,让 AtomCode 用文件工具按需读。

效果:压缩后续写顺畅,长任务不再中断。

感受:长任务定期 /compact,或用 --max-turns 限轮数,是重度使用的必修课。

4:OAuth 登录后重启 AtomCode 失效

现象:昨天 /login 配好的 Provider 今天启动不见了。

定位:CodingPlan 的 OAuth token 有过期机制,重启需重新同步。

解决:重跑 /login 幂等同步;若不想每次登录,改用 API Key 写进 config.toml 永久生效。

效果:用 API Key 后重启稳定,不再丢失配置。

感受:这不是 Bug,是 OAuth 安全机制;按需选登录方式比死磕一种更稳。

5:MCP Server 添加后不生效

现象.mcp.json 写好了,/mcp 列表里看不到。

定位

cat .mcp.json | python -m json.tool   # 发现多余逗号,JSON 语法错which npx                               # npx 不在 PATH

解决:确保 JSON 语法正确、MCP 的 command 在 PATH,再 /mcp reload

效果:修正后 server 正常出现,工具可调用。

感受:MCP 不生效九成是 JSON 或 PATH 问题,先 json.tool 自检再怪工具。


11 效果对比与模型选型

主流 Provider 速查

Provider
type
base_url
推荐模型
context
适合场景
DeepSeek
openai
api.deepseek.com/v1
deepseek-chat
64000
日常编码
DeepSeek R1
openai
api.deepseek.com/v1
deepseek-reasoner
64000
复杂推理
Claude
claude
(默认)
claude-sonnet-4-6
128000
长上下文/审查
OpenAI
openai
api.openai.com/v1
gpt-4o
128000
多模态
智谱 GLM
openai
open.bigmodel.cn/api/paas/v4
glm-4-plus
128000
国内低延迟
通义千问
openai
dashscope.aliyuncs.com/compatible-mode/v1
qwen-plus
128000
阿里云生态
Ollama
ollama
localhost:11434
qwen2.5:14b
8000
离线/隐私

图 9:8 种主流 Provider 的价格与上下文窗口对比

选型决策树

图 10:按任务类型选模型的决策树——日常编码走 DeepSeek,推理走 R1/Claude,多模态走 GPT-4o

使用效率实测(我的日常场景):

场景
传统方式
用 AtomCode
提升
理解陌生项目结构
30-60 分钟
2-3 分钟
↓ 90%
重构一个模块
2-4 小时
20-40 分钟
↓ 75%
修复 Bug
1-2 小时
10-20 分钟
↓ 80%
写单元测试
1-2 小时
5-15 分钟
↓ 85%
跨项目切换
5-10 分钟
0 秒(cd 即切)
↓ 100%

图 11:五大场景耗时对比,综合效率提升平均 85%+,跨项目切换零成本

模型选型的核心:日常编码用最便宜的 flash 类模型,质量不达标再升级;选对模型比选对工具更重要。


12 安全与隐私:代码到底去哪儿了

代码安全:项目文件只发到你在 config.toml 配置的模型 endpoint,AtomCode 本身不上传也不遥测代码内容;用本地 Ollama,代码完全不出本机。

工具权限控制

[permissions]allowed_commands = ["npm test", "cargo check", "git status", "python -m pytest"][tools]disabled = ["web_fetch", "web_search"]

也可在 TUI 每次弹窗选"一直允许此类操作"临时放行。

环境变量安全:永远别硬编码 Key——

api_key = "sk-${DEEPSEEK_API_KEY}"   # 正确# api_key = "sk-xxxxxxxxxxxxxxxx"    # 错误:泄露风险

13 复盘与适用边界

我的三点复盘

  1. 配置一次到位比反复试错省时间——先把多 Provider + 环境变量展开写好,后面只切模型。
  2. 视觉预处理器是"纯文本模型也能看图"的关键,配一个 VL Provider 立竿见影。
  3. MCP 和 Skills 是放大 AtomCode 的杠杆,但 JSON 语法和 PATH 是高频雷区,先自检再排错。

适用边界表

场景
AtomCode 是否合适
说明
日常编码 / 多项目并行
非常合适
终端原生、上下文自动跟随
离线 / 内网开发
合适
配 Ollama,代码不出本机
复杂推理 / 架构设计
看模型
取决于底层 LLM,选 Claude / R1 类
多模态截图问答
合适
需配视觉预处理器 VL Provider
团队共享配置
合适
${VAR}
 展开后配置可提交 Git
超长单文件人工精读
不擅长
Agent 适合改造,精读仍靠人
非交互 CI 跑复杂任务
谨慎
-p
 适合简单脚本,复杂建议 TUI

一句话边界:AtomCode 的能力上限取决于底层模型;它是放大器,不是替代你判断的银弹。


14 写在最后

AtomCode 给我最大的改变,不是"少写几行代码",而是把三个 IDE 压成一个终端、把切项目的成本压到一次 cd

金句一:配置一次到位,比反复试错省下的是你最贵的注意力。

金句二:AtomCode 是放大器——放大你的判断力,也放大你的混乱,前提是你先有判断。

金句三:选对模型比选对工具更重要,日常编码用最便宜的,质量不达标再升级。

如果你只有 5 分钟,记住这三步:

  1. brew install --cask atomcode(或一键脚本)装好,跑 /login 领免费额度
  2. 把多 Provider 配置按本文第 05 节写好,Key 用 ${VAR} 引用
  3. 下一个任务试着说"目标 + 约束 + 验证方式",别再手把手教步骤

你用 AtomCode 踩过最疼的坑是哪个?或者最想让我展开讲哪块配置?欢迎在评论区聊,我会逐条回复。

觉得有用?点个「在看」和「转发」,让更多在终端里写代码的朋友少走弯路。

往期系列


扫码关注「行者聊开发」,每周两篇 AI 工程化实战干货。

原创声明:本文为原创首发微信公众号「行者架构谈」,基于 AtomCode v5.0(2026 年 7 月版)真实使用经验整理。

真实性声明:本文所有配置、命令、链接均来自 AtomCode v5.0 官方文档(https://atomcode.atomgit.com/docs/zh/),经我在 macOS / Linux 环境实际验证;踩坑案例为真实使用记录,未做夸大处理。