昨天发现一个好用的工具,用于claude code国产替代,研究了半晚上,今天分享一下。.

        AtomCode是运行在终端里的自主 AI 编码助手,由纯 Rust 构建、MIT 开源。只需用自然语言描述目标,它即可自动完成规划、读取代码、编辑文件、执行命令、验证结果等全流程操作。

  • 官网:https://atomcode.atomgit.com/
  • 开源仓库:https://atomgit.com/atomgit_atomcode/atomcode

一、核心概念

1.1 什么是 AtomCode?

AtomCode 是一款终端 AI 编码智能体(Terminal AI Coding Agent),2026年4月18才发布的一款产品,核心理念是:

"说目标,不说步骤"—— 用自然语言描述你要做什么,AI 自动完成从规划到运行的全过程。

它不同于传统的代码补全工具(如 Copilot),而是一个可以自主多步执行的智能体:

你的需求描述 → AI 规划任务 → 读取文件 → 编辑代码 → 运行命令 → 验证结果 → 完成

1.2 核心特性

特性

说明

纯 Rust 构建

高性能、低资源消耗,包体 < 50MB,秒级启动

多模型支持

原生适配 DeepSeek、Qwen、智谱 GLM,兼容 OpenAI/Claude 接口

强制规划

复杂任务自动拆解执行步骤,避免跑偏

代码图谱

8 大代码分析工具,深度理解大型代码库结构

安全回滚

/undo一键回滚 AI 的所有文件修改

默认隐私

代码和数据本地处理,可按需配置上传策略

AtomGit 集成

深度对接国产代码托管平台,内置 Token 限免

1.3 适用场景

  • 快速搭建项目原型
  • 代码重构与优化
  • Bug 修复与调试
  • 添加新功能模块
  • 自动化脚本编写
  • 代码审查与理解大型项目

二、安装与配置

2.1 系统要求

组件

要求

操作系统

macOS / Linux(x64) / Windows

Rust 工具链

1.80+(仅源码构建需要)

LLM 服务

AtomGit 账号 或 API Key

2.2 三种安装方式

方式一:一键安装(推荐)

macOS / Linux:

curl -fsSL https://atomcode.atomgit.com/install.sh | sh

Windows(PowerShell):

irm https://atomcode.atomgit.com/install.ps1 | iex

方式二:源码构建

git clone https://atomgit.com/atomgit_atomcode/atomcode.git

cd atomcode

cargo build --release

编译完成后,可执行文件在target/release/atomcode。

方式三:Cargo 安装

cargo install atomcode

2.3 验证安装

atomcode --version

正常输出版本号(如atomcode 4.15.3)即表示安装成功。

三、首次运行与登录

3.1 启动 AtomCode

在终端中直接输入:

atomcode

进入欢迎界面:

┌────────────── Welcome to AtomCode ──────────────┐

│  ▸ Login with AtomGit      OAuth · recommended   │

│    Configure manually      API Key               │

│    Skip for now            explore first         │

└──────────────────────────────────────────────────┘

3.2 登录方式

方式 A:AtomGit OAuth(推荐,临时使用)
  1. 选择Login with AtomGit
  2. 浏览器自动打开授权页面,点击"允许"
  3. 授权成功后,终端自动配置默认模型

⚠️注意:OAuth 登录为临时授权,不会写入配置文件,重启后需重新登录。

方式 B:手动配置 API Key(长期使用)

配置文件路径:

  • macOS / Linux:~/.atomcode/config.toml
  • Windows:%USERPROFILE%\.atomcode\config.toml

最小配置模板:

# 默认使用的提供商

default_provider = "deepseek"

DeepSeek 配置

[providers.deepseek]

type = "openai"

api_key = "sk-xxxxxxxxxxxxxxxx"

model = "deepseek-chat"

base_url = "https://api.deepseek.com/v1"

context_window = 64000

主流模型配置示例

OpenAI GPT-4o:

[providers.openai]

type = "openai"

api_key = "sk-xxxxxxxxxxxxxxxx"

