Web应用 活跃维护

atlas

pacifio/atlas

代理的源代码控制。使用多个编码代理,跟踪它们的更改,并在一个地方查询它们

9598
Stars 标星
375
Forks 分支
58
Watchers 关注
43
Open Issues
TypeScript
主要语言
Apache-2.0
开源协议
39.2 MB
仓库大小
1 小时前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:pacifio/atlas
git clone https://github.com/pacifio/atlas.git
git clone git@github.com:pacifio/atlas.git
README.md main

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

阿特拉斯

编码代理的源代码控制。



下载 · 文档 · 网站 · 贡献 · 问题


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。


本站来源与版权声明
  • 本文标题: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 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。