Skip to content

jasperan/zerooraclaw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,807 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ZeroOraClaw

ZeroOraClaw

Oracle AI Database-powered AI assistant. Zero overhead. Zero compromise. 100% Rust.

License: MIT OR Apache-2.0 GitHub Ollama OCI GenAI

Deploy to Oracle Cloud


ZeroOraClaw is a fork of ZeroClaw that replaces ALL storage backends with Oracle AI Database as the exclusive persistence layer. Every byte of memory, session, state, and embedding lives in Oracle.

Why Oracle AI Database?

  • In-Database ONNX Embeddings: Generate 384-dim vectors with VECTOR_EMBEDDING() -- zero API calls, zero latency
  • AI Vector Search: Semantic recall via VECTOR_DISTANCE() with COSINE similarity
  • ACID Transactions: No data loss on crash, ever
  • Multi-Agent Isolation: Each agent gets its own namespace via agent_id
  • Enterprise-Grade: Connection pooling, automatic indexing, audit trails

Features

  • Everything from ZeroClaw: 30+ LLM providers, 18+ chat channels, tools, skills, robotics
  • Oracle AI Database as exclusive storage (no SQLite, no PostgreSQL, no files)
  • In-database ONNX embeddings (ALL_MINILM_L12_V2)
  • 8 persistent tables (ZERO_* prefix) with vector indexes
  • setup-oracle CLI for one-command database setup
  • oracle-inspect CLI dashboard for database inspection
  • Default: Oracle AI Database 26ai Free container for local development
  • Optional: Oracle Autonomous Database for managed cloud deployment via the Deploy to Oracle Cloud button

Quick Start

One-command install — clone, configure, and run in a single step:

curl -fsSL https://raw.githubusercontent.com/jasperan/zerooraclaw/main/install.sh | bash
Advanced options

Override install location:

PROJECT_DIR=/opt/myapp curl -fsSL https://raw.githubusercontent.com/jasperan/zerooraclaw/main/install.sh | bash

Or install manually:

git clone https://github.com/jasperan/zerooraclaw.git
cd zerooraclaw
# See below for setup instructions

Prerequisites

1. Build

cargo build --release

2. Start Oracle Database

./scripts/setup-oracle.sh
# Or manually:
docker compose up oracle-db -d

3. Initialize

./target/release/zerooraclaw setup-oracle
./target/release/zerooraclaw onboard

4. Chat

./target/release/zerooraclaw agent -m "Hello! Remember that I love Rust."
./target/release/zerooraclaw agent -m "What programming language do I like?"

5. Inspect

./target/release/zerooraclaw oracle-inspect
./target/release/zerooraclaw oracle-inspect memories --search "programming"

Docker Compose

# Full stack: Oracle AI Database 26ai Free + ZeroOraClaw
docker compose up -d

# With custom API key
API_KEY=sk-... docker compose up -d

# Oracle AI Database 26ai Free only (for local development)
docker compose up oracle-db -d

The Oracle AI Database 26ai Free container takes approximately 2 minutes to initialize on first start. The zerooraclaw service will wait for it to become healthy before starting.

OCI Generative AI (Optional)

ZeroOraClaw can optionally use OCI Generative AI as an LLM backend via the oci-openai Python library. This is not required -- Ollama remains the default and recommended LLM backend.

Why OCI GenAI?

  • Enterprise models -- Access xAI Grok, Meta Llama, Cohere, and other models through OCI
  • OCI-native auth -- Uses your existing ~/.oci/config profile (no separate API keys)
  • Same region as your database -- Run inference and storage in the same OCI region