model = "gpt-4o"

base_url = "https://api.openai.com/v1"

context_window = 128000

通义千问(Qwen):

[providers.qwen]

type = "openai"

api_key = "sk-xxxxxxxxxxxxxxxx"

model = "qwen-max"

base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"

context_window = 32000

智谱 GLM:

[providers.zhipu]

type = "openai"

api_key = "xxxxxxxxxxxxxxxx"

model = "glm-4"

base_url = "https://open.bigmodel.cn/api/paas/v4"

context_window = 128000

本地 Ollama(无需联网):

[providers.ollama]

type = "ollama"

model = "qwen2.5:14b"

base_url = "http://localhost:11434"

context_window = 8000

四、基础使用方法

4.1 常用 CLI 参数

参数

简写

功能

示例

--dir

-C

指定工作目录

atomcode -C ./my-project

--continue

-c

恢复上一次会话

atomcode -c

--provider

-

临时切换提供商

atomcode --provider openai

--prompt

-p

无头模式直接执行任务

atomcode -p "修复所有 lint 错误"

--verbose

-v

显示详细日志

atomcode -v

--max-turns

-

限制最大对话轮数

atomcode --max-turns 30

4.2 任务描述原则

AtomCode 的核心是自然语言驱动,描述任务时遵循以下原则:

正确的描述方式
  • 说目标,不说步骤:

  - 修复登录后的 404 跳转问题

  - 打开 auth.js 文件,把第 27 行的 /home 改成 /dashboard

  • 明确约束条件:

  - 用 TypeScript 实现,不修改测试文件,保持现有 API 兼容

  • 指定验证方式:

  - 改完后运行 npm test 确认通过

示例对话流程

$ atomcode

请帮我给这个项目添加用户认证功能,使用 JWT + bcrypt,

  包含登录和注册两个接口,用 Express + TypeScript 实现,

  不要改动现有的路由文件,改完后运行测试确认。

[AtomCode 开始分析项目结构...]

[AtomCode 规划任务步骤...]

[AtomCode 生成代码文件...]

[AtomCode 运行测试...]

任务完成!已创建:

   - src/auth/controller.ts

   - src/auth/service.ts

   - src/auth/middleware.ts

   - src/auth/types.ts

测试全部通过(12/12)。

4.3 权限确认

当 AtomCode 需要执行敏感操作时,会请求确认:

按键

含义

y

允许本次操作

a

本次会话始终允许(不再询问)

n

拒绝本次操作

五、17个斜杠命令大全

在 AtomCode 交互界面中,输入/开头的命令执行特定功能。

5.1 核心命令

命令

功能

示例

/login

AtomGit OAuth 登录

/login

/provider

管理/切换模型提供商

/provider→ 选择提供商

/model

切换当前模型

/model deepseek-chat

/cd

切换工作目录

/cd ./another-project

/resume

恢复历史会话

/resume

/session

新建干净会话(清空上下文)

/session

5.2 工具命令

命令

功能

/undo

回滚上一轮文件修改(重要!)

/diff

查看未提交的代码改动

/cost

查看当前会话的 Token 消耗

/clear

清空当前会话的屏幕输出

/compact

压缩上下文,节省 Token

/copy

复制 AI 的最后一条回复到剪贴板

/issue

在 AtomGit 上提交 Issue

5.3 配置命令

命令

功能

/config

打开配置文件编辑器

/status

查看当前状态(模型、目录、Token 等)

/logout

退出当前登录

/help

显示帮助信息

/quit

退出 AtomCode

六、21个内置工具详解

AtomCode 内置了 21 个专业工具,AI 会根据任务自动选择调用。

6.1 文件与 Shell 工具(9个)

工具

功能

使用场景

read_file

读取文件内容

查看代码文件

write_file

创建/覆盖文件

生成新文件

edit_file

编辑文件指定位置

修改现有代码

bash

执行 Shell 命令

运行测试、安装依赖

grep

文本搜索

查找代码中的关键词

glob

文件匹配

