关于 Atris
Atris 是用于让 AI Agent 在代码仓库及其他限定任务中工作的工作区和命令行工具。它围绕计划、执行、复核流程组织上下文、任务、日志和验证,并支持个人或企业的持久工作区。
主要功能
- 01基于代码仓库的 Agent 工作区
- 02计划、执行、复核工作流
- 03任务跟踪与每日日志
- 04可复用技能和项目记忆
- 05成员任务的独立检查
- 06附带工作凭据的回顾摘要
适用场景
- 01为编码 Agent 提供结构化项目上下文
- 02跨工作时段跟踪任务和决策
- 03通过验证检查运行委派任务
- 04查看已完成 Agent 工作的摘要
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
10收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 要提取的网站 URL,例如 https://stripe.com |
详细介绍
atris
atris:用通俗的话说出你的需求。atris 会构建它、检查它,并向你展示证明。
在底层,它是一个 AI 工作操作系统。它能将任何代码库变成一个 Agent 真正可以操作的工作区:Agent 行动前会读取的共享上下文、plan -> do -> review 循环、持久化任务和每日日志,以及以真实检查而非承诺作为工作结束标志的验证。
每位所有者都会获得可持久使用的计算机来运行它:
Owner = User | Business
Owner has many Computers
Computer = workspace + files + tools + secrets + memory + agents + validation loop
计算机可以供个人使用,也可以由企业共享。它可以运行代码、研究、CRM、报告、活动运营、支持或业务运营等工作。
快速开始
npm install -g atris
cd your-project
atris init && atris
面向编码 Agent
请先阅读 FOR_AGENTS.md:了解 Agent 为什么采用 Atris、60 秒启动方式,以及推广说明。
如果你是 Agent,请运行:
atris
然后阅读工作区的 atris/atris.md 并严格遵循其中的说明。atris.md 是权威信息来源。
Atris 为你提供什么
- 基于任意代码库构建的 AI 工作区
- 用于特定任务的持久化 AI 计算机
- 本地计算机卡片,让每个工作区都可供检查
- 严格的
plan -> do -> review循环 - 每日日志、任务跟踪、功能包和项目记忆
- 按需使用的技能、团队成员、集成和云同步
- 对“我的 AI 实际做了什么?”这一问题给出明确答复:运行
atris recap;如需可随处粘贴、附带凭证的摘要,则运行atris recap --share
关键文件
| 文件 | 用途 |
|---|---|
atris/atris.md | 在此代码库中工作的 Agent 的主要说明 |
atris/MAP.md | 带有文件:行号引用的导航索引 |
atris/TODO.md | 便于人类阅读的任务视图 |
atris/logs/YYYY/YYYY-MM-DD.md | 每日日志、收件箱、笔记和已完成事项 |
atris/features/ | 包含 idea.md、build.md、validate.md 的功能包 |
atris/skills/ | 可供 Agent 重用的技能 |
atris/team/ | 团队成员规范和本地上下文 |
atris/wiki/ | 代码库记忆、简报、概念和知识库健康状态 |
atris/
├── atris.md
├── MAP.md
├── TODO.md
├── logs/
├── features/
├── skills/
├── team/
└── wiki/
安装
npm install -g atris
atris --version
需要 Node.js 18+。
atris task 使用内置 SQLite,需要 Node.js 22+。
如果你想使用 Atris 云工作区、企业或集成,请在安装后运行 atris setup。
如何运行 Atris
cd your-project
atris init
atris
atris init 会搭建工作区,包括 atris/wiki/。atris 会加载上下文,并将工作流交由 atris/atris.md 处理。
如果你还在完善想法,请使用 atris brainstorm。如果你希望 Atris 完成一项工作并证明其已成功,请使用 atris run "<objective>"。如果你希望 Atris 持续选择下一项任务或团队成员,直到你叫停,请使用 atris autopilot。如果你想检查项目记忆中是否存在过时页面和缺失的上下文,请使用 atris loop。如果 atris/wiki/STATUS.md 存在,atris activate 会显示其中的知识库状态。
核心循环:plan -> do -> review
可与任何 Agent 集成。
发布静态网站
将构建好的任意静态网站上传到 Atris 托管的子域名。有关标志、限制、配置和 故障排除,请参阅 docs/site-publish.md。
atris site publish dist --slug my-site --spa
atris site publish . --slug my-next-app --profile app --build # Next.js static export
通过 Host 让大家相识
Host 是一位团队成员,它通过一次提出一个有趣的问题,逐渐了解同一个房间(公司、俱乐部或你自己的人际网络)中的每个人,为每个人保留一张资料卡,并且只有在双方都同意时才介绍两人认识。随后,它会主动帮忙寻找合适的时间,并确认见面是否成行。它绝不会读取任何人的消息,也不会记录评分。
atris member install host
atris host setup --room personal # your own network: it asks you, and drafts messages for you to send
atris host import people.jsonl # bulk add people and who already knows whom
atris host room # the host's weekly read
让成员开始工作
成员是助手,会在仓库的各自副本中工作。三个词就能概括整个流程。
Run 会分派一项工作。Atris 会挑选合适的成员并启动它。
atris member run "fix one failing test"
Wake 会让成员持续工作,每个成员都会领取下一项适合自己的任务。指定一个数量,或说出你想要的成员。
atris member wake 5
atris member wake navigator executor
Wake 只会挑选有测试可通过的任务,因此成员知道何时算完成。像这样添加一项:
atris task new "fix the flaky login test" --verify "node --test test/login.test.js"
每项任务的时限为成员名单中设置的构建时限,再加上几分钟用于审查。查看或更改时限:
atris engine roster
只指定一个成员时,会执行一步工作。添加 --keep 可让该成员继续工作。
atris member wake executor --keep
Sleep 会停止所有正在工作的成员。
atris member sleep --all
要查看成员的工作情况,可以打开看板,或实时跟踪某位成员的工作步骤。
atris member board --watch
tail -f ~/.atris/progress/executor.log
成员完成后,询问它的结果:它做了哪些更改、收据,以及一个数字。每位成员的仓库副本都会保留,直到其工作合并;之后 tidy 会将副本收起。
atris member result executor
atris member tidy --dry-run
旧命令仍可用作别名:dispatch 和 go 的作用与 run 相同,up 的作用与 wake 相同。
成员工作如何检查并合并
每项成员任务结束时都会进行单独检查,必须通过指定命令。然后由第二个引擎审查更改,而且该引擎绝不会是执行这项工作的引擎。
只有在你启用一次自动合并后,工作才会自动合并。之后,Atris 会推送分支、创建拉取请求并启用 GitHub 自动合并;当分支与最新版本保持同步且 CI 通过时,GitHub 就会合并更改。
atris autoland on
其他情况都会让工作保留在其分支上,并附上一句简明的原因说明。这包括检查或审查未通过、存在未保存的更改、与主分支发生冲突,以及工作涉及支付、部署或凭据等受保护区域。
任务连续失败三次后会停止并等待人工处理。
与 Atris 2 聊天
ax 是 Atris 2 的聊天和编码 Agent 命令行界面。它默认使用托管的 Atris 云,实时传输文本、显示工具活动,并避免新安装依赖本地设置。
cd your-project
ax chat ax --fast
ax --fast "hello"
ax --pro "help me plan this task"
ax --max "reason through this hard decision"
ax --doctor
使用 Fast 进行快速聊天和低延迟的 Atris 工作流。使用 Pro 处理更深入的工具工作流。使用 Max 处理最困难的任务;它运行推理能力最强的模型,每轮耗时更长。高级本地工作区模式需通过 --local 和 AX_BACKEND_URL 选择启用。
玩转 AgentXP
AgentXP 是一个有凭证支持的游戏循环,帮助你通过 Agent 提升能力。在任意项目文件夹中启动:
npm exec --yes --package atris@latest -- atris play
如果本地不存在初始任务,首次运行会创建一个。循环如下:
start -> proof -> accept -> login -> sync
玩家路径:
atris play
atris task claim <mission-ref> --as game-manager
atris task ready <mission-ref> --as game-manager --proof "<artifact path + verifier result>"
atris task accept <mission-ref> --as justin --proof "<human review>"
atris xp card --local
atris login
atris xp sync --local
管理者路径:
atris gm --player justin
没有凭证,就没有 AgentXP。atris task done --proof 会记录审查和 RL 背景信息,但只有人工执行 atris task accept,才会为本地卡片或托管排行榜发放职业 XP。
自动登录的 Agent
atris login 用于让用户登录。Agent 可以通过 Agent 客户端自行登录,无需任何人提供登录令牌。
所有者只需创建一次客户端。密钥只会显示一次,也可以通过 --secret-file 写入私有文件:
atris agent-client create --name nightly-bot --scopes mcp:read,x-search --secret-file ./bot.secret
atris agent-client list
atris agent-client rotate <client_id>
atris agent-client revoke <client_id>
Agent 使用 ID 和密钥文件登录。它的短期令牌会自动续期;密钥和令牌绝不会被打印出来:
atris login --client-id atc_... --client-secret-file ./bot.secret
也可以设置 ATRIS_CLIENT_ID 和 ATRIS_CLIENT_SECRET_FILE(或 ATRIS_CLIENT_SECRET),然后运行一次 atris login。程序会读取这些变量,无需任何标志,也不会打开浏览器。之后,每条命令都会自动续期令牌。若设置了 ATRIS_TOKEN,则仍会优先使用它。
业务所有者
如果你想为公司、实验室、团体、社区、艺术家、团队或项目设置一个共享所有者,请使用 business 命令,而不是直接运行 atris init。
atris business init "Example Co" --owner-email [email protected]
cd ~/arena/atris-business/example-co
atris business onboard --website https://example.com --contact "Example Owner" --note "sample customer workspace"
atris align --fix
这会创建共享所有者,创建其第一个/默认计算机,写入 .atris/business.json,初始化用于记录事件和运行历史的 .atris/state/,并在 ~/arena/atris-business/<slug>/ 下搭建本地 atris/ 工作区,其中包含入门角色、默认回顾模板,以及 atris/TODO.md 中的初始任务队列。
如果你还没有整理好的源资料包,atris business onboard 是最简单的资料接收步骤:提供一个网站、一位具名人员、几条备注,或在包含零散文件的文件夹中运行该命令。Atris 会将这些内容整理为原始资料、入门简报、第一个工作流、安全的下一步操作,以及一份简短的操作员简报。
谈论该所有者时,请使用它所用的语言:
Your business runs on Atris.
Your lab runs on Atris.
Your collective runs on Atris.
你也可以直接输入:
atris business onboard https://example.com "founder-led b2b ops" ./notes.md
如果你已经有一个装满源资料的文件夹,请在该文件夹中运行 atris business init "Example Co" --here。
完成首次回顾后,将其记录到 RL 状态日志中:
atris business record atris/reports/2026-04-12-operator-recap.md --outcome mixed --metric "operator speed"
核心命令
| 命令 | 用途 |
|---|---|
atris | 加载上下文并启动 |
atris init | 搭建 Atris 工作区 |
atris brainstorm | 在规划前探索思路 |
atris plan | 创建计划/规范 |
atris do | 执行工作 |
atris review | 验证工作并记录经验 |
atris run | 执行一次有界任务:启动或恢复、推进、完成(旧版 plan/do/review 流程使用 --legacy) |
atris run logs | 浏览玻璃运行日志(阶段推理会持久化到磁盘) |
atris run prune-logs | 清理旧运行日志,仅保留最近的 N 条 |
atris run search | 按关键词搜索所有运行日志中的阶段推理 |
atris run stats | 显示运行日志统计信息:阶段计数、平均时长 |
atris run export | 将所有运行日志导出为 JSON 包 |
atris run diff | 并排比较两份运行日志 |
atris autopilot | 持续推进工作区:执行任务/成员阶段,直到运行 atris autopilot stop(旧版审批循环使用 --legacy) |
atris pulse | 安装或运行持久化的隔夜心跳 |
atris log "note" | 向今日日志添加收件箱条目(编辑器使用 log --repl;无头录入使用 wish) |
atris now | 显示当前运行状态 |
atris radar | 显示实时 Agent,以及关联的任务、使命和工作树 |
atris ctop | 显示以进程为主的实时 Agent CPU 和内存使用情况 |
atris status | 显示正在进行的工作和已完成事项 |
atris task | 持久化本地任务状态和 Agent 工作循环 |
atris mission | 持久化目标、负责人、验证者、推进回执和循环状态 |
atris play | 进入 AgentXP 玩家循环,执行一个有证明支持的使命 |
atris gm | 进入 AgentXP 总经理模式,管理玩家使命和审核队列 |
atris xp | 显示本地 AgentXP 卡片,并将符合条件的证明同步到托管排行榜 |
atris codex-goal | 检查原生 Codex 任务目标,并保持已完成任务处于关闭状态 |
atris learn | 管理结构化经验 |
atris ingest | 将原始证据暂存到 atris/context/,并编译到 atris/wiki/ |
atris loop | 刷新 wiki 健康状况、过时/孤立信号和下一个待摄取项 |
atris wiki | 完整的 wiki 命名空间:摄取、查询、检查、搜索、记录和循环 |
atris receipt | 保存 Agent 运行中的证据 |
atris pay | 使用点数向另一个 Atris 账户付款(100 点数 = $1);支持 history、show、accept、cancel |
atris trust | 查看账户的信任度及共同好友;可为某人担保或撤销担保(vouch 或 unvouch) |
atris experiments | 运行小型实验并比较结果 |
atris computer card | 显示或编写本地所有者/计算机卡片 |
atris release | 起草或发布版本更新、标签、GitHub 发布页和上线公告 |
atris slop | 确定性 slop 检测器:检测前端/文案特征,并可用 slop dead --exports 检查无用代码 |
atris clean | 日常维护:修复 MAP 引用、归档日志、报告过时页面和无用代码 |
Doctor
atris doctor [--json] 检查 Node、任务支持、身份验证和工作区就绪状态。
文档健康状况
atris doc-health [--json] [--questions <path>] 为文档大小、映射覆盖率、查找跳数以及功能/成员的新鲜度评分(0 到 100),并列出相似的功能名称。Token 数量按字符数除以 4 估算。启动加载项在字符数不超过 80,000 时可获得全部 20 分;达到 200,000 时线性降至 0 分,超过该值则保持 0 分。问题默认来自 atris/doc-health/questions.jsonl,每行一个 {"q":"where is the CLI router","expect":"bin/atris.js"}。自定义路径相对于工作区根目录。缺少问题时会跳过查找评分,其 30 分全部不计入。成员年龄根据最新日志文件的修改时间计算。
内置系统
atris learn会将结构化项目记忆存储在atris/learnings.jsonlatris wiki默认将仓库记忆保存在atris/wiki/;需要使用远程工作区路径时,请加上--cloudatris ingest现在会将本地源文件包暂存到atris/context/_ingest/,写入清单回执,并刷新atris/wiki/STATUS.md和log.mdatris wiki --private会将仅限本地的敏感笔记存储在.atris/presidio/atris loop会刷新atris/wiki/STATUS.md和atris/wiki/log.md,标记过时或孤立的页面,并建议下一次导入atris activate会加载当前 Wiki 状态,让下一次会话从项目记忆开始,而不只是处理任务atris member会优先在本地维护团队成员身份和学习记录:MEMBER.md是角色约定,goals.json是机器可读的目标/实验状态,goals.md是供人阅读的摘要,logs/YYYY-MM-DD.md记录发生的事情。使用atris member goal、tick、status、block和review <name> <experiment-id> --accept --proof "..." --value 1..5,测试成员是否取得了有用进展,或是否需要操作员/编排器协助。atris codex-goal是原生 Codex/goal的只读桥接工具:status用于检查实时目标数据库,而旧版reset命令现在会拒绝所有修改操作。活动任务会继续原地进行;已完成的任务会保留其最终目标;新工作或定期监控则使用新的专用 Codex 任务。atris task会为 Agent 保存持久化的本地任务状态和仅追加的事件;atris/TODO.md只是重新生成的易读看板。使用atris task new、delegate "..." --to <owner>、next、say和ready <id> --proof "..."来运行工作流;人工审批可使用atris task accept <id>(移至 Done,并奖励 Career XP)或revise <id> --note "..."。任务最终状态变更还会追加到通用每日日志中;如果存在与任务负责人匹配的实际atris/team/<member>/MEMBER.md,也会追加到该成员的每日日志中。无界面 Agent 可添加--json;本地看板使用atris task serve;完整账本可使用atris task show <ref>/events --all查看。看板每次运行都会打印包含新令牌的私有链接,并且只监听 127.0.0.1。在浏览器中打开完整链接;API 客户端在x-atris-token中发送令牌,并在进行变更时使用application/json。浏览器变更必须来自看板自身的来源。命令接受语义化引用(OBL-18)、完整 ID 或任意唯一前缀。在云端业务工作区中,Supabasetasks是事实来源,Swarlo 是实时认领层。atris mission是持久化自主运行层:以负责人、验证者、执行器和停止条件启动;使用mission tick记录有界工作;仅在有证明后使用mission complete结束。执行器包括manual、claude、atris2和codex_goal。atris pulse是用于夜间自我改进的 OS-cron 心跳。使用atris pulse status、tick、run、install --cadence "<cron>" --days 7 --verify "npm test" --model claude-opus-5-5和uninstall。atris experiments会在atris/experiments/中运行小型测试包atris pull和atris push用于同步云端工作区和日志atris live会检查/修复工作区、推送本地状态、拉取云端状态,并在本地变更静止后再次推送,从而保持业务大脑信息更新
引擎
引擎是构建任务的智能核心。每个已安装的无界面编码命令行工具,都是遵循同一契约、可随时替换的工作器:输入有界提示词,输出经过验证的证明;引擎绝不自行认证自己的工作。默认引擎为 atris-fast(ax);安装相应命令行工具后,也可使用 claude、codex、cursor、devin、grok 等。
各项工作由谁负责
ROSTER.md 说明每项工作由哪个工具和模型负责。你可以随时编辑;每个项目、团队成员和新聊天都会遵循它。
## build
- claude code, model: opus 5.5
## review
- codex, model: gpt-6-astra, effort: medium, max: 20 min, prep: search
- claude code, model: opus 5.5
第一个就绪的工作者担任负责人,其余作为备份。~/.atris/ROSTER.md 适用于这台机器上的所有项目;atris/ROSTER.md 则覆盖单个项目的设置。工作者若停滞不前,就会暂停 30 分钟,然后由下一个工作者接手。
如果某个工作者使用旧模型,而这台机器上有同系列的较新模型,名册会发出警告并打印迁移命令。它也会在固定指定的模型 30 天内没有验证凭据时发出警告。已合入的运行结果可作为凭据;快速冒烟测试后,在下一行写上 verified 2026-09-30 也可以。
atris engine roster # who does what, with each worker's recent record
atris engine assign build claude --model "opus 5.5" # change a job's lead
atris engine roster --available # tools and models on this machine
atris team # who really worked in the last 7 days, then quiet and idle
atris team --record # also save one row per member per day for the learning loop
显示所有已安装的引擎和当前默认引擎:
atris engine
为此工作区切换默认引擎(更改会保存到 .atris/engine.json):
atris engine cursor
atris engine reset # back to the house default (atris-fast)
只在单次运行中使用其他引擎,不更改默认设置。--engine <name> 可用于 mission run、autopilot 和 run。单次运行标志和 ATRIS_RUNNER_PROFILE 始终优先于已保存的文件。
atris mission run "fix the flaky login test" --engine codex
机群飞行
atris mission run --fleet 会为任务板上可认领的安全通道任务调度所有空闲的已安装引擎:每项任务对应一个使命,每个引擎对应一个工作树。构建并行运行;各项成果按顺序落地,并在交付前先执行 rebase。因此,若 rebase 发生冲突,该成果的落地流程会暂停(绝不会自动解决冲突),并保留其工作树,而不是让工作成果无处可寻。每次飞行都会在 atris/runs/fleet-<stamp>.json 中写入回执。
atris mission run --fleet --slots 3 # staff up to 3 engines
atris mission run --fleet --dry-run # preview the staffing only
可验证的反馈循环
在底层,Atris 可以对实际的代码库工作进行评分。
- 任务可以包含
Verify:命令,让工作通过确定性的检查收尾,而不是只靠文字描述。 - 规划、执行和审查现在都采用同一套置信度门槛:找出每个合理的漏洞,用来源、证明、验证器、负责人和回滚方案加以修补,或者在推进前将其列为剩余风险。
atris autopilot可以在审查后运行该检查,并将结果记录到日志中。- 后续任务的选择可以参考近期结果,让 Atris 从代码库本地历史中学习,而不声称重新训练模型。
基准测试框架
Atris 提供了一个公开的正面对比基准测试框架,可在相同的任务说明下,对比固定的单模型基线和协同栈运行结果。
快速入门:
node bin/atris.js experiments validate endstate-baseline
node bin/atris.js experiments validate endstate-stack
node bin/atris.js experiments run endstate-baseline --dry-run
node bin/atris.js experiments run endstate-stack --dry-run
node bin/atris.js experiments compare endstate
一键演练:
node bin/atris.js experiments replay endstate
检查内容:
- 回执写入
atris/experiments/endstate-baseline/artifacts/和atris/experiments/endstate-stack/artifacts/ - 分数追加到每个测试包的
results.tsv atris experiments compare endstate会打印最新的并排对比结果atris experiments replay endstate会运行完整的公开试运行演练- 基准测试约定见
atris/features/endstate/contract.md - 验证日志见
atris/features/endstate/validate.md
只有在总分超过基线且“经审查的完成情况”类别不落后的情况下,协同栈才能赢得第 1 级。
技能
Atris 在 atris/skills/ 中提供了真正的技能目录,而不只是一个工作流文件。
示例:
atris、autopilot、autoresearch、wiki、loopbackend、design、copy-editor、meta、writinggithub、email-agent、calendar、drive、slack、notion、slides、x-search、youtube、rampapps、create-app、create-member、memory、magic-inbox、improve、skill-improver、flow
atris skill list
atris skill audit [name]
atris skill fix [name]
atris skill create <name>
atris skill link [--all]
对于 Codex,将任意技能文件夹复制到 ~/.codex/skills/。
发布新版本前
提升版本号前,运行面向发布的检查:
node bin/atris.js --help
node bin/atris.js pulse --help
node bin/atris.js release --help
node --test
然后试运行发布流程:
atris release --dry-run
atris release 会根据本地 git 历史起草或发布版本。--dry-run 会打印计划中的版本变更,但不会提交、打标签或推送。
更新
atris upgrade # Install latest from npm
atris update # Sync local workspace files to new version
通过 npm 安装的版本会在执行常规命令时检查是否有新版本,并自动在后台启动更新。通过 Git 检出的版本仍需手动更新,以免意外覆盖链接的开发副本。
许可证: MIT | 仓库: github.com/atrislabs/atris
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。