OpenProgram · Target design · Framework first

Agent 配置框架

Agents页面管理可运行Agent的身份、模型、指令、能力范围和会话策略。Programs、Skills与MCP仍是独立实体目录;Agent只保存对它们的引用和访问策略,不复制实体内容。

1. 三层职责

Global entities

Programs / Skills / MCP

系统中实际存在、可安装、可编辑或可连接的能力实体。

  • 实体源码、schema、连接状态和版本
  • 由各自的全局页面管理
  • 不保存某个Agent的模型或会话设置
Agent configuration

Agents

某个Agent使用什么模型、指令、能力和会话边界。

  • 保存实体引用与访问规则
  • 创建独立workspace与sessions目录
  • 一个页面内分区编辑,统一保存
Conversation override

当前会话

只覆盖本次会话,不改写Agent持久配置。

  • 临时模型、thinking effort或工具范围
  • 明确显示“继承Agent”或“已覆盖”
  • 新会话重新读取Agent配置
边界:Agent配置不保存120个工具的schema,不复制Skill正文,不保存MCP凭据。Runtime根据Agent规则解析当前可用实体,失效引用在页面中标记,但不静默删除。

2. 信息架构

配置区用户任务真实字段或资源下钻文档
Overview识别Agent、设为默认、复制或删除idnamedefaultidentity、时间信息基础配置
Model & Instructions选择模型、推理强度和持久指令model.providermodel.idthinking_effortsystem_prompt、workspace prompt files基础配置
Programs决定Agent可发现和调用哪些ProgramstoolsPrograms选择器
Skills允许哪些Skills被发现和加载skills.disabledallowedcategories能力配置
MCP允许哪些MCP服务;哪些服务缺失时禁止启动mcp.disabledallowedrequired能力配置
Sessions控制联系人隔离、空闲重置、每日重置和workspacesession_scopesession_idle_minutessession_daily_reset、agent workspace/sessions基础配置

六个配置区保持稳定。以后增加连接器权限、预算或运行限制时,应进入最接近的现有区;只有出现新的持久职责才增加一级分页。

3. 整体页面原型

下面的原型用于确认页面层级、创建入口、六个配置区、保存状态和生命周期操作。生产实现不得另建一套页面窗口:顶部ManagePageHeader只放页面标题与New / Save操作;六个配置分页属于当前Agent,使用现有Tabs组件放在右侧Agent标题下。左右分栏与列表复用splitBodyManageRow,右侧详情复用Settings的pageHeaderpageBody。生产页面同时复用全局字体体系:正文、字段和按钮使用--fs-base,辅助说明使用--fs-sm;原型为容纳完整页面而使用的缩放字号不得复制到生产CSS,只有路径、ID等明确元数据可使用等宽字体。

OpenProgramUnsaved changes
A

Default Agent

main · updated just now

Default

Overview

名称、ID、用户可见身份和提及规则。

Open detailed design ↗
ModelMiniMax-M3

medium effort

ProgramsAll Programs

schemas on demand

Session scopeAccount + channel + peer

idle reset: 3 days

4. 页面状态与失败行为

Editing

本地草稿

任一字段变化后显示Unsaved changes;切换Agent或离开页面前提示保存或放弃。保存请求只发送变更字段。

Conflict

版本冲突

如果配置在其他窗口更新,拒绝覆盖并展示Reload / Review changes。初期后端若无版本字段,需要先补充乐观并发合同。

Missing reference

实体失效

已删除Program、Skill或MCP服务显示Missing,不自动移除引用;用户确认保存后才能清理。

操作预期行为
Create Agent创建配置、workspace与sessions目录;成功后选中新Agent并停留Overview。失败时保留表单。
Set as default原子更新默认指针;至少保留一个默认Agent。
Duplicate复制配置和workspace模板,不复制sessions、历史消息或凭据。
Delete明确列出将删除的配置、workspace和sessions;默认Agent不可直接删除;删除前要求输入Agent ID。
Save当前分页的修改可以批量保存,但成功后所有分页读取同一AgentSpec版本。
窄屏Agent列表收为顶部选择器;分页可横向滚动;编辑区单列,不出现横向页面滚动。

