OpenProgram · Agents

Agent 能力配置

可复用配置、可选长期记忆、统一执行语义。

English
目标设计 · 尚未实现新增运行能力;交互仅修改本文档示例,不保存真实配置。

全局目录与 Agent 引用

Agent 选择能力范围,不复制定义。Programs 管理可调用 Tools、Workflows、Applications;Skills 管理操作指令;MCP 管理连接与凭据。页面分别配置。继承和强制权限见配置总契约。

目录 Agent 保存 Agent 不保存
Programs 策略、预设引用、明确名称与排除项 Python 源码、展开 schema、工作流仓库
Skills 模式、名称/类别、排除项 复制的 Skill 目录或永久注入的完整正文
MCP 允许和必需的服务引用 凭据、登录 Cookie、服务实现

策略语义与迁移

模式 请求集合 约束
inherit 采用基础策略 发现能力前解析
all 全局可用项目 仍应用拒绝和强制上限
selected 明确名称与类别过滤取交集;Programs 也可选择一个预设 显式 allowed=[] 表示空;Programs 不允许同时指定 preset 与明确名称
none 空集合 不能通过延迟按名称加载绕过

生效集合 = 请求集合 ∩ 全局可用 ∩ 调用方授权 ∩ 父委派上限 ∩ 环境限制 − 显式拒绝。失效引用仍保存但不可调用。必需 MCP 必须属于生效服务,矛盾模式包括通配拒绝都需校验。Skill 描述某个工具不等于授予使用权限。

目标格式为 Skills/MCP 同样加入明确 mode。旧 automatic 映射 all;disabled=["*"] 映射 none;allowed/categories 非空映射 selected;旧空 allowlist 仅迁移时映射 all。目标 selected=[] 绝不能进入旧空列表代表全部的处理。Skills 的 selected 模式中,allowed 省略且 categories 非空表示仅做类别过滤;两者非空时取交集。有类别项必须匹配,无类别项保留已有豁免,并在 UI 明示未分类。显式 allowed=[] 即使同时指定类别也表示无项目。名称和类别都缺少则不选择任何项目。旧 allowed 为空且类别生效时,迁移为省略 allowed,保留旧判断而非变成空显式白名单。规范化只在统一边界完成,不由 UI、搜索、执行器各自解释。

发现、调用与变化传播

编辑器职责

Programs、Skills、MCP 分开。各自显示模式、继承来源、生效数量、失效数量和目录入口,只在打开时加载目录。类别/预设是选择方式,不是复制内容。MCP 增加必需标记与全局连接入口,凭据不进入草稿。列表、树与详情由 Programs 选择器文档定义,本页不重复目录。

验收:selected 空集合在搜索和调用均为空;被拒绝明确名称不能调用;必需服务缺失在副作用前阻止执行;失效引用重新加载后保留;切换分区保留统一草稿;记忆关闭时相关工具不能执行。现有策略基础已存在,目标规范模式与跨入口强制行为依实施计划验收。