批量查找文件

list_directory

列出目录内容

浏览项目结构

delete_file

删除文件

清理无用文件

file_search

按内容搜索文件

定位代码位置

敏感路径访问和删除操作会请求用户确认。

6.2 代码图谱工具(8个)核心特色

工具

功能

使用场景

list_symbols

列出文件中的所有符号(函数、类、变量)

快速了解文件结构

read_symbol

读取指定符号的完整定义

查看函数实现

find_references

查找符号的所有引用位置

理解代码依赖

trace_callees

追踪函数调用了哪些其他函数

分析调用链

trace_callers

回溯哪些函数调用了指定函数

追踪调用来源

file_deps

分析文件之间的依赖关系

理解模块依赖

symbol_search

按名称搜索符号

快速定位函数/类

project_structure

生成项目整体结构概览

快速上手新项目

6.3 Web 与自动化工具(4个)

工具

功能

web_search

联网搜索信息

web_fetch

获取网页内容

auto_fix

自动修复代码错误

use_skill

调用自定义 Skill 扩展

七、快捷键速查

7.1 输入操作

快捷键

功能

Enter

发送消息

Shift + Enter

换行(不发送)

Esc

清空当前输入 / 打断 AI 输出

Ctrl + A

光标移到行首

Ctrl + E

光标移到行尾

Ctrl + U

清空当前行

7.2 浏览操作

快捷键

功能

PageUp/PageDown

向上/向下滚动

Ctrl + L

清屏

Ctrl + C

退出 AtomCode

Tab

自动补全命令

八、实战例程:从零开发一个 Web 待办应用

本例程演示如何使用 AtomCode 从零开始创建一个完整的待办事项(Todo List)Web 应用,包含前端界面和后端 API。

8.1 步骤一:初始化项目

# 创建项目目录

mkdir todo-app && cd todo-app

启动 AtomCode

atomcode

在 AtomCode 中输入:

> 帮我初始化一个完整的 Todo List Web 应用项目,要求:

  1. 后端用 Express + TypeScript,提供 RESTful API(增删改查待办事项)

  2. 前端用 HTML + CSS + JavaScript,界面要美观现代

  3. 使用 SQLite 作为数据库

  4. 数据模型包含:id, title, completed, created_at

  5. 项目结构要清晰,前后端分离

  6. 初始化完成后启动服务,确保能正常运行

AtomCode 将自动执行以下操作:

  1. 分析当前目录(空目录)
  2. 规划项目结构:

      todo-app/    ├── package.json    ├── tsconfig.json    ├── src/    │   ├── server.ts          # Express 入口    │   ├── routes/    │   │   └── todos.ts       # 路由    │   ├── models/    │   │   └── todo.ts        # 数据模型    │   └── database.ts        # SQLite 连接    └── public/        ├── index.html         # 前端页面        ├── style.css          # 样式        └── app.js             # 前端逻辑    

  1. 生成 package.json 并安装依赖
  2. 生成所有代码文件
  3. 编译 TypeScript
  4. 启动服务器
  5. 验证 API 是否正常工作

8.2 步骤二:添加高级功能

基础版本完成后,继续让 AtomCode 添加功能:

> 给这个 Todo 应用添加以下功能:

  1. 待办事项优先级设置(高/中/低)

  2. 按优先级排序

  3. 筛选功能(全部/进行中/已完成)

  4. 添加截止日期,过期的事项高亮显示

  5. 给前端添加响应式设计,适配手机端

  改完后运行测试确认所有功能正常。

预期 AtomCode 执行流程:

[规划] 分析修改范围 → 5 个功能点

[读取] 读取现有文件(server.ts, todos.ts, index.html, app.js, style.css)

[编辑] 修改数据库模型,添加 priority 和 due_date 字段

[编辑] 更新 API 路由,支持筛选和排序参数

[编辑] 重写前端界面,添加筛选按钮和优先级选择器

[编辑] 添加 CSS 媒体查询,实现响应式布局

[运行] npm run build

[运行] npm test

