Skip to content

快速开始

第一阶段进行中,随实现回写。 本页描述的是从文档链蒸馏的目标用法——它随打包发布的运行时一起在第一阶段末尾落地。今天可用的部分:整套立项文档链与每单元正在累积的验收证据。

目标用法:五分钟一个业务 Agent

YokeOS 的设计目标是:初始化工作区、写一份 AGENT.md、开始对话。第一阶段完成后,完整链路是这样的:

bash
# 1 · 初始化工作区(幂等:已存在的目录和文件一律不覆盖)
yokeos init

# 2 · 创建一个 Agent 目录(生成最小 AGENT.md 模板)
yokeos profile create ops-agent

# 3 · 编辑 AGENT.md:frontmatter 配 Provider、工具、通知、定时;正文写任务指令

# 4 · 跟它对话
yokeos chat --profile ops-agent

# 或把能力暴露成 HTTP 服务
yokeos serve --port 8080        # REST API + Web 管理台

前置条件:Java 21,一个 LLM API key(DeepSeek / Qwen / Kimi / Ollama 等)。

初始化后的工作区:

text
.yokeos/
├── agents/            # 每个子目录 = 一个 Agent
├── skills/            # 公共 Skill 库
├── output/            # Agent 产出物
├── memory/
│   └── MEMORY.md      # 长期记忆
├── sessions/          # 会话导出(真相源在 SQLite)
├── logs/              # 结构化日志
├── AGENTS.md          # Bootstrap:项目级 agent 行为说明
├── SOUL.md            # Bootstrap:默认 agent 人格定义
├── USER.md            # Bootstrap:用户偏好
├── mcp_servers.yaml   # MCP 配置
└── yokeos.db          # SQLite

三个 Bootstrap 文件在 Agent 启动时被自动加载进系统提示词:项目背景(AGENTS.md)、Agent 人格(SOUL.md)、用户偏好(USER.md)。

两个日跑 Demo:第一阶段的验收

早期按「一个 Demo 验证一个能力」拆过五个 Demo,但真实场景从来不是单一能力独立跑的——一个能打动人的 Agent,一定是多个能力叠在一起、自己到点跑起来的。最终收敛成两个每日自动运行的端到端 Demo,加起来覆盖全部六个核心能力加定时任务这个第三触发源:

Demo 一:每日天气(光杆 AGENT.md)

每天早上 8 点,Agent 自动查天气、生成穿搭建议,经 Webhook 推送到企业 IM 群机器人:

  1. AgentSchedulerschedules 声明的 cron 到点触发,走与人工触发同一条执行链路
  2. LLM 决定调 http_get 拉天气——过域名白名单,写入审计表
  3. LLM 看到天气生成穿搭建议,调 notify(channel="team-im") 推送——同样过白名单、落审计
  4. 完整对话留在这次自动触发的 Session 里,GET /api/v1/sessions/{id} 可查

验收要点:全程不需要人工触发;两次涉外调用都有白名单校验与审计记录。

Demo 二:每日科技日报(AGENT.md + 公共 Skill + MCP)

每天早上 9 点,Agent 自动汇总当日科技新闻并推送,日报内容会体现用户之前说过的关注方向(比如「更关注 AI 和芯片」):

  1. 业务方创建 daily-tech-digest/AGENT.md(按名引用公共组稿 Skill digest-format,配新闻 MCP server),公共组稿规范放 .yokeos/skills/digest-format/SKILL.md
  2. 用户此前说过「更关注 AI 和芯片」,Agent 调 save_memory 写入 MEMORY.md
  3. 到点后 system prompt 注入正文、记忆与 Skill 规范;LLM 自己决定调哪个新闻工具、自己组织日报
  4. 因为看到记忆里的偏好,组稿自然侧重 AI 和芯片方向

验收要点:业务方全程不写一行 Java 代码;日报内容体现 MEMORY.md 里记住的偏好,验证长期记忆在跨天场景里生效。

两个 Demo 都是「钟推」(定时触发),但都能同时支持「人推」手动补跑(yokeos chatPOST /agents/{name}/invoke)——同一个 Agent 不管从哪个入口触发,走的都是同一条执行链路,行为一致、审计同构。

里程碑目标清单

第一阶段按参照实现公开构建过程的课程节序组织(第 16→31 节),节奏自定、顺序不乱,不设日历时间盒。每节以「可演示成果」为完成判据:

课型能力主线可演示成果
16代码Provider 抽象配置 Provider 与 API key,CLI 发消息拿到 LLM 回复
17代码ReAct 循环一次对话内完成多步任务:思考 → 调 Tool → 观察 → 续推
18代码CLI 命令行入口yokeos chat 多轮会话,可查上下文与 Tool 调用记录
19代码Notify 通知Agent 干完活把结果推到 Webhook 通知渠道
20代码Tool 体系与 MCP内置 Tool 全量可用,接入外部 MCP server,白名单校验生效
21评审Memory 设计评审评审记录定稿(不产码)
22代码Memory 实现Agent 跨对话记住用户偏好并在后续对话用到
23评审Sandbox 设计评审白名单沙箱设计定稿(不产码)
24代码Sandbox 实现越权路径/命令/域名被拦截,拦截动作留痕可查
25代码定时任务Agent 按 cron 到点自跑,执行历史可查
26代码Web Service 与管理台REST 端点完整可用,管理台只读观察五页上线
27串联全流程串联(一)CLI → ReAct → Tool → Notify 端到端打通
28串联全流程串联(二)端到端链路固化为集成测试,稳定复跑
29代码一个目录 = 一个 Agent放一个 Agent 目录即得到一个可用的业务 Agent
30代码动态管理一句话生成 → 预览 → 创建 → 编辑 → 删除,全程免重启
31Demo真实运行与发布两个日跑 Demo 在真实环境上线,打包发布,项目主页可访问

审计两表(tool_invocationsllm_calls)从第一个有 LLM 调用和 Tool 调用的节起就写入,不以「日志够了」为由推迟。

下一步