5. 数据与实现边界

Agents UIsix configuration sections
Agent APIcreate / read / patch / default / delete
Agent manageragent.json + workspace + sessions
责任决定
持久配置agent.json保存AgentSpec;workspace文件继续独立保存,避免把大段文件内容塞进AgentSpec。
实体引用Programs、Skills、MCP只保存稳定名称/pattern和policy,不保存schema或凭据。
运行解析每次新会话或配置变更后由统一Runtime registry解析;页面不实现第二套resolver。
凭据Provider与MCP凭据由各自全局配置管理;Agents页面只选择引用,不读取或复制secret。
历史会话历史属于Agent sessions;Programs运行历史属于聊天DAG;配置页只提供进入相应页面的链接。

6. 参考框架比较

参考采用调整不采用或当前缺失
OpenClaw Agent configurationAgents CLIper-agent workspace、model、skills、tool policy、identity、session scopeOpenProgram将全局实体目录与Agent访问策略分开,并用六个配置区展示bindings/channels编辑器、avatar、archive尚未进入当前AgentSpec
OpenClaw workspaceAgent runtimeworkspace文件与session store分开;bootstrap文件可检查和编辑UI明确区分持久system prompt与workspace prompt files本设计不把workspace解释为安全sandbox
Claude Code CLI referencemodel、thinking、allowed/disallowed tools和session controls是独立配置职责CLI flags转为持久Agent配置与会话级override两层max turns、budget、permission mode尚无AgentSpec字段
Codex configuration referencemodel/provider、instructions、profiles、MCP等配置职责分区OpenProgram围绕可运行Agent实体组织,而不是围绕单个全局配置文件hooks、sandbox、project trust和managed requirements不在本次Agent页面范围

7. 当前实现差距

能力当前状态目标
Agent列表与读取已有保留;补充加载、空状态与错误状态
Programs策略已有基础实现换成摘要 + 按需选择器,接入完整框架
创建Agent网页API缺失POST接口 + 创建表单 + workspace bootstrap结果
完整编辑网页只PATCH tools覆盖全部AgentSpec字段,统一保存与验证
Skills / MCP没有配置页独立分页、实体选择器和missing状态
Sessions / workspace没有配置页scope/reset编辑、workspace文件入口、session链接
设为默认 / 复制 / 删除管理层部分存在,网页未设计完整接口生命周期菜单、限制与明确的破坏性确认
并发更新无版本冲突合同增加version/updated_at前置条件或等价ETag

8. 框架验收合同

  1. Agents页面存在一个明确的创建入口;创建成功后可配置全部六个区域。
  2. Overview、Model & Instructions、Programs、Skills、MCP、Sessions均使用同一Agent ID和同一持久版本,不形成多套配置对象。
  3. Programs、Skills和MCP实体仍由各自全局页面管理;Agent页面只保存引用与策略。
  4. 完整实体schema、Skill正文和MCP凭据不写入Agent上下文;Runtime按需解析。
  5. 默认Agent、失效引用、未保存修改、保存失败和并发冲突均有独立可见状态。
  6. 删除确认明确说明配置、workspace和sessions会永久删除,且不能直接删除当前默认Agent。
  7. 键盘可用Arrow Left/Right、Home、End切换分页;焦点、保存状态和错误信息可访问。
  8. 窄屏仍可选择Agent、切换分页和完成表单,不依赖hover。

9. 实现与验证记录

项目状态证据
整体信息架构设计完成本页六区原型、字段映射和交互合同
基础配置下钻设计文档agent-core-configuration-ui.html
能力配置下钻设计文档agent-capability-configuration-ui.html
Programs选择器已有目标设计agent-tool-configuration-ui.html
生产实现本轮未开始当前App仍是tools-only草图;设计确认后再实施
18100视觉验收不适用本轮未修改生产App