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

输入关键词开始搜索。

    文档目录

    ASTER CODE / 功能参考

    构建配置与模型接入

    构建 profile、ACL 信任层、模型适配器与超时边界。

    交付形式

    Core 是本地 Rust SDK,ACP 是供终端和桌面宿主启动的伴随进程。仓库不提供额外语言 SDK;终端 aster 与 aster-acp 一起构建、分发。已有异步 Rust 应用优先嵌入 Core;需要进程隔离或跨语言宿主时走 ACP。

    Core profile增加的能力适用情况
    minimal受控执行循环、工作区工具、身份与事件宿主只需要基本编码能力
    local-code,默认持久词法索引、grep 候选裁剪、web_fetch 的 PDF 文本提取本地编码助手
    scientificSQLite 记忆、浏览器搜索、advanced-harness实验与高级编排宿主
    serverS3 工作区、OTLP 导出有对象存储和观测基础设施的宿主
    fullscientific 与 server 的并集需要上述两组能力的构建

    apofasi 单独启用,不包含在 full 中。apofasi-infer 需要权重,Metal 路线只适用于相应平台。跨平台 CI 使用 ci-all,不能用 --all-features 代替平台选择。dm-prod1-host 是专用 Redis 验证程序的开关,不属于产品默认交付。

    Cargo feature 只决定代码是否编入。比如编入 S3 并不会替宿主提供凭据,编入语义检索也不会授权源码外发。多个 workspace 包同时构建时 feature 会合并,验收应查看实际交付图。

    ACL 从可信宿主进入

    先按第一章准备一份可用的可信 ACL,再接入业务界面。下面仅展示模型配置形状;端点和模型名需要替换为宿主已验证的服务。

    default_model = "openai/my-model"
    providers "openai" {
      api_key = env("OPENAI_API_KEY")
      base_url = "https://api.example/v1"
      models "my-model" {
        tool_call = true
        limit = { context = 32768, output = 4096 }
      }
    }
    

    配置由 aster-acl 解析。JSON 工具参数、JSON Schema 和协议消息是数据,不是第二种产品配置文件。密钥从环境变量读,不能写入练习仓库。工作区自动发现的 ACL 只能收紧宿主权限;模型、认证、联网和宿主能力不能由项目文件自行扩大。

    模型、结构化输出与附件

    Agent::new 读取可信配置,SessionOptions 选择会话参数。供应商适配由 LlmClient 抽象;Rust 宿主也可以注入实现。适配器存在不保证供应商支持图片、工具调用、原生 reasoning effort 或严格结构化输出,应该以模型声明和实际响应判断。

    结构化输出从 send、run、task 的相应选项进入,generate_object 可供任务使用。先定义所需 schema,检查解析结果及错误;不能把模型生成的 JSON 字符串当成通过 schema 校验。附件使用 send_with_attachments 等类型化入口,界面要展示无法传递的内容,而不是悄悄丢掉附件。

    分开设置四类上限

    会话可设置 with_llm_api_timeout、with_tool_timeout、with_max_tool_rounds 和 with_max_continuation_turns。模型请求超时、单工具超时、工具轮次和宿主续跑次数各管一层。另有解析重试、重复工具检测、熔断、上下文 token 和 artifact 保留上限。

    排查时先确认失败在哪一层,再调整对应参数。提高模型超时不会增加工具权限;增加续跑轮数也不会让缺少验证的任务变成完成。

    验收

    先做一次只读请求,核对实际模型名、工具投影、工作区路径和 init_warning()。再测试无效模型、缺少环境凭据和拒绝路径,确认失败能明确返回。随后才启用写入、远程服务和自动续跑。

    实现依据