// 开源 · 私有部署 · Apache 2.0
OryxOS 是基于 Java 21 构建的 Agent Harness OS。harness(运行骨架)是把模型变成能干活的 Agent 的那层脚手架——循环、工具与执行、上下文、记忆、沙箱、审计。OryxOS 给每个 Agent 同一套生产级 harness,并像操作系统调度进程一样运行一整队 Agent。私有部署在你自己的 K8s 或服务器上。
一个 Agent 就是一个目录:AGENT.md = frontmatter(profile)+ 正文(任务指令),可选 skills/、scripts/。REST 创建、一句话 LLM 生成,或直接拖入目录,WorkspaceWatcher 热加载即上线,无需重启。
.oryxos/agents/ops-agent/
├── AGENT.md # frontmatter + task body
├── skills/*.md # on-demand sub-instructions
└── scripts/ # on-demand shell scripts
# Drop the dir in → WorkspaceWatcher registers it live
# Or: POST /api/v1/agents (create / generate / edit)Provider 存 SQLite,支持运行时 CRUD——随时增删改。Agent 不感知具体厂商,显式 name → ChatModel 映射保证路由正确;改 key/base-url 下次调用自动重建。
# Providers are runtime-mutable, stored in SQLite
POST /api/v1/providers
{ "name": "deepseek", "apiKey": "${DEEPSEEK_API_KEY}",
"baseUrl": "https://api.deepseek.com" }
# An agent just references one by name
provider:
name: deepseek # → explicit ChatModel map
model: deepseek-chat完整掌控 Reason → Act → Observe 循环,同步执行 + Java 21 虚拟线程,不依赖 Spring AI Agent 抽象。Spring AI 只做协议转换与 @Tool schema 生成。
User message
→ PromptBuilder: system + memory + history + tools
→ ProviderService.call()
→ [Tool call?]
→ SandboxChecker whitelist
→ ToolExecutor.execute()
→ write tool_invocations audit
→ append result → loop
→ [Final reply] → return会话记忆 + 按 Agent 的长期记忆(.oryxos/agents/<name>/MEMORY.md,关键词检索、带时间戳)。自动注入每次 system prompt,Agent 跨会话保持一致,后续可无缝升级向量检索。
# Agent saves a preference
Tool: save_memory
Input: {"content": "Prefers Spring Boot over MVC"}
# Persisted per-agent, auto-injected next turn
# .oryxos/agents/ops-agent/MEMORY.md
Tool: recall_memory
Input: {"query": "user preferences"}内置文件 / Shell / HTTP 工具走路径、命令、域名白名单(不用 SecurityManager),可运行时管理。三档插件:零代码 SKILL.md → 自定义 MCP server → 原生 @Tool。Notify 渠道按名寻址。
# Whitelists, not SecurityManager
shell.allowed_commands: [ls, cat, python3]
http.allowed_domains: ["*.github.com"]
# Manage at runtime
POST /api/v1/sandbox/whitelist/SHELL
# Extend via MCP server or native @Tool/admin/ 控制台(Vue 3 + Vite,与官网同源风格):Agent 管理与一句话生成、Provider / Notify 渠道 CRUD、定时任务、工作区文件浏览、记忆查看。审计表 llm_calls、tool_invocations 第一天就写入。
❯ oryxos serve --port 8080
/api/v1/** REST API (unified envelope)
/admin/ Web admin console
/swagger-ui OpenAPI docs读日志、执行 Shell、监控服务,跨对话记住你的运维偏好。
写一个 SKILL.md 接入 GitHub MCP server,自动生成每日 PR 摘要,零 Java 代码。
通过 REST API 接入客服渠道,记住历史交互,必要时触发人工升级。
索引内部文档,回答问题,将学到的事实写入长期记忆。
通过 MCP 审查 PR,评论 Issue,在记忆中追踪审查模式。
回答 HR 问题、安排面试、检索政策文档,通过 REST API 集成企业系统。
轮询监控 API,用 LLM 分析异常,发送结构化报告。
多个 Agent 共享同一个 OryxOS 实例,各自拥有独立的 Profile、工具和记忆。