Aster文档
搜索 Aster 文档
ESC
产品
版本

输入关键词开始搜索。

    文档目录

    ASTER CODE / 01

    Aster Harness 概述

    Aster Code 负责 Aster 的模型调用、工具执行、会话记录和完成检查。

    架构图FIG. 01 · 运行时架构终端与桌面通过 ACP 接入 Core,Rust 应用直接使用 SDK。会话调用模型和受控工具,并把结果写入事实日志。
    谁负责把目标变成结果Rust 应用也支持直接接入 Core。模型提出动作,Core 检查动作。你提出目标用户界面接收输入CLI / Studio协议转接ACP执行与检查Core项目与模型工具 / LLM
    1. 01先说清想得到什么

      你提供目标、范围和完成条件。界面负责接收输入。

    2. 02把界面请求送入内核

      ACP 把协议消息转成 Core 会话调用。Rust 宿主支持直接使用 SDK。

      turn.rs L26 ↗
    3. 03检查实际发生的结果

      Core 调用模型与受控工具。事实日志保留执行依据。

      fact_control.rs L126 ↗

    下载 SVG ↗

    Harness 的职责

    假设 Aster 需要修复一个失败的测试。模型先查找代码,再修改文件并运行测试,然后根据结果决定是否继续。Harness 组织这些步骤:准备模型输入、执行工具调用、检查权限、记录结果,并判断任务能否结束。

    在 Aster 中,这部分由 Aster Code 实现。它的核心库是 aster-core,下文简称 Core。终端和桌面通过 ACP 协议与 aster-acp 进程通信,由该进程调用 Core。Rust 应用也可以直接嵌入 Core。使用这套库的应用称为“宿主”。

    Core 提供 Anthropic、OpenAI、智谱及 OpenAI 兼容接口的模型适配器。

    入口实现:Agent L11 ↗ 创建共享服务与会话,FactRun L126 ↗ 组织事实驱动的执行。

    01

    执行工具

    检查模型请求的调用是否获准,再执行工具。

    02

    保存记录

    记录执行结果,供下一轮使用或中断后恢复。

    03

    检查完成条件

    检查修改是否通过验证,或已获准免除验证。

    事实日志如何支持恢复

    FactRun 是执行任务的核心,底层使用 aster-effect。事实日志按顺序保存用户输入、模型回复和工具结果。执行组件读取这些记录,计算当前状态和下一步可以执行的动作。

    例如,一次工具调用已完成并留下记录,恢复会话时就不需要重新执行这一步。运行时根据日志重建状态,继续处理尚未完成的动作。宿主通过实时事件或运行快照显示进度。子代理采用相同机制,但各自保存日志。

    可以组合的执行组件

    Rust 宿主可以选择和组合执行组件,例如系统指令、工具目录、调用预算、上下文压缩和调度器。这套组合接口称为 Meta Harness。不指定组合时,会话使用默认组件。

    system系统指令
    tools工具目录
    budget执行预算
    compact上下文压缩
    infer调度组件
    默认组件。宿主可以调整组合,权限和完成检查仍由 Core 执行。

    自定义组件也从日志计算状态,由运行时执行动作。无论如何组合,工具权限和完成检查都由 Core 执行。Rust 接口支持自定义组件树;当前 ACP 入口只接受代码中预先列出的几套组合。

    具体配方、自定义组件、工具接入和恢复接口,见 Meta Harness 使用指南。

    默认包含哪些能力

    Core 默认使用 local-code 构建,包含本地编码所需的执行循环、工作区工具和词法索引。高级工作流、研究与评估、浏览器搜索、S3 和遥测需要额外的构建开关。持久记忆和长期目标还需要宿主提供相应配置或服务。

    构建模块已编译

    相应的 Cargo feature 已启用。

    接入会话已配置

    宿主已提供这项能力需要的配置。

    验证运行已检查

    在目标环境中检查过实际行为。

    例如,编译了记忆模块,并不意味着会话已经开始保存和召回长期记忆。宿主还需要指定存储、访问范围和激活规则。具体接入方法见“宿主接入”。

    文档入口

    设计原则说明执行边界。RSI 与 Meta Harness说明候选执行策略的实验方法。

    终端编码智能体教程使用同一个 Rust 工程,依次实现只读会话、确认、验证、恢复和长期任务。

    源码入口

    函数引用指向本版源码快照的对应行号。“本页源码”汇总本页出现的入口,窄屏显示在正文之后。下表连接公开 API 与执行机制。

    实现依据

    本文根据 Aster 仓库中的 aster-core 9.1.6 编写,代码核对日期为 2026-10-28。源码引用固定到本版注册的 Git 提交,后续分支移动不会改变引用位置。

    能力与协议

    Rust 接口见功能参考。外部客户端使用独立的 ACP 产品文档。当前内容对应 9.1.6 工作树,9.1.5 文档可从版本切换中查看。

    内部机制

    内部机制分章说明系统提示词、上下文、执行、长期任务、恢复与完成。 源码漫游提取本版代码并保留原始行号。 图示支持逐步聚焦和分层展开。