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.
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.
LLM access · ReAct loop · memory · tools · Web Service — five capabilities live in the runtime; you only write directories and wire tools.
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.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.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?"}'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.
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.
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.
Alerts arrive via webhook; the Agent pulls logs, matches past incidents, self-heals per runbook and reports to the ops group — every action audited.
Understands questions, searches the knowledge base, remembers customer history, queries the CRM — plugged into your support system over HTTP.
Understands requirements, reads and edits code, remembers project conventions, connects to GitHub and CI — called from IDE plugins or internal portals.
Searches contract templates, regulations and past cases, drafting advice with citations — meeting the compliance rule that every answer is traceable.
Remembers your schemas, writes SQL, runs queries and charts the result — integrated into your existing BI tools.
Prefer zero code over light code, and light code over heavy code.
Write an Agent directory and reuse community MCP servers. Describe the intent; the LLM composes the tools.
.oryxos/agents/<name>/AGENT.md.oryxos/mcp_servers.yamlWrite an MCP server in any language to expose ERP, CRM or CMDB systems; OryxOS connects as the MCP client.
Annotate a Java Bean with Spring AI @Tool to call existing Java services in-process — no protocol hop, no extra process, best performance.
CLI, REST API and the scheduler all enter the same AgentService — one pipeline, one audit trail.
POST /api/v1/sessionsCreate a sessionPOST /api/v1/sessions/{id}/messagesSend a message, run one ReAct loopGET /api/v1/sessions/{id}Session history, including tool callsDELETE /api/v1/sessions/{id}Archive a sessionPOST /api/v1/agents/{name}/invokeStateless one-shot invocationGET /api/v1/profilesList defined AgentsGET /api/v1/memoryRead long-term memoryGET /api/v1/toolsList available toolsGET /api/v1/health · /infoHealth check and runtime infooryxos init · statusInit the workspace (idempotent), show statusoryxos chat · serve · gatewayInteractive chat / REST + scheduler / multi-channel daemonoryxos profile list|create|show|deleteManage Agent directoriesoryxos provider|tool|session listInspect providers, tools and sessionsOryxOS 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