13. 进阶(二):Agents / Skills / Memory
omicOS 的能力由三套可扩展系统组成:Agents(智能体)、Skills(技能)、Memory(长期记忆)。它们大多由云端 omicos-admin 统一管理并同步到本地,但订阅 lab 及以上的用户可以在自己的工作区里加塞或覆盖。本章讲这套机制。
13.1 订阅分层(tier)
omicOS 按订阅等级给功能分层,内部用一个 rank 数值表示:
| 等级 | rank |
|---|---|
| community | 0 |
| plus | 1 |
| pro | 2 |
| lab | 3 |
| enterprise | 4 |
未知 / 空的等级名一律映射为 0(community)。rank ≥ 3(lab) 是能否使用"工作区本地扩展"的分水岭。
订阅状态由一个 plan token(订阅 JWT,存 ~/.omicos/plan_token.jwt)承载,后台调度器会在 token 剩余有效期不足 25% 时自动续期。续期失败且 token 过期时,会降级到 community 层,付费功能被锁定,直到重新登录。
13.2 Agent 模板
Agent 是一个有特定角色、工具集和系统提示词的智能体。模板格式是 YAML frontmatter + Markdown 正文:
---
id: my_lab_qc
name: My Lab QC
description: 课题组定制的 QC agent
tier: lab
toolsets:
- python_interpreter
- file_manager
- omicverse_lookup
skills:
- qc_basic
---
You are a QC specialist...
(以下是完整的 system prompt 正文)
常见字段:id、name、description、toolsets、instructions、tier、skills、category、use_when、example_prompts。
Agent 的三层加载来源
omicos 加载 agent 时,按优先级合并三个来源:
- 工作区本地覆盖
<workspace>/agents/(仅 lab+ 生效) - 云缓存
~/.omicos/cloud-agents/agents/(从 omicos-admin 同步) - 工作区
.omicos内的回退
本地覆盖的生效规则
- 新 id → 追加到花名册末尾(加一个新 agent)。
- 同 id → 本地
.md覆盖云端版本(方便 lab 用户临时迭代某个 prompt 而不动 admin)。 community / plus / pro用户即使写了文件也会被静默忽略——admin curated 内容是唯一来源。- 改文件后需重启
omicos serve/omicos cli才生效;网页端的"刷新 agents"只刷新云端 manifest,不重读本地文件。
Agent 的 skill 白名单语义
agent 的 skills 字段控制它能看到哪些 skill:
- 空 / 缺省 = 全部 skill 可见(后向兼容,不是全部隐藏)。
["*"]= 显式通配,全部可见。- 命名列表 = 仅列出的这些可见。
- 工作区本地 skill 始终绕过白名单,总是可见。
13.3 Skills
Skill 是可复用的能力单元。omicos 发现 skill 的根目录优先级:
OMICOS_SKILL_ROOTS列出的目录(冒号 / 分号分隔)- 云缓存
~/.omicos/cloud-skills/skills/ <workspace>/skills/(lab+)<workspace>/.omicos/skills/(lab+)
云同步来自 omicos-admin manifest,做 hash 比对与垃圾回收,并附带 plan token 做分层过滤。OMICOS_SKILLS_OFFLINE 可关闭同步、只用本地缓存。
13.4 Memory(长期记忆)
Memory 让智能体跨对话记住东西。存储在 ~/.omicos/memory/ 下的纯 .md 文件(无 frontmatter,标题取首个非空行),按 process_token 同步到服务端。
- 工具:
memory__list/memory__view/memory__create/memory__edit/memory__delete。 - slug 命名规则:
[a-zA-Z0-9_-],长度 1–64;正文上限 64 KiB。 - 写入策略:本地写优先,云端尽力同步。
OMICOS_MEMORY_OFFLINE可关闭云同步。
13.5 同步间隔
agent / skill / model 的 catalog 同步间隔由 OMICOS_CATALOG_SYNC_SECS 控制,默认 600 秒;小于 30 秒的值不会被钳制到 30,而是被丢弃并回退到 600 秒默认值。
13.6 工作区扩展门控小结
| 能力 | 谁能用 |
|---|---|
| 使用云端 agents / skills | 所有用户(按订阅分层过滤) |
在 <workspace>/agents、<workspace>/skills 放本地覆盖 |
仅 lab / enterprise(rank ≥ 3) |
| 使用 / 写 memory | 所有用户 |
如果你是 community/plus/pro 用户,发现自己放的本地 agent 不生效,这是预期的——升级到 lab 才能用工作区本地扩展。