项
你的编码代理说 改变已经完成了。 arnx检查它是否有效:它读取更改,为什么写测试 看起来破了,在多克运行, 告诉你什么失败了,什么 它不能决定没有你.
发现是一个测试,你可以运行,而不是评论。 Arnx每3次运行一次 在代码上再次运行 改变,有第二个模型来挑战它, 并让你保留有用的一个作为回归测试.

状况:提前释放(0.1)。 Python (pytest), JavaScript/ TypeScript (vitest, jest, 节点: test, bun) 和 Rust (活字游戏) (最近的货物, 早点)寄存器:一个单一的软件包,一个工作空间,或者许多服务. 开源 (Apache 2. 0) 使用自己的模型密钥,或使用运行的模型 项轴云。 。 。 .
arnx在单包Python和TypeScript寄存器上工作最好. 一个包含多个软件包的寄存器每次设置一个部分,在 设置的时间限制,以及只在浏览器(Playwright, Cypress)中运行的测试不运行. 更多进去 文件/档案。 。 。 .
发现什么样子
arnx 自己审查 arnx remove 命令( 审查) 20261022-227eb7页:1 更改增加了一个命令:
删除放置在仓库中的文件。 arnx怀疑它相信记录在
.arnx/accepted-tests.json 并写下了这个测试:
test("S2 accepted-test paths escaping the repository are never deleted", async () => {
const { base, repo, env } = setup();
const victim = join(base, "victim.txt");
put(victim, "keep me");
put(join(repo, ".arnx", "accepted-tests.json"), record({ "../victim.txt": {} }));
const cli = new Cli({ cwd: repo, env });
await withDocker("/nonexistent/docker", () => cli.run("remove", "--yes", "--tests"));
expect(existsSync(victim)).toBe(true);
});
从审查报告来看:
### Issue 1 · remove --yes can delete files outside the repository
- Actual: In S2, `../victim.txt` outside the repository was deleted. …
- Failing tests: F2, F4
### F2 · regression · confirmed by the second opinion
- Failure: `expect(received).toBe(expected)`
- Before the change (regression): passes on the code before the change (3 runs), fails with it
- Second opinion: planRemove takes accepted-tests.json keys verbatim and applyRemove rmSync's join(repo, p), …
测试在全部3跑中都失败了,在更改前传入了代码,第二种模式同意了
解释。 我们标记了它真实的, arnx accept 保持它,一个编码代理固定 remove 从arnx的固定快,和
arnx check 显示它经过。 它仍然守护着这种行为,在
测试/移动-安全测试并不是每个发现都像这样: 在我们自己的评论中,
一些经证实的问题 测试我们打算的行为。 决出是汝所分.
安装
惠璶 夹克 运行( 每一个测试在其中运行; arnx 不安装它) 和 macOS 或 Linux( 在 Windows, WSL 2 有 Docker桌面的WSL集成. 与 npm( 第 20 节或以后的节点) :
npm install -g @arnx-dev/arnx
或独立二进制,需要节点(darwin-arm64, (中文(简体) ), darwin-x64, (中文(简体) ), linux-x64 或者说 linux-arm64:
curl -fLO https://github.com/arnx-dev/arnx/releases/latest/download/arnx-linux-x64
chmod +x arnx-linux-x64 && mv arnx-linux-x64 /usr/local/bin/arnx
每个版本列出二进制的sha256英寸 SHA256SUMS。macOS 二进制尚未签名:一个下载在一个
浏览器被隔离,以及 xattr -d com.apple.quarantine /usr/local/bin/arnx 释放它. arnx --version 名称
建筑物; arnx doctor 检查 Docker, 密钥和配置 .
快速启动
选模特跑的地方 无论是哪种方式 测试运行在你的多克.
用你自己的钥匙. export ANTHROPIC_API_KEY=... 足够了,每份工作都在Claude身上,你给Anthropic
直接说 其他提供者和模式: 文件/文件。 。 。 .
arnx init # writes .arnx/config.toml and .arnxignore
以阿rn多罗三藐三菩提云. 无模式键;新账从5元入帐.
arnx init --cloud # writes the config for arnx cloud
arnx login # a device login: open the link it shows, enter the code
然后,在这两种情况下:
# ... let your agent change something ...
arnx review # writes tests for the change and runs them: 2 issues confirmed (4 findings)
# the first one sets up, in a few minutes, only the projects the change touches
arnx triage # mark real / intended / noise / rewrite, answer questions
arnx accept # tests of real issues are kept in .arnx/tests/ (never in your own suite)
arnx prompt # the fix prompt for your coding agent
arnx check # runs the accepted tests; green means they pass now
使用 arnx 云,第一次审查在发送代码之前询问(您自己的密钥不询问). 它能快速地证明每个项目(测试清单,
arnx的一行测试,几个小的测试文件;另一个项目的后期变化将一个设置在当时.
arnx setup 转而设置整个寄存器,运行多克的每套套房.
提交 .arnx/config.toml 财务报告和审定财务报表 .arnx/review.yaml:队友,其他分会和CI重用被证明的环境.
输了? arnx next 说出你在这个流中的位置 和现在运行的命令; arnx doctor 说什么是缺失.
arnx review 看看拉动请求会显示什么:在树枝上,自它离开默认树枝后的每一个承诺
加上跟踪文件中的未承诺工作; --range A..B 选择任意的跨度。 几分到几分的审查费
美元(我们自己的评论:0.17至3.19美元),停止在你的封顶写作测试, review_usd (违约3.00美元).
证据意味着什么
- 复制失败 : a 测试 arnx 在每次运行( 默认为 3) 中写入失败 。 表明一个断言失败,而不是 代码错误:测试可以编码错误的预期.
- 倒退证据: 同样的测试通过代码 在改变之前。 其他成果报告为: 它们是: 与之前相同的信件失败, 新的代码( 无可比较的), 更改, 或者没有选中 .
- 第二点意见: 另一种模式读取测试,失败和diff,并证实或争议. 这是 模型的判断。 其确认的调查结果值得一看,不会失败。 一个结论不能判断 (预算,API出错) 1号出站,因此由于检查没有运行,审查从未通过.
- 你的决定: 标记每期真实、意图、噪音或重写(错误是真实的,测试是错误的). 有经确认的测试支持的问题会预先标出真实性;改变你不同意的.
arnx check数字 : 你接受的测试 通过了你的工作树, 在沙盒。 它显示那些行为 检查,没有更多的。 一份审查清单改变了代码,没有触及任何测试,也从未如此精细.
更多进去 文件/工作记录。 。 。 .
工作流程
- 设置 (第一次审查是,对于项目,变化触及,或
arnx setup,为所有人读取 数据库,每个单元提出一个项目,其测试是自行进行的,每个单元由 在 Docker 运行套房( 还没有测试 ) ? Arnx自己的单行测试结果 没什么要批准的: 以值得查看的内容结尾( 测试文件被搁置, 未测试的内容 , 允许隐形文件, 下载) 从包登记册以外的来源)。 变化.arnx/review.yaml在下一次审查之前再次证明. - 审查 为更改撰写测试, 运行三次, 在更改前运行代码上的失败, 询问
第二个模型,然后写
.arnx/reviews/<id>/review.md以试验的和没有的. - 分数 (或编辑评论.md)标记出每期并回答arnx的问题;答案也成为测试.
- 接受 不断测试真实问题
.arnx/tests/在你自己的测试中 从来没有收集过它们和针 每个文件的sha256英寸.arnx/accepted-tests.json. 对其他问题的测试被忽略. - 提示 给定时速; 检查 将所接受的测试放入一份丢弃的拷贝中进行操作:a
bug的测试失败直到修复. 被编辑的被绑定的测试
check拒绝( 退出 4): 测试更改至 它没有显示什么。 arnx从不编辑代码或测试.
细节 出口密码, --json 和检查前后: 文件/工作记录。 。 。 .
编码代理
Arnx 技能让 Claude 代码( 和其他读取 Agent Swills 的代理商) 关闭循环: 更改后运行
arnx review 一次,说出它可能花费多少, 并把发现交给你。 一旦你三岁又被录取,
它修正代码从 arnx prompt 直至 arnx check 通过,运行每一个触摸到的项目的全套间, 和报告.
设置 标记发现 回答问题, arnx accept, (中文(简体) ), arnx init,登录并承诺保留您的:
技能告诉代理商永远不要运行它们或编辑接受的测试(arnx check 将拒绝这些反正.
arnx skill install # writes .agents/skills/arnx/ and .claude/skills/arnx/: commit them
arnx skill install --user # or under ~/, for every repository on this machine
在克洛德代码中,它也作为插件安装: /plugin marketplace add arnx-dev/arnx,则 /plugin install arnx@arnx。 。 。 .
更多内容: 文件/工作记录。 。 。 .
您的密钥或 arnx 云
| 自己的钥匙 | 项轴云 | |
|---|---|---|
| 模型 | 系带 arnx 用测量,或者您配置的任何组合 | 由 arnx 云选择和运行,努力量低/中/高 |
| 报酬 | 你,每个提供者 | 预付信贷; 每项审查显示其开具的账单 |
| 提示 | 在开源中,您需要更改 | 韩克思云 |
| 测试 | 你的夹克 | 你的夹克 |
| 发送 | diff, 将代理读取、测试和输出文件提交您的提供者 | 同样的,到arnx云, 它传递给它的模型提供商 |
秘密文件, 类似秘密的值( 发送和测试为相同形状的假; 私钥是沙盒中的假和) [private key] 和路径 .arnxignore 从未发送; 未跟踪的文件仅与 --untracked。用你自己的密钥代码,只给钥匙提供者
您设置( 第一次发送时, 说一次) 。 arnx 云向您询问每个寄存器一次同意 。 切换为 arnx cloud on 编号 : off细节 : 文件/文件, (中文(简体) ), 文件/文件, (中文(简体) ), 文件/档案。 。 。 .
安全和数据
- 测试只在 Docker 中运行, 在寄存器的丢弃副本上运行, 没有网络( 仅服务于
.arnx/review.yaml),无 主机环境和资源限制。 Docker 分享主机内核:它不是敌对的完美边界 代码,而图像构建则有网络访问权限来安装依赖. - 你的型号钥匙留在Arnx流程中,从来不在容器中. 秘密过滤器是一个热度:延伸
.arnxignore对于其他的隐私. - 接受测试是写着的模型的代码: 在你承诺之前读取. 仅
arnx check运行他们. - 遥测关闭,除非你设定
telemetry = true内.arnx/config.toml(匿名数,从不代码或文件) 页:1.arnx remove列表并删除所添加的所有 arnx .
全部边界、发送内容和遥测: 文件/档案安全报告: 警卫。 。 。 .
鲁斯很早
粗糙的作品,但它是Arnx语言试验得最少的. 第一个设置很慢( 图像汇编您的依赖性)
我们自己的跑步是小箱子,不是大工作空间
是综合测试,只看你的箱子的公开API。 就在发射前 我们发现 arnx check 跳过
您已经接受的( 固定在 0.1 中的) rust 测试 : 期待更多这样的错误 。 把Arnx指向你的箱子 告诉我们
破产了 陷害了多久.
已知限制
- 每次审评最多200KB; 部分审评一个长分支
--range A..B。锁定文件和生成的文件(捆绑、快照、协议输出、标记文件)linguist-generated)留在沙盒中(可在那里阅读),但不计数,也不在所发送的diff中. - 仅限 Python, JavaScript/ TypeScript 和 Rust (
arnx init财务报告和审定财务报表arnx doctor说到另一个仓库 语言,在发送任何信息之前)。 没有Windows构建:使用WSL 2. - 设置记录您的套房今天的测试失败, 一个一个的,在
.arnx/baseline.json,以后的证明则不会 数一数 类似环境的失败(缺少服务、软件包或变量)会回到 设置代理先;无法在沙盒中修复的被记录在它的事业上,列在"Worth a look"下. - 示范答复各有不同:对同一变化的两次审查可以报告不同的调查结果.
试试看,告诉我们
将arnx指向真正的仓库,交换模型,编辑提示(arnx prompts copy KEY),以及
打开一个问题 和发生的事情:一个被它抓住的虫子,一个发现是
错误,一个失败的设置,一个它不理解的布局,一个模型组合,效果更好. .arnx/precision.jsonl
拿着没有密码的标记 见 捐款额; arnx 如何在内部工作 :
发展.md。 。 。 .