• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Diodeme
V2EX  ›  程序员

[开源] Gold Band--编排 Coding Agent 的桌面端 Harness 应用

  •  
  •   Diodeme · 8h 28m ago · 349 views

    大家好,我最近做了一个开源工具:Gold Band 。

    github 地址: https://github.com/diodeme/Gold-Band

    技术栈:Rust + React + Tauri 2 + Agent Client Protocol

    名字 Gold Band 来自“金箍”的意象。我的理解是,AI 本身已经足够强,但在真实工程任务里,问题往往不是“让它做事”,而是让它在长时间、多步骤、有回环的任务里持续沿着正确方向做事。Gold Band 想做的就是给 Agent 加一层工程化的约束和编排。

    做这个工具的初衷也是为了方便自用,在过往我的 AI CODING 历程中,碰到过一些问题:

    1. 长程任务虽然存在 subagent 、agent team 等分治协作策略,但对于主会话的 orchestrator 来说,一旦任务周期过长,还是会出现编排错误或者 orchestrator 直接自己下场干活的问题。

    2. 使用 ralph loop 等工具,但存在 agent 又当运动员又当裁判的问题,缺少交叉性验证,无法保证最后 completed 的输出到底是否可靠。

    3. skill 、constitution 、mcp 等未形成统一加载标准,各个 agent 自治规范,维护起来比较麻烦

    4. claude code 的 subagent 无法继承会话的 skill 列表,只能由主 agent 告知或提前定义好,所以 subagent 的能力受限(这一条问题在最新版本已经解决了,测试版本为 v2.1.153 ,但在当时让我觉得与其等待 agent 厂商不知何时的修复,不如自己做外挂解决好了)

    同时我也一直相信,AI 应用最好的方式,就是用工程化手段降低 AI 的不稳定性,发挥 AI 的创造性,所以基于上面的问题和理念,我想制作一个可以使用工程化手段稳定 AI 工作流且统一管理 Agent 所需的上下文的工具,或者再简单一点,可以理解为一个本地 Agent 工作流版的 Dify,这个工具就是现在的 Gold Band 。

    功能介绍

    任务编排

    image

    用户可在创建任务时,为任务指定具体的工作流。 工作流可直接在画布中可视化创建或复用现有模板。 Gold Band 系统也内置了一套工作流。

    一些概念

    节点:每个节点代表一次 Agent 执行,用户可以在agent 管理中进行 Agent 配置,理论上支持 ACP 的 agent 类型都可以调起,但是由于目前每个 agent 对于 ACP 的支持程度各异,所以我们只会在完整测试通过后才加入到支持列表中,目前Claude Code是已经验证通过了的。

    角色:每个节点内置的角色,会追加到系统提示中(目前有部分 ACP Agent 不支持追加 system prompt ,则会追加到 user prompt 中(正在探索是否有更好的方式)) ,用户可在上下文管理中进行角色的编辑,Gold Band 内置了一套角色,参考本文后续的介绍。

    权限模式:系统在加载 ACP 时握手阶段获取到的 ACP Agent 支持的权限模式列表,用户可以在节点设置中进行选定。

    结果判定:关于如何决定节点的分支走向。Gold Band 提供两种方式:1.人工 check ,人工点击成功或者失败作为该节点的结果,适用于方案节点等需要人工审核的场景。2.AI 输出验证,指定 Agent 输出的 DSL 和结果判定表达式,系统自动根据表达式判断节点结果。比如:

    //DSL
    {
      "reason": "String",
      "result": "boolean"
    }
    //表达式
    $.result == true
    

    :画布中点击边,即可对边进行修改,选中目标和 session 方式( new 代表新建 session ,continue 代表在原 session 上继续)

    内置工作流:Gold Band 目前内置的工作流如下:

    built-in-workflow

    比较重点的是审查和测试不通过会回环到开发节点,用 continue 的方式进行修复。 验收节点会验证需求是否真的完成了,未完成会输出报告并进入下一轮 round 。 验收后会有 clean 节点对过程产物进行清理并持久化到项目目录下。 用户也可以完全不用该内置工作流,自行新增偏好的工作流。

    任务执行

    image

    用户在任务目录下点击新增 run 即可对该任务发起一次执行 用户可以对一个需求发起任意多次执行 发起执行后,用户可以在 run 详情中观察每一轮 round 具体的执行情况

    一些概念

    attempt:节点对回环为一次 attempt ,比如测试-failure->开发算一次 attempt ,工作流中可以限制运行时每个节点对 attempt 的最大次数,超过次数则拒绝。

    round:节点可指定结束状态开启一轮新的 round ,新的 round 会从头执行工作流,并在系统提示中告知 agent 当前轮次和上轮产物目录,工作流中可以限制运行时 round 的最大次数,超过次数则拒绝。

    产物目录:过程产物全部放在~.gold-band\projects<project-path>下面 一个实际的产物目录如下

    //artifacts
    ~\.gold-band\projects\D--Projects-code-ai-Gold-Band\tasks\task-001\runs\run-001\rounds\round-001\nodes\开发\attempt-001\artifacts
    //attachments
    ~\.gold-band\projects\D--Projects-code-ai-Gold-Band\tasks\task-001\runs\run-001\rounds\round-001\nodes\开发\attempt-001\attachments
    

    artifact: 有明确输出要求的节点,系统会自动把节点的输出放置于 artifact 下面,参考结果判定这一概念中的 AI 输出验证。

    attachments:节点可自由输出文件、报告的目录,比如测试报告之类的都在这里

    会话观测

    image

    节点运行中,用户可以在此观察会话实时运行状态,当然也可以在会话结束后进入对应的 cli 查看。 节点执行完后,用户依然可以继续在该窗口对话,会使用 continue 方式继续调用 agent 。 continue 方式

    一些概念

    系统提示:展示 Gold Band 运行时追加的 system prompt 原始帧:ACP 会话的原始流,用于问题排查

    Agent 管理

    image

    使用 ACP 方式拉起 agent 进行会话,可在此页面进行配置和环境诊断 虽然理论上支持所有 ACP 兼容 agent ,但是出于测试严谨性,现阶段仅推荐先用 claude code

    上下文管理

    image

    可在此进行上下文管理,目前仅支持角色管理,后续会考虑扩展 skills 、rules 等能力 内置角色无法修改、删除,但可以修改后另存为自定义角色

    设置

    当前设置项包括:

    • 中 / 英文语言切换
    • 主题切换
    • 字体切换
    • 更新机制
    • 本地 Claude Code 开关

    本地 Claude 开关为临时方案,后续可能会优化。开启时使用本地 Claude Code 可执行文件,关闭时 Claude Code ACP 组件会拉取 Claude Code SDK 中携带的 claude.exe 。

    后续安排

    目前 Gold Band 其实依旧处于开发者预览阶段,目前为止的版本虽核心链路已经能够跑通,但是产品体验上就本人看来依然还有诸多需要优化的点。所以本次推广,

    第一是希望 mvp 版本也能先帮助到和我有一样问题的朋友们,大家可以看看方向是否值得继续打磨,欢迎提 issue \pr 或直接喷我哪里不好用。

    第二是向大家同步下后面的开发计划,后续除了我之外,也会有一个很小的团队兼职参与维护。当前阶段我们会优先处理影响核心使用路径的问题,并根据真实反馈补充事项或调整后续优先级。目前暂定的待办项如下:

    高优先级处理

    1. 多 agent 支持,优先测试跑通 codex\cursor\gemini cli\opencode 的集成,视情况增加更多 agent 。
    2. 系统通知能力,agent 请求权限、工作流报错时进行系统通知,设置中可选关闭。
    3. 支持自适应工作流编排与并发执行:
    • 支持节点级并发:一个节点可以同时分发到多个后续节点,并行处理不同子任务;可在实验室功能中配置最大并行数。
    • 支持需求级并发:一次导入多个需求后,可让多个需求复用同一套工作流并行执行;可在实验室功能中配置需求并行数。
    • 支持 AI 动态路由:工作流执行过程中,由 AI 根据当前任务目标、上下文和中间结果,动态决定下一步应进入哪些节点、拆分哪些子任务,以及是否并行执行。

    中优先级处理

    1. 增加对 skill 的支持与管理
    2. 增加对 mcp 的支持与管理
    3. 优化 ACP 会话观测窗口的性能表现,样式优化,使用体验,修复一些已知问题
    4. 增加指标统计能力,包括会话用时、token 消耗量等,提供数据看板。校对目前会话用时的准确性。

    写在最后

    Gold Band 目前还处在很早期的阶段,肯定还有不少粗糙、不合理甚至跑不通的地方。但这个项目不是为了蹭概念做出来的,而是我自己在长期使用 AI Coding 时确实遇到了一些问题,才一步步把它做成了现在这个 MVP 。

    我个人一直觉得,AI Agent 本身很强,但真正要在复杂任务里稳定发挥作用,还是需要工程化的约束、编排、验证和观测。Gold Band 想做的事情,就是把这些能力尽量整理成一个本地可用、可配置、可持续演进的工具。

    如果你也对这个方向感兴趣,欢迎试用、提 issue 、提建议,或者直接指出哪里设计得不合理。

    感谢各位看到这里,也欢迎大家轻喷重喷。只要问题真实,对我来说都很有帮助。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2721 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 14:56 · PVG 22:56 · LAX 07:56 · JFK 10:56
    ♥ Do have faith in what you're doing.