机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
Atlas 是用于编码代理的源代码控制。每次代理运行都会生成检查点:提交会链接回生成它的会话,同时记录提示、工具调用和推理。你可以看到每个代理具体做了什么以及为什么这样做。
运行 Claude Code、Codex、Atlas 自有代理,或 ACP 注册表中的任何项目,在同一代码库上并排运行,具有共享内存,因此在任务中途切换代理不意味着重新开始。
- 每次提交都得到解释。 检查点将提交链接回生成它的会话:提示、工具调用和文件更改集中保存,可在数月后查询。
- 并排运行任何代理。 Claude Code、Codex、Atlas 自有代理及更广泛的 ACP 注册表,都在同一窗口中针对相同的代码库运行。任务中途切换代理不意味着重新开始。
- 一个记忆,适用于所有代理。 Claude Code 做出的决定会出现在 Codex 的下一个提示中。计划、文件更改、失败和架构笔记会自动共享,在设备上根据你的查询匹配显示。
- 你的笔记是代理的上下文。
.atlas/knowledge/中的 Markdown,加上你已经写的CLAUDE.md和AGENTS.md,会提供给项目中的每个代理。 - 将
@的任何内容转为提示。 文件、文件夹、符号、分支、提交、笔记、论文和过去的会话在提示发送前先在本地解析。 - 默认本地。 代码、笔记和会话保留在你的机器上。当你希望跨团队同步时,可以登录并创建一个组织。
下载
从 tryatlas.cc 或 发布页面 获取最新版本——适用于 macOS(Apple Silicon 或 Intel)的 .dmg,以及适用于 Windows 的 .msi。
[!注意]
支持的平台为 macOS 13 和 Windows 10(x64)。Linux 构建源自相同的 Tauri 代码库,但未经测试——请参见 从源码构建 。
为什么选择Atlas
现在代理编写了大量代码,但没有保留背后的推理。产生变更的提示、工具调用的内容、最初尝试然后放弃的方法——所有这些都存在于滚动缓冲区,直到缓冲区滚动。
存留下来的只是提交信息,由模型撰写,总结一个差异。数月后,这就是代码为何如此的唯一记录。
接下来有三个问题,每一个在代理出现之前设计的编辑器都有这三个问题:
- 每次会话代理都从零开始。 你昨天建立的上下文消失了,而重建它是你的工作,每次都是。
- 切换代理会丢失脉络。 Claude Code无法读取Codex的历史,Codex也无法读取Claude Code的。任务中途更换代理意味着解释必须重新开始。
- 上下文存在于十个地方。 知识库、
CLAUDE.md、AGENTS.md以及每个代理自己的内存文件。没有任何东西能一次读取所有内容。
两个约定塑造了Atlas如何回答它们:
- 没有任何内容是固定的。 笔记是markdown,画布是JSON,会话是JSONL,编辑器是磁盘上的一个文件。关闭Atlas可以用vim继续操作。唯一例外是检查点记录(哪个代理会话生成了哪个提交),储存在项目被git忽略的
.atlas/中,因为它用于查询,而非读取。 - 从零开始为代理构建。 代理运行时、共享内存和会话历史是整个应用构建的基础。
检查点
检查点记录的是提交本身无法告诉你的事情:是哪次会话生成的、代理被询问了什么、工具调用了什么以及变更背后的推理,这些内容被保存在一起,而不会在终端滚动时消失。
Atlas将每个代理会话本地记录在.atlas/sessions.db中,在任何数据写入磁盘前先去掉敏感信息。当你提交时(通过任何工具,即使Atlas已关闭),提交会作为检查点链接回产生它的会话,并且这种链接在变基和修改后依然保持。
你不必读取原始记录就能恢复上下文:选择一个检查点并直接与它对话,它会根据该会话中实际发生的事情回答。本地模式完全离线工作,无需账户。
工作原理
Atlas按原样运行你的代理,并丰富它们所看到的内容。
Claude Code和Codex作为外部子进程通过ACP运行,这是使用最广、测试最多的途径。Atlas Agent,本地代理,在其自己的引擎中以进程内方式运行,一次性从Apache-2.0项目移植,并由Atlas维护(参见CONTEXT.md,ADR-0003和ADR-0011)。
除此之外,Atlas可以在ACP注册表中启动任何代理(Cursor、OpenCode、Kilo Code等),自动拉取各自的官方二进制文件。它们都通过相同的发送路径,因此无论你选择哪一个,下述内容都适用。
[!注意]
针对注册表中长尾代理的质量保证工作正在进行中。
在您的消息到达代理之前,Atlas 会围绕其组装上下文:
| 注入 | 来源 | 时间 |
|---|---|---|
@ 提及 |
在发送提示之前在 Rust 中本地解析。笔记、技能、论文和过往会话会内联;文件和文件夹解析到路径 | 每轮 |
| 共享代理记忆 | 由任何代理编写的活动计划、决策、文件更改、失败和架构笔记 | 每轮 |
| 语义匹配 | 您的消息在设备上进行嵌入,并与项目的记忆索引进行匹配 | 每轮 |
| 会话交接 | 精选信息包以及您在该项目上上一次会话的结尾,包括来自不同代理的内容 | 首条消息 |
| 您已写的内容 | 知识笔记、CLAUDE.md、AGENTS.md、Claude Code 的记忆文件以及 Codex 的历史记录,整合到一个索引中 |
持续 |
- 单一路径,无需为每个代理做特殊处理。 通过 Atlas 运行您现有的 Claude Code 或 Codex 订阅,会话将获得更多上下文,而不改变您的工作方式。
- Claude Code 的记忆对 Codex 可见,反之亦然。 任何一方代理都无法单独读取对方的历史记录。
- 文件夹解析为指针,而非粘贴。
@提及一个 5000 行的文件时,会发送代理按需读取的路径,因此一次提及不会占用整个会话的上下文窗口。 - 嵌入在您的设备上运行。 检索内容从不离开设备。
功能
代理
| 能力 | 描述 | 链接 |
|---|---|---|
| 多代理会话 | Claude Code、Codex 和 Atlas 的原生代理,每个会话可选择,并可在不同标签页中并行运行。会话独立于标签页,因此切换不会中断正在进行的运行 | 聊天与会话 |
| 共享代理记忆 | 设备上的语义索引(本地嵌入,HNSW 搜索),每个代理都可以读取和写入 | 记忆 |
| @ 提及 | 本地解析文件、文件夹、符号、分支、提交、笔记、技能、论文和过去的会话 | 聊天与会话 |
| 技能 | 全局或每个项目范围的 SKILL.md 文件,通过符号链接到该代理自己的技能目录为代理启用 | 技能 |
| 套件 | 安装 GitHub 仓库中的技能、子代理、命令、钩子、规则和脚本,通过 skills.sh 索引发现 | 技能 |
| 模型聊天 | 直接在模型自己的标签页中与模型对话,无代理循环 | 聊天与会话 |
| 组织 | 登录、创建组织,并在设备和团队成员间同步 | 组织 |
代理历史
| 能力 | 描述 |
|---|---|
| 会话捕获 | 每个会话都记录到 .atlas/sessions.db:提示、消息、工具调用、每个工具涉及的文件以及应用的补丁 |
| 检查点 | 每个会话都关联到它产生的提交。提交是被观察而不是拦截的,因此即便是从终端、其他编辑器或在 Atlas 关闭时创建的提交,也会找到其对应会话 |
| 可在历史重写中存活 | 通过补丁 ID 对应进行修改和重基的链接重定向。当压缩操作使链接真正不明确时,它会孤立而不是猜测 |
| 记录导入 | 回填您已有的 Claude Code 历史,确保记录从您安装 Atlas 之前就开始 |
| 写入时清除秘密 | 在任何数据持久化前先进行编辑,因此本地存储本身从不构成泄露风险 |
| 捕获健康状态 | 每个项目一个信号:正常、降级或停止,每种状态附带原因及下一步措施 |
| 任务控制 | 代理活动仪表盘:随时间的使用情况、消耗分布、时间线及可筛选的日志表 |
无需账户和网络即可使用。
项目
| 功能 | 描述 | 链接 |
|---|---|---|
| 编辑器 | CodeMirror 编辑界面,支持每个项目的编辑器状态在重启后恢复 | 编辑器 |
| Git | 真实的提交图,支持分支分配、暂存/取消暂存/提交、分支操作以及文件级差异 | Git & Diff |
| 终端 | 块状终端,每个命令都有自己的输出、退出代码和运行时长,并且提供完整的 vim、htop 等交互界面 |
终端 |
| 知识库 | .atlas/knowledge/ 中的纯 Markdown 笔记,与代码版本控制同步,支持反向链接、链接图,并导出为 HTML 或独立服务器二进制 |
知识库 |
| 研究 | 搜索 arXiv 和 Semantic Scholar,导入论文,在应用内阅读,并可以在提示中 @ 提及 |
研究 |
| 浏览器 | 标签页中的原生 WebKit Webview,支持真实登录、Cookies,并提供阅读模式 | 浏览器 |
| 空间 | 用于笔记及其连接的空间板,项目中以 JSON 形式持久化 | 聊天与会话 |
| 分屏视图 | 最多三列可调整大小,每列拥有自己的标签页 | 编辑器 |
| 活动日志 | 项目中的每个重要事件,可筛选,且可以将行固定在重启间持续显示 | 时间轴 |
从源代码构建
要使用 Claude Code 代理,请安装 claude CLI 并将其放入你的 PATH。Atlas 的原生代理不需要外部 CLI。
需要 Bun 和 Rust(稳定版,通过 rustup),以及 macOS 上的 Xcode 命令行工具 或 Windows 上的 MSVC 构建工具(带有 C 工作负载的 Visual Studio 构建工具)。
Linux 系统依赖项(GTK 3, WebKit2GTK 4.1, GLib 头文件)
- Debian / Ubuntu / Linux Mint:
sudo apt 安装 -y libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev - Fedora / RHEL:
sudo dnf 安装 glib2-devel gtk3-devel webkit2gtk4.1-devel - Arch Linux / Manjaro:
sudo pacman -S glib2 gtk3 webkit2gtk-4.1 - openSUSE:
sudo zypper 安装 glib2-devel gtk3-devel webkit2gtk3-devel
git clone https://github.com/pacifio/atlas
cd atlas
bun install
bun run dev:app
第一次编译 Rust 需要几分钟;之后只需几秒。前端单独迭代使用 bun run dev,不过任何调用 invoke() 的地方都需要 dev:app。
生产构建:
bun run build:app # macOS .app bundle
bun run build:app:dmg # macOS .app + .dmg installer
bun run build:app:win # Windows .msi installer
贡献指南
Please refer to CONTRIBUTING.md. There is one point that can be confusing:
- 功能开发目标是当前版本分支,而不是
main。main只接收已完成的版本分支,该合并即为发布。
docs/architecture.md 介绍了 Atlas 的构建方式。SECURITY.md 介绍了如何报告漏洞。
默认本地
- 您的代码、笔记和会话保存在您的机器上。 运行代理时不会上传任何内容。
- 在写入磁盘之前会清理机密。 不是在上传之前,而是在持久化之前。
- 会话捕获默认仅限本地。 检查点 记录会写入
.atlas/sessions.db并保存在本地。不需要账户,任何内容都不会发送,除非您明确选择同步。 - 账户为选择性使用。 登录以创建组织并在设备和团队成员之间同步。
- 匿名使用分析默认开启。 收集粗略元数据,从不收集代码或提示。收集内容及如何关闭。
许可证
Apache 2.0 许可证。见 LICENSE。
网站 · 文档 · Discord · 遥测 · Apache 2.0
- 本文标题:atlas - 代理的源代码控制
- 本文链接:https://www.cn121.com/webapp/pacifio-atlas.html
- 原项目:pacifio/atlas 版权归原作者 pacifio 及贡献者所有
- 收录信息:本站于 2026-10-23 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 pacifio/atlas。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。