用自然语言下达任务,AtomCode 会自动阅读代码、编辑文件、执行命令、验证结果——全程自主完成。Claude Code / Cursor Agent 的开源替代品,完全运行在你的终端里。
_ _ ____ _
/ \ | |_ ___ _ __ ___ / ___|___ __| | ___
/ _ \| __/ _ \| '_ ` _ \ | / _ \ / _` |/ _ \
/ ___ \ || (_) | | | | | | |__| (_) | (_| | __/
/_/ \_\__\___/|_| |_| |_|\____\___/ \__,_|\___|
从自主多步执行到上下文感知,AtomCode 把 Agent 循环、内置工具、安全模型整合成一个流畅的终端体验。
读文件、改代码、跑测试、修错误,循环直到完成。每次编辑后自动跑语法检查,确认无误才算完成。
根据编辑文件数动态放宽步数上限,同时封顶以控成本。识别并打破重复调用同一工具的死循环。
自动修复畸形工具调用参数,降低模型不稳定输出对任务的影响。Turn 级 datalog 便于回放、调试和评测。
每次对话都会保存。命令行 atomcode -c 继续上一次会话,TUI 内 /resume 恢复或切换。
atomcode -p "..." 非交互式跑一条 prompt,结果直接输出到 stdout——可嵌入 CI、脚本、自动化流程。
atomcode-daemon 提供 HTTP API,用于查询会话历史和 SSE 流式对话,核心库与 TUI 完全解耦。
Markdown 渲染 + 语法高亮、行号代码块、多行输入、文本选择、bracketed paste、任务完成原生通知。
破坏性命令需显式确认。按路径、按风险等级请求确认,敏感文件 / 凭证目录 / shell 配置 / .env 触发更强规则。
/undo 通过文件历史快照回滚上一轮的所有文件编辑——大胆让 AI 改代码,反悔随时回退。
从文件操作到代码图谱、从 Shell 到自动修复,AtomCode 提供覆盖完整工程工作流的原生工具。
auto_fix 自动 lint / 类型检查修复循环;use_skill 调用用户自定义 skill。
只要实现了 OpenAI function calling 接口,就能接入。从云厂商到本地 Ollama,自由切换。
| 提供方 | Function Calling | 已验证模型 |
|---|---|---|
| Claude(Anthropic) | ✓ | Claude Sonnet 4.5/4.6、Opus 4.6 |
| OpenAI | ✓ | GPT-4o、GPT-4.1 |
| DeepSeek | ✓ | DeepSeek V3、DeepSeek R1 |
| 智谱(GLM) | ✓ | GLM-4、GLM-5 |
| 通义千问(阿里) | ✓ | Qwen-Plus、Qwen-Max |
| SiliconFlow | ✓ | 多种开源模型 |
| Ollama(本地) | ◐ | Llama 3、Qwen2 等 |
| 任意 OpenAI 兼容接口 | ✓ | — |
从源码构建到首次配置,5 分钟内即可在终端里和 AI 协作。
# 克隆仓库 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。
# ~/.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 热加载。
# 在项目目录下启动 cd your-project atomcode # 或指定目录、模型 atomcode -C /path/to/project atomcode --model gpt-4o # Headless 模式 atomcode -p "简要说明这个仓库的 agent loop"
# 直接用自然语言描述 ❯ 修复 OAuth 回调后被重定向到 404 的 bug ❯ 给设置页加一个深色模式切换 ❯ 把数据库模块重构为使用连接池
AtomCode 自主完成读代码、改文件、跑测试的全过程。
无头核心库 + 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 服务
核心引擎不硬编码任何特定语言逻辑,通过 package.json、Cargo.toml、pyproject.toml 等描述文件动态探测项目类型。
AgentLoop 作为独立异步任务运行,通过 channel 与 TUI 通信。核心库完全不依赖 TUI——这正是 daemon 得以存在的基础。
所有破坏性操作必须经用户显式确认。工具失败会作为 observation 返回给模型,绝不 panic。
token 预算感知的会话窗口、项目文件树注入、每轮系统提醒,在不超出上下文限制的同时让模型保持专注。
无需自备 API Key,通过 AtomGit Serverless API 一键接入 CodingPlan,即刻开启 AI 编码体验。
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。
在 TUI 中输入 / 触发命令面板,这里是最常用的几条。
开源、MIT 许可、运行在终端、支持任意兼容 OpenAI 的模型。立即在 AtomGit 上 Star,加入社区。