dirac-run/dirac

Coding Agent singularly focused efficiency and context curation. Reduces API costs by 50-80% vs other agent AND improves the code quality at the same time. Uses Hash Anchored edits, massively parallel operations, AST manipulation and many many other optimizations. https://dirac.run/

Dirac——一个开源 AI 编程代理

Dirac 是一个可编程的 AI 助手,旨在帮助开发者在大型代码库中编写、重构和管理代码。它可以在 VS Code(或任何支持 Agent Client Protocol 的编辑器)中、从命令行或通过任何兼容 ACP 的 IDE(如 JetBrains 或 Zed)运行。

Dirac 有何不同?

功能 为何重要
提供商无关 可与数十种 LLM 提供商(OpenAI、Anthropic、Gemini、Groq、Mistral 等)以及任何自定义端点配合使用。你可以保留已有的凭据。
目标模式 给出一个单一的高层目标(/goal <objective>),让 Dirac 持续工作数小时,创建并协调子任务,直到目标达成。你可以随时暂停、引导或停止它。
哈希锚定文件编辑 不同于脆弱的搜索替换,Dirac 为每一行标记一个稳定的哈希。编辑针对精确锚点,因此能承受附近的其他更改,并消耗更少的 token。
基于 AST 的检查与操作 代理可以请求文件大纲、获取特定函数实现,或使用抽象语法树(而非原始文本)在整个仓库中替换/重命名符号。
并行批处理操作 多个独立的读取、搜索、编辑和 shell 命令可以捆绑到单个模型响应中,减少往返和延迟。
子代理 独立的代理可以并发运行(例如,一个研究,另一个编辑),各自拥有自己的提示、工具和超时,而 Dirac 会跟踪新鲜度以避免过时写入。
实用模型 一个更便宜的“实用”模型可以处理上下文压缩、提交消息生成或权限检查等廉价工作,让主模型专注于繁重的编码。
低冗长模式 关闭模型的闲聊,只显示决策、验证结果和最终差异。
权限与审批工作流 自动审批可以由自然语言策略管理;任何不确定的事项都会升级给用户并记录在转录中。
连续性与检查点 长时间运行的任务会保存检查点;你可以稍后恢复、还原以前的工作区状态,或从保存点重放任务。

典型工作流

  1. 安装 – VS Code 扩展、npm CLI(npm install -g dirac-cli),或从编辑器的 ACP 注册表添加 Dirac。
  2. 配置提供商 – 选择模型并提供 API 密钥(支持环境变量,如 OPENAI_API_KEY、ANTHROPIC_API_KEY 等)。
  3. 启动会话 – 在 UI 或终端中输入 /goal "Add logging to all HTTP handlers"。
  4. 观察其工作 – Dirac 规划任务、检查 AST、进行精确编辑、运行测试并报告多文件差异。
  5. 引导或批准 – 如果需要更改,发送消息;如果出现权限请求,根据你的策略批准或拒绝。
  6. 完成 – 代理验证验收标准、创建检查点,并可自动提交更改。

基准测试

Dirac 在来自真实仓库(VS Code、Transformers、Django)的八个多文件重构任务上,与几个开源代理框架进行了比较。使用相同的 gemini-3-flash-preview 模型,Dirac:

  • 完成了全部 8 个任务(100% 成功率),而次优框架在 6-8 个任务上成功。
  • 实现了最低的平均 token 成本 – 每个任务 0.18 美元,而竞争对手为 0.38-0.73 美元。

安装快速入门

界面 命令 / 链接
VS Code / Open VSX 从 Visual Studio Marketplace 或 Open VSX 安装 Dirac。
CLI npm install -g dirac-cli(需要 Node 22-24)。
ACP 编辑器 从编辑器的 ACP 注册表安装,或运行 dirac --acp。

示例 CLI 用法

# 认证一次
dirac auth
# 简单分析
ndirac "Analyze the architecture of this project"
# 目标模式 – 无人值守
ndirac --yolo "Fix the failing tests"
# 将 git diff 管道传输给 Dirac 进行审查
git diff | dirac "Review this"

可扩展性

  • 自定义工具 – /new-tool <description> 允许你描述一个小工具;Dirac 会生成、编译、验证并使其立即可用。
  • 子代理 – 并行运行多个代理,每个代理都有自己的工具集和超时。
  • 仓库感知钩子 – 定义基于路径的规则、技能和工作流,自动影响每个任务。

社区与开发

  • 在 Apache 2.0 下开源 – Cline 项目的分支。
  • 欢迎贡献;有关 linting、测试和构建步骤,请参阅 CONTRIBUTING.md(npm run install:all、npm run compile)。
  • Star 历史显示社区兴趣稳定。

简而言之: Dirac 是一个功能齐全、提供商无关的 AI 编程代理,为大型语言模型提供了可靠、大规模编辑真实代码库所需的工具,并对成本和自主性进行细粒度控制。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目