Setup

  1. Install the OCI GenAI proxy:

    cd oci-genai
    pip install -r requirements.txt
  2. Configure OCI credentials (~/.oci/config):

    [DEFAULT]
    user=ocid1.user.oc1..aaaaaaaaexample
    fingerprint=aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99
    tenancy=ocid1.tenancy.oc1..aaaaaaaaexample
    region=us-chicago-1
    key_file=~/.oci/oci_api_key.pem
  3. Set environment variables:

    export OCI_PROFILE=DEFAULT
    export OCI_REGION=us-chicago-1
    export OCI_COMPARTMENT_ID=ocid1.compartment.oc1..your-compartment-ocid
  4. Start the OCI GenAI proxy:

    cd oci-genai
    python proxy.py
    # Proxy runs at http://localhost:9999/v1
  5. Configure ZeroOraClaw (~/.zerooraclaw/config.toml):

    [provider]
    name = "openai"
    api_base = "http://localhost:9999/v1"
    api_key = "oci-genai"
    model = "meta.llama-3.3-70b-instruct"

    Or via environment variables:

    PROVIDER=openai API_KEY=oci-genai ./zerooraclaw agent -m "Hello"

See oci-genai/README.md for full documentation.

Oracle Schema

Table Purpose Key Feature
ZERO_META Schema version Single row per agent
ZERO_MEMORIES Long-term memories VECTOR(384) + COSINE index
ZERO_DAILY_NOTES Daily journal VECTOR(384) + COSINE index
ZERO_SESSIONS Chat history JSON CLOB per channel
ZERO_TRANSCRIPTS Full audit log IDENTITY sequence PK
ZERO_STATE Agent K-V state Composite PK
ZERO_CONFIG Config snapshots JSON CLOB
ZERO_PROMPTS System prompts Seeded from workspace

Configuration

# ~/.zerooraclaw/config.toml

[oracle]
mode = "freepdb"           # "freepdb" for 26ai Free container (default) | "adb" for Autonomous DB (cloud)
host = "localhost"
port = 1521
service = "FREEPDB1"
user = "zerooraclaw"
password = "ZeroOraClaw2026"
onnx_model = "ALL_MINILM_L12_V2"
agent_id = "default"

See config/config.example.toml for the complete reference with all available options.

Environment Variables

Oracle connection settings can also be configured via environment variables:

Variable Description Default
ZEROORACLAW_ORACLE_HOST Database hostname localhost
ZEROORACLAW_ORACLE_PORT Listener port 1521
ZEROORACLAW_ORACLE_SERVICE Service name FREEPDB1
ZEROORACLAW_ORACLE_USER Database user zerooraclaw
ZEROORACLAW_ORACLE_PASSWORD Database password --
API_KEY LLM provider API key --
PROVIDER LLM provider name ollama

Architecture

zerooraclaw
  src/
    oracle/            # Oracle AI Database integration
      connection.rs    # Connection pooling and lifecycle
      schema.rs        # 8 ZERO_* table DDL + ONNX model loading
      embedding.rs     # In-database VECTOR_EMBEDDING() service
      memory.rs        # Memory trait backed by Oracle + vector search
      session.rs       # Chat session persistence (JSON CLOB)
      state.rs         # Agent key-value state store
      config_store.rs  # Config snapshot persistence
      prompt.rs        # System prompt persistence
      vector.rs        # Vector distance helpers
      mod.rs           # Module exports
    memory/            # Memory trait definitions
    agent/             # Agent runtime loop
    cli/               # CLI commands (setup-oracle, oracle-inspect)
    ...

Deploy to Oracle Cloud (One-Click)

Deploy to Oracle Cloud

This deploys a fully configured ZeroOraClaw instance on OCI with:

  • Oracle Linux 9 compute instance (ARM A1.Flex -- Always Free eligible)
  • Ollama with gemma3:270m model pre-installed
  • Oracle AI Database 26ai Free container by default (or optional Autonomous AI Database when toggled)
  • ZeroOraClaw built from source with Oracle schema initialized
  • Gateway running as a systemd service on port 42617

After deployment, check the Terraform outputs for your instance IP and run:

# Watch setup progress (~10 min for Rust build + Oracle init)
ssh opc@<instance-ip> -t 'tail -f /var/log/zerooraclaw-setup.log'

# Start chatting
ssh opc@<instance-ip> -t zerooraclaw agent

# Check gateway health
curl http://<instance-ip>:42617/health

Sister Projects

Credits

License

MIT OR Apache-2.0


GitHub  LinkedIn  Oracle

About

Fast, small, and fully autonomous AI assistant infrastructure running exclusively on Oracle AI Database & Oracle Free Container Instance — deploy anywhere, swap anything 🦀

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors