v4.18.1 · Rust 1.88+ · MIT License

住在终端里的
AI 编码助手

用自然语言下达任务,AtomCode 会自动阅读代码、编辑文件、执行命令、验证结果——全程自主完成。Claude Code / Cursor Agent 的开源替代品,完全运行在你的终端里。

macOS Linux HarmonyOS PC Windows
~/your-project — atomcode
      _   _                  ____          _
     / \ | |_ ___  _ __ ___ / ___|___   __| | ___
    / _ \| __/ _ \| '_ ` _ \ |   / _ \ / _` |/ _ \
   / ___ \ || (_) | | | | | | |__| (_) | (_| |  __/
  /_/   \_\__\___/|_| |_| |_|\____\___/ \__,_|\___|
修复 OAuth 回调后用户被重定向到 404 的登录 bug
✔ 读取 src/auth/oauth.rs · 找到回调处理
✔ 编辑 src/router.rs · 修正重定向路径
✔ 运行 cargo test · 全部通过
🤖

本项目 100% 由 AI 生成。 每一行代码、每一个架构决策的实现、每一次提交都由 AI 完成。人类开发者仅担任决策者和产品经理的角色——定义"要做什么",而不是"怎么做"。

Features

为真实的工程任务而设计

从自主多步执行到上下文感知,AtomCode 把 Agent 循环、内置工具、安全模型整合成一个流畅的终端体验。

🔄

自主 Agent 循环

读文件、改代码、跑测试、修错误,循环直到完成。每次编辑后自动跑语法检查,确认无误才算完成。

📊

动态步数预算

根据编辑文件数动态放宽步数上限,同时封顶以控成本。识别并打破重复调用同一工具的死循环。

🛠️

三层 JSON 修复

自动修复畸形工具调用参数,降低模型不稳定输出对任务的影响。Turn 级 datalog 便于回放、调试和评测。

💾

持久化会话

每次对话都会保存。命令行 atomcode -c 继续上一次会话,TUI 内 /resume 恢复或切换。

Headless 模式

atomcode -p "..." 非交互式跑一条 prompt,结果直接输出到 stdout——可嵌入 CI、脚本、自动化流程。

🌐

Daemon HTTP API

atomcode-daemon 提供 HTTP API,用于查询会话历史和 SSE 流式对话,核心库与 TUI 完全解耦。

🎨

实时流式 TUI

Markdown 渲染 + 语法高亮、行号代码块、多行输入、文本选择、bracketed paste、任务完成原生通知。

🛡️

分层安全模型

破坏性命令需显式确认。按路径、按风险等级请求确认,敏感文件 / 凭证目录 / shell 配置 / .env 触发更强规则。

↩️

一键撤销

/undo 通过文件历史快照回滚上一轮的所有文件编辑——大胆让 AI 改代码,反悔随时回退。

Built-in Tools

内置工具集

从文件操作到代码图谱、从 Shell 到自动修复,AtomCode 提供覆盖完整工程工作流的原生工具。

📁 文件与 Shell

read_file write_file edit_file search_replace bash grep glob list_directory change_dir web_search web_fetch

🧠 代码图谱

list_symbols read_symbol find_references trace_callers trace_callees trace_chain file_deps blast_radius

🤖 自动化

auto_fix use_skill

auto_fix 自动 lint / 类型检查修复循环;use_skill 调用用户自定义 skill。

Multi-Model Support

支持任何兼容 OpenAI 的模型

只要实现了 OpenAI function calling 接口,就能接入。从云厂商到本地 Ollama,自由切换。

提供方 Function Calling 已验证模型
Claude(Anthropic)Claude Sonnet 4.5/4.6、Opus 4.6
OpenAIGPT-4o、GPT-4.1
DeepSeekDeepSeek V3、DeepSeek R1
智谱(GLM)GLM-4、GLM-5
通义千问(阿里)Qwen-Plus、Qwen-Max
SiliconFlow多种开源模型
Ollama(本地)Llama 3、Qwen2 等
任意 OpenAI 兼容接口
Get Started

三步开始使用

从源码构建到首次配置,5 分钟内即可在终端里和 AI 协作。

1 从源码构建

# 克隆仓库
git clone https://atomgit.com/atomgit_atomcode/atomcode.git
cd atomcode

# 编译并安装到 ~/.cargo/bin
cargo install --path crates/atomcode-cli --locked

# 或仅编译,不安装
cargo build --release

需要 Rust 1.88+。产物位于 target/release/atomcode

