核心能力与 Agent 定义
一个目录定义一个 Agent
.oryxos/agents/<name>/AGENT.md 是业务 Agent 的定义。frontmatter 派生运行配置 Profile,正文描述任务;不额外维护独立 Profile YAML。
text
.oryxos/
├── agents/
│ └── daily-tech-digest/
│ ├── AGENT.md
│ └── skills/
│ └── digest-format -> ../../../skills/digest-format
├── skills/
│ └── digest-format/
│ └── SKILL.md
└── memory/
└── MEMORY.mdProvider:统一模型接入
通过 Spring AI / Spring AI Alibaba 做模型协议适配,内部使用显式 Provider 映射。业务 Agent 通过配置选择厂商与模型。
ReAct:可控执行
循环包含思考、执行与观察:模型提出工具调用,底座校验并执行,结果回填上下文,再由模型决定下一步。迭代次数受限,会话保留完整 assistant/tool 消息关联。
Memory:让对话延续
MemoryService 是统一门面,核心阶段覆盖会话与长期两层。长期记忆默认保存到 MEMORY.md,通过 save_memory 和 recall_memory 使用。情景记忆属于后续演进。
Skill:公共实体与 Agent 绑定分离
公共 Skill 位于 .oryxos/skills/<name>/,Agent 通过本地 skills/<name> 的受控相对软连接选择可见集合。
每轮只注入已绑定 Skill 的名称、描述与本地读取路径。正文、脚本和参考资料按需取用。Skill 与 Agent 都不是可执行 Tool,不进入 ToolRegistry。
Tool:三档扩展
| 方式 | 做法 |
|---|---|
| 零代码 | Agent 目录 + 公共 Skill + 现成 MCP server |
| 轻代码 | 自写 MCP server,封装企业 API |
| Java 集成 | Spring Bean 通过 @Tool 暴露方法 |
内置工具包括文件、Shell、HTTP、记忆与通知。通知按渠道名称查询全局注册表,发送同样通过网络校验并记录调用。
Web Service:嵌入已有业务
REST 是业务系统的统一调用入口,支持会话模式和一次性 Agent 调用。CLI、API 与定时触发复用同一条执行链路。
更多接口与运行机制见 系统架构。