Skip to content

// 开源 · 私有部署 · Apache 2.0

分布式 Agent Harness OS
给每个 Agent 一套
生产级运行骨架

OryxOS 是基于 Java 21 构建的 Agent Harness OS。harness(运行骨架)是把模型变成能干活的 Agent 的那层脚手架——循环、工具与执行、上下文、记忆、沙箱、审计。OryxOS 给每个 Agent 同一套生产级 harness,并像操作系统调度进程一样运行一整队 Agent。私有部署在你自己的 K8s 或服务器上。

oryxos — bash
oryxos init
✓ Workspace initialized at .oryxos/
agents/ · memory/ · sessions/ · logs/ · oryxos.db
oryxos chat --profile ops-agent
Loaded profile: ops-agent (deepseek-chat)
Memory: 3 entries loaded from MEMORY.md
you检查一下 nginx 最近的错误日志
[ops-agent] 思考中...
→ Tool: shell
→ Input: tail -n 100 /var/log/nginx/error.log | grep "$(date +%H)"
→ SandboxChecker: ✓ allowed
[ops-agent]
过去 1 小时发现 3 个 502 错误,均来自 upstream backend:8080
建议检查后端服务健康状态。需要我运行诊断命令吗?
9Maven 模块
30+REST 端点
24内置工具
3记忆层
并发 Agent

Runtime 跑一个,OS 管一群。

OryxOS Architecture

一个目录,无限 Agent。

01

一个目录 = 一个 Agent

一个 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)
02

动态多模型路由

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
03

自实现 ReAct 循环

完整掌控 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
04

分层记忆系统

会话记忆 + 按 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"}
05

沙箱工具 + MCP

内置文件 / 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
06

Web 管理台

/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

企业真实场景

01

运维助手

读日志、执行 Shell、监控服务,跨对话记住你的运维偏好。

02

零代码 PR 日报

写一个 SKILL.md 接入 GitHub MCP server,自动生成每日 PR 摘要,零 Java 代码。

03

客服助手

通过 REST API 接入客服渠道,记住历史交互,必要时触发人工升级。

04

知识管理助手

索引内部文档,回答问题,将学到的事实写入长期记忆。

05

代码审查 Agent

通过 MCP 审查 PR,评论 Issue,在记忆中追踪审查模式。

06

HR 助手

回答 HR 问题、安排面试、检索政策文档,通过 REST API 集成企业系统。

07

告警监控 Agent

轮询监控 API,用 LLM 分析异常,发送结构化报告。

08

多 Agent 协作

多个 Agent 共享同一个 OryxOS 实例,各自拥有独立的 Profile、工具和记忆。

慢就是快,分阶段克制。

阶段一当前

单节点运行内核

  • 5 大核心能力
  • 多 Agent 并存
  • REST API 暴露
  • MCP 工具协议
阶段二规划中

分布式基础

  • 无状态节点设计
  • 外部状态存储
  • 多副本水平扩展
阶段三愿景

跨节点 A2A 协作

  • Agent 发现与注册
  • 跨 Agent 任务委托
  • A2A 协议标准化

从一个 Agent 到一群 Agent 的运行底座。

初始化工作区、配置 LLM Provider、开始对话。5 分钟搭起你的第一个 Agent,随时扩展到一群。

# 1. 初始化工作区
 oryxos init

# 2. 配置你的 LLM Provider
 export DEEPSEEK_API_KEY=your-key-here

# 3. 启动你的第一个 Agent
 oryxos chat --profile ops-agent

# 或启动 REST API 服务
 oryxos serve --port 8080