Jubilee OS is an AI co-builder β a sovereign, model-interchangeable operating system that researches, codes, tests, and stewards resources alongside you.
"Stewardship over Speculation" β Built for long-term builders, not short-term traders.
# 1. Clone
git clone https://github.com/Jubilee-Protocol/jubilee-agent.git
cd jubilee-agent
# 2. Install
bun install
# 3. Configure (set at least one LLM key)
cp env.example .env
# Edit .env β set GOOGLE_API_KEY, OPENAI_API_KEY, or ANTHROPIC_API_KEY
# 4. Run
bun startThat's it. No Docker, no database, no external services required. Chat with your agent immediately.
docker compose up --build- The Steward (UI): http://localhost:3000
- The Voice (API): http://localhost:3001
Jubilee OS is a Triune AI Operating System that can:
- π Research markets, protocols, and competitors
- π¨ Write and test smart contracts (Solidity, Anchor, Rust)
- βοΈ Review compliance, audits, and governance proposals
- π° Manage treasury operations and multi-sig wallets
- π Track multi-day sprints across sessions
- ποΈ Govern via Safe (EVM) and Squads (Solana) multi-sig
It's model-interchangeable β swap between Gemini, GPT-4, Claude, Grok, or local models (Ollama) at any time.
Attribution: Built upon the excellent Dexter framework by Virat. Adapter and orchestration patterns inspired by Paperclip (MIT).
| Agent | Role | Tools |
|---|---|---|
| The Mind π§ | Research & analysis | Search, browser, financial data, codebase search |
| The Prophet ποΈ | Strategy & ethics | Trend analysis, mission vetting, safety guard |
| The Will β‘ | Execution | All tools β treasury, coding, deployment, governance |
Dispatch specialized angels for focused missions. Each has mode requirements and default tools:
| Angel | Domain | Mode |
|---|---|---|
| π¨ ContractAngel | Smart contract dev, testing, auditing | Builder |
| π ResearchAngel | DeFi research, market analysis | Stewardship |
| π DocsAngel | Technical docs, whitepaper, proposals | Any |
| βοΈ ComplianceAngel | Regulatory, FASB, legal review | Stewardship |
| π£ GrowthAngel | Community, partnerships, outreach | Stewardship |
| ποΈ BuilderAngel | Full-stack dev, API integrations | Builder |
| π° TreasuryAngel | Yield optimization, vault health | Stewardship |
| ποΈ GovernanceAngel | Safe/Squads multi-sig, council voting | Builder |
Angels can run tests autonomously (forge test, bun test, anchor build) and iterate on failures.
Each angel can optionally specify a preferredAdapter to run on a specific model backend (e.g. ContractAngel on Claude for code analysis). Configure in ~/.jubilee/architect.json:
{ "angelArchetypes": { "ContractAngel": { "preferredAdapter": "claude" } } }Jubilee OS operates in two modes that can be enabled independently:
For treasury managers, researchers, and operators.
- Treasury management (deposit, withdraw, yield)
- Financial research and compliance
- War room reports
- Memory and knowledge management
For developers building alongside the agent.
- Smart contract workflows (Foundry, Anchor)
- Code execution sandbox (30+ allowed commands)
- GitHub MCP integration (issues, PRs, branches)
- Protocol state tracking
- Multi-sig governance (Safe + Squads)
Enable Builder mode:
config.setMode('builder', true)
| Requirement | Purpose | Required? |
|---|---|---|
| Bun v1.0+ | Runtime | β Yes |
| LLM API key | AI provider | β Yes (at least one) |
| PostgreSQL | Long-term memory, tasks | Optional |
| Foundry | Smart contract testing | Builder mode only |
| Anchor | Solana development | Builder mode only |
| Provider | Env Variable | Models |
|---|---|---|
| Google Gemini | GOOGLE_API_KEY |
gemini-2.0-flash, gemini-2.5-pro |
| OpenAI | OPENAI_API_KEY |
gpt-4o, gpt-4-turbo |
| Anthropic | ANTHROPIC_API_KEY |
claude-sonnet-4, claude-3.5-sonnet |
| xAI | XAI_API_KEY |
grok-3, grok-2 |
| OpenRouter | OPENROUTER_API_KEY |
Access 100+ models |
| Ollama | OLLAMA_BASE_URL |
Local models (deepseek, llama) |
# Clone with submodules
git clone --recurse-submodules https://github.com/Jubilee-Protocol/jubilee-agent.git
cd jubilee-agent
# Install dependencies
bun install
# Configure environment
cp env.example .env
# Edit .env with your preferred editor
# (Optional) Set up treasury keys
bun scripts/setup_treasury.ts
# (Optional) Set up architect identity
cp architect.example.json ~/.jubilee/architect.json
# Edit with your protocol-specific context
# Run
bun startcp env.example .env
# Edit .env with your API keys
docker compose up --buildPostgres + pgvector are provisioned automatically. Access the UI at localhost:3000.
For developers who want the full co-builder experience:
# 1. Enable builder mode
# In the CLI: config.setMode('builder', true)
# 2. (Optional) Install governance SDKs
bun add @safe-global/protocol-kit @safe-global/api-kit # EVM multi-sig
bun add @sqds/multisig # Solana multi-sig
# 3. (Optional) Set governance keys in .env
GITHUB_PERSONAL_ACCESS_TOKEN=your-token
SAFE_SIGNER_KEY=your-safe-signer-key
SQUADS_SIGNER_KEY=your-squads-signer-key
# 4. (Optional) Push DB schema for sprint tracking
bun run db:pushBuilder and Contract Angels can run shell commands autonomously. Safety guardrails:
Allowed: forge, cast, anvil, slither, bun, npx, node, tsc, anchor, solana, cargo, git, npm, cat, ls, grep, find
Blocked: rm -rf, sudo, curl | bash, git push, git merge, npm publish, DROP TABLE
Jubilee OS maintains persistent task memory across sessions:
> create task "Build Jubilee Lending LTV Module" --priority high --assign ContractAngel
β
Task #1 created
> dispatch_angel ContractAngel --task_id 1 --mission "Implement the LTV calculation..."
π¨ [Contract Angel] Loading previous context... executing...
> query_tasks
## Sprint Board
### π¨ Active (1)
- π§ #1 Build Jubilee Lending LTV Module β ContractAngel
Angels auto-save their results. Next session, they pick up where they left off (capped at last 5 session summaries).
| Chain | Platform | Tools |
|---|---|---|
| Base / Ethereum | Safe (Gnosis Safe) | propose_safe_tx, query_safe_status |
| Solana | Squads | propose_squads_tx, query_squads_status |
The GovernanceAngel manages ceremony: proposing transactions, tracking signer confirmations, and monitoring 24-hour timelocks.
- Prophet Guard: Every angel mission is ethically vetted before execution
- Double Confirmation: Sensitive actions (transfers, shell commands) require explicit approval
- Treasury Whitelist: Transfers only to approved addresses
- Code Sandbox: Only allowlisted commands can be executed
- Private Config: Protocol-specific identity lives in
~/.jubilee/(gitignored) - AgentKit Suppression: Debug output from treasury SDK is suppressed to prevent key leaks
Angels run on a model-agnostic adapter layer. Swap the underlying LLM without changing agent logic.
| Adapter | Provider | Cost Tracking | Status |
|---|---|---|---|
gemini |
Google Gemini | β | Default |
claude |
Anthropic Claude | β | Requires ANTHROPIC_API_KEY |
ollama |
Local self-hosted | Free ($0) | Requires Ollama running |
# Check adapter connections
bun run sprint adapters
# Inside the interactive CLI
/adaptersRun multiple angels concurrently with budget tracking and real-time progress.
# List available angel roles
bun run sprint roles
# Create and auto-run a sprint
bun run sprint create "Protocol Audit" \
--tasks "ContractAngel:Audit vault,DocsAngel:Update README" \
--budget 2.50 --concurrency 2 --run
# Check sprint status
bun run sprint status
# Inside the interactive CLI
/sprintFeatures:
- Concurrent angel dispatch with configurable parallelism
- Per-angel cost and token tracking
- Budget limits with auto-cancel when exceeded
- Per-provider cost breakdowns
jubilee-agent/
βββ src/
β βββ adapters/ # Model-agnostic LLM adapters
β β βββ adapter.types.ts # AgentAdapter interface
β β βββ gemini.adapter.ts # Google Gemini (default)
β β βββ claude.adapter.ts # Anthropic Claude
β β βββ ollama.adapter.ts # Local self-hosted
β β βββ pricing.ts # Per-model cost table
β β βββ index.ts # Adapter registry
β βββ agent/ # Triune agent architecture
β βββ config/ # Settings, angel roles
β βββ db/ # Drizzle ORM schema (logs, memories, tasks, protocol_state)
β βββ mcp/ # MCP servers (OpenClaw, Treasury)
β βββ model/ # Multi-provider LLM manager
β βββ services/ # Sprint board, budget tracking
β β βββ sprint-board.ts # Concurrent angel orchestration
β β βββ sprint-board.types.ts
β β βββ budget.ts # Per-angel cost tracking
β βββ skills/ # Skill modules
β β βββ architect/ # Architect skill (public template)
β β βββ jubilee/ # OpenClaw Jubilee Skill (submodule)
β βββ tools/ # All agent tools
β β βββ angel-tool.ts # Angel dispatch with adapter support
β β βββ code-exec-tool.ts # Sandboxed shell execution
β β βββ governance-tools.ts # Safe + Squads multi-sig
β β βββ protocol-state.ts # Protocol state tracker
β β βββ task-tools.ts # Sprint tracking
β β βββ registry.ts # Tool registration + mode gating
β βββ sprint-runner.ts # Standalone sprint CLI
β βββ utils/ # Logger, helpers
βββ architect.example.json # Template for private protocol config
βββ mcp.json # MCP server configuration
βββ docker-compose.yml # Full stack deployment
βββ env.example # All environment variables
| Variable | Purpose | Required |
|---|---|---|
GOOGLE_API_KEY |
Gemini models | One LLM key required |
OPENAI_API_KEY |
OpenAI models | One LLM key required |
ANTHROPIC_API_KEY |
Anthropic models | One LLM key required |
DATABASE_URL |
PostgreSQL connection | Optional (enables memory + tasks) |
CDP_API_KEY_NAME |
Coinbase treasury | Optional |
GITHUB_PERSONAL_ACCESS_TOKEN |
GitHub MCP (Builder mode) | Optional |
SAFE_SIGNER_KEY |
Safe multi-sig (Builder mode) | Optional |
SQUADS_SIGNER_KEY |
Squads multi-sig (Builder mode) | Optional |
Jubilee OS is open source and built as a labor of love.
"Each of you should give what you have decided in your heart to give, not reluctantly or under compulsion, for God loves a cheerful giver." β 2 Corinthians 9:7
We welcome contributions! Fork the repo and submit a PR.
MIT License
"Consecrate the fiftieth year and proclaim liberty throughout the land to all its inhabitants. It shall be a jubilee for you." β Leviticus 25:10