[验证] 用 curl 测试 API 端点

任务完成!

8.3 步骤三:代码优化与重构

> 请对当前代码进行以下优化:

  1. 提取前端 JavaScript 中的 API 调用为独立的 api-client 模块

  2. 后端添加输入验证中间件,防止 SQL 注入

  3. 添加错误处理中间件,统一返回格式

  4. 给关键函数添加 JSDoc 注释

  5. 确保代码通过 ESLint 检查

  优化后运行测试确认。

8.4 步骤四:查看和确认改动

> /diff

查看所有修改内容,确认无误后退出:

> /quit

8.5 完整交互示例

以下是一个真实的完整交互示例:

$ mkdir todo-app && cd todo-app

$ atomcode

━━━━━━━━━━━━━━━━━━━━━━

  Welcome to AtomCode

━━━━━━━━━━━━━━━━━━━━━━

帮我创建一个 Python Flask 待办应用,使用 SQLite,

  要有 Web 界面,可以增删改查待办事项。

[AtomCode] 正在分析项目结构...

[AtomCode] 规划任务:

  1. 创建项目结构和虚拟环境

  2. 安装 Flask、SQLAlchemy 依赖

  3. 创建数据库模型

  4. 创建 Flask 应用和路由

  5. 创建 HTML 模板

  6. 初始化数据库

  7. 启动应用并验证

[AtomCode] 正在执行:创建 app.py...

[AtomCode] 正在执行:创建 models.py...

[AtomCode] 正在执行:创建 templates/index.html...

[AtomCode] 正在执行:pip install flask sqlalchemy...

[AtomCode] 正在执行:python init_db.py...

[AtomCode] 正在执行:flask run...

应用已启动!访问 http://127.0.0.1:5000

   - 添加待办:输入框 + 添加按钮

   - 完成待办:点击复选框

   - 删除待办:点击删除按钮

   - 所有数据保存在 todos.db

能不能给界面加上深色模式切换?

[AtomCode] 正在读取 templates/index.html...

[AtomCode] 正在修改 app.py,添加主题设置路由...

[AtomCode] 正在更新 CSS 样式...

已添加深色模式!

   - 点击右上角 /图标切换

   - 主题偏好保存在 localStorage

/cost

 本次会话 Token 消耗:

   - 输入:12,345 tokens

   - 输出:28,670 tokens

   - 总计:41,015 tokens

/quit

 再见!

九、项目指令文件 .atomcode.md

        在项目根目录创建.atomcode.md文件,AtomCode 会自动读取并注入系统提示,让 AI 更理解你的项目。

9.1 示例配置

# Project Instructions

Vue3 + TypeScript + Pinia + Tailwind CSS 项目

编码规范

  • 组件使用<script setup lang="ts">语法
  • 样式仅使用 Tailwind,不要写自定义 CSS
  • 所有 API 调用封装在 composables 中
  • 使用 pnpm 管理依赖

项目结构

  • src/components/  可复用组件
  • src/views/       页面组件
  • src/composables/ 组合式函数
  • src/stores/      Pinia 状态管理
  • src/api/         API 接口封装

测试命令

  • 单元测试:pnpm test
  • E2E 测试:pnpm test:e2e
  • Lint 检查:pnpm lint

注意事项

  • 不要修改 .env 文件
  • 提交前必须跑通测试

9.2 使用效果

当 AtomCode 读取到.atomcode.md后:

  • 自动生成符合项目规范的代码
  • 使用项目指定的技术栈
  • 遵循项目的目录结构
  • 使用正确的命令运行测试
  • 避免项目中的禁忌操作

十、进阶功能

10.1 Headless 无头模式(脚本/CI 场景)

适合在自动化脚本、CI/CD 流水线中使用:

# 直接执行指定任务,不进入交互界面

atomcode -p "修复所有 ESLint 错误" --max-turns 30

指定工作目录和提供商

atomcode -C ./my-project --provider deepseek -p "重构 utils 模块"

结合其他命令使用

