Skip to content
Agent Harness OS · Open Source · Apache 2.0

OryxOS

The Java-native Agent OS for the enterprise

One directory defines an Agent; one runtime hosts them all. OryxOS runs on your own servers and gives every business Agent shared model access, a reasoning loop, memory, tool calling, sandboxing and audit — self-hosted, data never leaves.

JDK 21 · Spring Boot 3 · Spring AI Alibaba · MCP · SQLite · Single JAR

Why Agents stall at the demo

Every company has work for Agents, yet few reach production. The bottleneck is rarely the model — it is the environment Agents run in.

① Defining an Agent means writing code The people who know the business can't do it.

② Cloud platforms take your data Regulated industries can't pass compliance.

③ Execution is a black box No audit, no allow-lists — nobody dares ship it.

④ One Agent is easy, a fleet is hard Nobody hands you the operating-system layer for a fleet of Agents.

OryxOS removes all four barriers at once.

Today
✗A new backend for every Agent
✗SaaS platforms — data leaves, lock-in follows
✗Unguarded tool calls, audit rebuilt from logs
✗Node.js / Python stacks glued to Java systems
OryxOS
✓Write one AGENT.md — zero-code Agents
✓Runs on your K8s or VMs — data stays in-house
✓Mandatory sandbox, every call audited in the DB
✓One Spring Boot JAR on your Java toolchain
OryxOS architecture

Configure Agents, don't code them

LLM access · ReAct loop · memory · tools · Web Service — five capabilities live in the runtime; you only write directories and wire tools.

🤖

One directory = one Agent

AGENT.md · frontmatter is config · body is instructions

# .oryxos/agents/weather/AGENT.md
---
name: weather
provider: { name: deepseek, model: deepseek-chat }
tools: [http_get, notify]
schedules:
  - key: morning
    cron: "0 0 8 * * *"
    zone: Asia/Shanghai
    message: Check the weather in Beijing
---

1. Call the weather API for today's weather;
2. Suggest what to wear from temperature, rain and wind;
3. Push it to the team-lark channel via notify.
🔌

Zero-code MCP tools

Reuse community MCP servers · secrets via env

# .oryxos/mcp_servers.yaml
servers:
  - name: github
    transport: stdio
    command: npx -y @modelcontextprotocol/server-github
    env:
      GITHUB_TOKEN: ${GITHUB_TOKEN}

# Connected at startup; tools/list fetches tools,
# wrapped as OryxTool and ready for Agents;
# every call is sandboxed and audited.
🌐

REST API for your systems

Any language · sessions · stateless invoke

# One-shot, stateless invocation
curl -X POST localhost:8080/api/v1/agents/weather/invoke \
  -H 'Content-Type: application/json' \
  -d '{"message":"Umbrella in Shanghai tomorrow?"}'

# Sessions: create one, then chat
curl -X POST localhost:8080/api/v1/sessions \
  -d '{"profile":"weather","userId":"u-001"}'
curl -X POST localhost:8080/api/v1/sessions/{id}/messages \
  -d '{"message":"And the day after?"}'

Eight typical use cases

01

Daily weather digest

Every morning at 8, fetch the weather, suggest what to wear and push it to the team IM group. A single AGENT.md, no manual trigger.

02

Daily tech digest

Summarize today's tech news in a format defined by a shared Skill. Because it remembers you care about AI and chips, the digest leans that way.

03

Daily GitHub trending

An Agent directory bundles a script for deterministic trending data, then summarizes the AI-related projects. Script output enters the context; script code does not.

04

Ops assistant

Alerts arrive via webhook; the Agent pulls logs, matches past incidents, self-heals per runbook and reports to the ops group — every action audited.

05

Omni-channel support

Understands questions, searches the knowledge base, remembers customer history, queries the CRM — plugged into your support system over HTTP.

06

Engineering assistant

Understands requirements, reads and edits code, remembers project conventions, connects to GitHub and CI — called from IDE plugins or internal portals.

07

Knowledge assistant

Searches contract templates, regulations and past cases, drafting advice with citations — meeting the compliance rule that every answer is traceable.

08

Data analysis assistant

Remembers your schemas, writes SQL, runs queries and charts the result — integrated into your existing BI tools.

Three tiers, from zero code to full Java

Prefer zero code over light code, and light code over heavy code.

🔌

Light code · MCP server

Write an MCP server in any language to expose ERP, CRM or CMDB systems; OryxOS connects as the MCP client.

JavaPythonTypeScriptGoRustShell
☕

Full code · @Tool Bean

Annotate a Java Bean with Spring AI @Tool to call existing Java services in-process — no protocol hop, no extra process, best performance.

Spring BootSpring AIIn-process

REST API & CLI

CLI, REST API and the scheduler all enter the same AgentService — one pipeline, one audit trail.

Sessions
POST /api/v1/sessionsCreate a session
POST /api/v1/sessions/{id}/messagesSend a message, run one ReAct loop
GET /api/v1/sessions/{id}Session history, including tool calls
DELETE /api/v1/sessions/{id}Archive a session
Invoke & Query
POST /api/v1/agents/{name}/invokeStateless one-shot invocation
GET /api/v1/profilesList defined Agents
GET /api/v1/memoryRead long-term memory
GET /api/v1/toolsList available tools
GET /api/v1/health · /infoHealth check and runtime info
CLI
oryxos init · statusInit the workspace (idempotent), show status
oryxos chat · serve · gatewayInteractive chat / REST + scheduler / multi-channel daemon
oryxos profile list|create|show|deleteManage Agent directories
oryxos provider|tool|session listInspect providers, tools and sessions
In development

Start Building

OryxOS is in phase one (single-node runtime kernel). Below is the target 1.0 usage; interfaces may change before release.

git clone https://github.com/hefrankeleyn/oryxos-practice.git
cd oryxos-practice && mvn clean package

export DEEPSEEK_API_KEY=sk-xxx

# Initialize the workspace and create an Agent
oryxos init
oryxos profile create weather

# Chat with it
oryxos chat --profile weather

# Run as a service (REST API + scheduler)
oryxos serve
Released under the Apache 2.0 License·Built with AI coding by the oryx-labs community