2 配置模型

# ~/.atomcode/config.toml
default_provider = "deepseek"

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

首次运行会有向导引导配置,改完用 /reload 热加载。

3 开始编码

# 在项目目录下启动
cd your-project
atomcode

# 或指定目录、模型
atomcode -C /path/to/project
atomcode --model gpt-4o

# Headless 模式
atomcode -p "简要说明这个仓库的 agent loop"

4 让 AI 干活

# 直接用自然语言描述
 修复 OAuth 回调后被重定向到 404 的 bug

 给设置页加一个深色模式切换

 把数据库模块重构为使用连接池

AtomCode 自主完成读代码、改文件、跑测试的全过程。

Architecture

四个 Crate 的 Rust Workspace

无头核心库 + TUI + CLI + Daemon,清晰的分层让核心逻辑可以独立运行在任意场景。

atomcode/
  crates/
    atomcode-core/     # 无头核心库,不依赖 TUI
      agent/           # AgentLoop:自主工具调用循环
      turn/            # TurnRunner、datalog、权限决策器
      config/          # 配置加载、provider 配置
      conversation/    # 消息类型、窗口化上下文
      provider/        # LlmProvider trait + OpenAI/Claude/Ollama
      tool/            # Tool trait + 内置工具实现
      session/         # 持久化会话
      skill.rs         # 用户自定义 skill

    atomcode-tuix/     # 终端 UI — retained-mode 渲染器
      event_loop/      # App 状态机、命令分发
      render/          # cell-level 渲染器、diff、帧循环
      modals/          # 各种 picker(dir、model、session...)

    atomcode-cli/      # 可执行入口(TUI + headless -p 模式)
      main.rs          # CLI 参数、首次运行向导、启动
      auth/            # AtomGit OAuth 客户端

    atomcode-daemon/   # 基于 atomcode-core 的 HTTP/SSE API 服务
01

技术栈无关

核心引擎不硬编码任何特定语言逻辑,通过 package.jsonCargo.tomlpyproject.toml 等描述文件动态探测项目类型。

02

Agent 解耦

AgentLoop 作为独立异步任务运行,通过 channel 与 TUI 通信。核心库完全不依赖 TUI——这正是 daemon 得以存在的基础。

03

工具安全

所有破坏性操作必须经用户显式确认。工具失败会作为 observation 返回给模型,绝不 panic。

04

上下文感知

token 预算感知的会话窗口、项目文件树注入、每轮系统提醒,在不超出上下文限制的同时让模型保持专注。

CodingPlan · Official Resources

开箱即用的 AI 编码套餐

无需自备 API Key,通过 AtomGit Serverless API 一键接入 CodingPlan,即刻开启 AI 编码体验。

🌐 官方网站

访问 AtomCode 官方主页,获取最新版本、产品介绍、文档导航与社区入口。

atomcode.atomgit.com →

CodingPlan Serverless API

AtomGit 官方提供的 Serverless 模型 API,免运维、按量计费,直接配置进 AtomCode 即可使用。

ai.atomgit.com/serverless-api →

📝 快速接入示例

~/.atomcode/config.toml 中配置 CodingPlan Serverless API,作为一个 OpenAI 兼容 provider:

# ~/.atomcode/config.toml
default_provider = "codingplan"

[providers.codingplan]
type           = "openai"
api_key        = "your-atomgit-api-key"     # 在 ai.atomgit.com 申请
model          = "your-model-name"
base_url       = "https://ai.atomgit.com/serverless-api/v1"
context_window = 128000

也可以在 TUI 内通过 /login 使用 AtomGit OAuth 一键绑定账号,无需手动配置 API Key。

Slash Commands

常用斜杠命令

在 TUI 中输入 / 触发命令面板,这里是最常用的几条。

/resume恢复或切换会话
/session创建新会话
/model切换模型 / provider
/provider管理 provider
/login通过 AtomGit OAuth 登录
/cd切换工作目录
/paste从剪贴板粘贴图片
/undo撤销上一轮的文件编辑
/diff显示当前修改的 git diff
/cost显示本次会话的 token 消耗
/copy复制 AI 的最后一条回复
/clear清空对话
/issue在 AtomGit 上创建 issue
/config编辑配置文件
/status查看登录状态和模型信息
/help查看命令与快捷键

准备好让 AI 接管
你的终端工作流了吗?

开源、MIT 许可、运行在终端、支持任意兼容 OpenAI 的模型。立即在 AtomGit 上 Star,加入社区。