echo "优化数据库查询性能" | atomcode -p "$(cat)"

10.2 Daemon 服务模式

启动 HTTP API 服务,供 IDE 插件或其他工具调用:

# 启动 Daemon(默认端口 17890)

atomcode-daemon

自定义端口

atomcode-daemon --port 8080

提供接口:

  • POST /chat- 发送消息
  • GET /stream- SSE 流式响应
  • GET /status- 获取状态

10.3 Skills 自定义扩展

Skill 是可复用的工作流模板,存放在~/.atomcode/skills/名称/SKILL.md。

创建 Skill 示例:

mkdir -p ~/.atomcode/skills/release

创建~/.atomcode/skills/release/SKILL.md:

---

name: release

description: 版本发布流程:更新 changelog、打 tag、推送到仓库

---

  1. 执行git log --oneline查看最近的提交
  2. 确认版本号(遵循语义化版本)
  3. 更新 CHANGELOG.md,添加新版本说明
  4. 修改 package.json 中的版本号
  5. 运行测试确保全部通过
  6. 执行git tag v{版本号}
  7. 执行git push origin v{版本号}
  8. 如果在 AtomGit,创建对应的 Release

使用 Skill:

> /release

[AtomCode] 正在执行 release Skill...

10.4 会话管理与撤销

恢复会话

# 命令行方式

atomcode -c

TUI 内方式

/resume

回滚修改

> /undo

⚠️重要说明:/undo只回滚 AI编辑的文件内容,不会回滚bash命令的效果(如安装依赖、创建数据库等)。

十一、常见问题排查

11.1 安装问题

问题

解决方案

command not found: atomcode

检查~/.local/bin是否在 PATH 中,或手动添加export PATH="$HOME/.local/bin:$PATH"

Cargo 编译失败

确保 Rust 版本 >= 1.80,运行rustup update

权限不足

Linux/macOS 运行chmod +x ~/.local/bin/atomcode

11.2 登录与网络问题

问题

解决方案

OAuth 登录无响应

检查浏览器是否自动打开,手动访问终端显示的链接

API Key 无效

检查 config.toml 中的 key 是否正确,是否有足够的额度

连接超时

检查网络连接,尝试切换 base_url 或提供商

本地 Ollama 连接失败

确认 Ollama 已启动(ollama serve),模型已下载

11.3 工具与权限问题

问题

解决方案

文件编辑被拒绝

检查文件权限,或手动授权(按y或a)

命令执行失败

检查命令是否存在于系统中,路径是否正确

代码图谱工具报错

确保项目文件编码为 UTF-8,无语法错误

上下文过长

使用/compact压缩上下文,或切换更大窗口的模型

11.4 性能优化建议

  1. 使用.atomcode.md:减少不必要的上下文解释
  2. **及时/compact****:长会话定期压缩上下文
  3. 选择合适模型:简单任务用小模型(如 qwen2.5:14b),复杂任务用大模型(如 deepseek-chat)
  4. 本地 Ollama:敏感代码或网络不佳时使用本地模型

附录:快速参考卡

┌─────────────────────────────────────────────────────────────┐

│                    AtomCode 快速参考卡                       │

├─────────────────────────────────────────────────────────────┤

│ 启动: atomcode            无头模式: atomcode -p "任务"      │

│ 继续: atomcode -c         指定目录: atomcode -C ./dir       │

├─────────────────────────────────────────────────────────────┤

│ 命令: /login /provider /model /cd /undo /diff /cost        │

│       /clear /compact /config /status /help /quit           │

├─────────────────────────────────────────────────────────────┤

│ 快捷键: Enter 发送  Shift+Enter 换行  Esc 打断  Ctrl+C 退出│

├─────────────────────────────────────────────────────────────┤

│ 权限: y 允许本次  a 始终允许  n 拒绝                        │

├─────────────────────────────────────────────────────────────┤

│ 描述原则: 说目标不说步骤 / 明确约束 / 指定验证方式          │

└─────────────────────────────────────────────────────────────┘

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