Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .agents/skills/omniclaw-cli/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ requires:
- env: OMNICLAW_SERVER_URL
description: >
OmniClaw Financial Policy Engine base URL. Required unless the CLI was
already configured locally before the agent turn.
already persisted in local CLI config before the agent turn.
- env: OMNICLAW_TOKEN
description: >
Scoped agent token. Never print, log, or transmit it. If missing, stop
Expand Down Expand Up @@ -69,8 +69,9 @@ The runtime should normally provide either:
- `OMNICLAW_TOKEN`
- optionally `OMNICLAW_OWNER_TOKEN` if this run is allowed to approve confirmations

2. preconfigured CLI state
2. persisted CLI config
- `omniclaw-cli configure` was already run before the turn
- the CLI reads saved config values for server URL, token, wallet alias, and optional owner token

If neither is true, stop and ask the owner for:

Expand Down
17 changes: 17 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
.venv
.mypy_cache
.pytest_cache
.ruff_cache
.coverage
logs
tmp
.runtime
output/doc
docs/internal
dist
build
*.egg-info
__pycache__
*.pyc
.pytype
video/
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@ htmlcov/

# Logs
*.log
logs/
tmp/
.runtime/
output/doc/

# Internal docs / GTM materials
docs/internal/

# OS
Thumbs.db
video/
10 changes: 0 additions & 10 deletions docker-compose.agent.yml

This file was deleted.

70 changes: 0 additions & 70 deletions docs/FOUNDATION_DEMO.md

This file was deleted.

40 changes: 40 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# OmniClaw Docs

This directory is split into two parts:

- public product and developer docs in `docs/`
- internal GTM, grant, outreach, and demo materials in `docs/internal/`

## Public Docs

### Getting Started

- `docs/agent-getting-started.md`
- `docs/agent-skills.md`
- `docs/cli-reference.md`

### Product And Architecture

- `docs/FEATURES.md`
- `docs/compliance-architecture.md`
- `docs/architecture_overview.svg`
- `docs/OmniClaw_Whitepaper_v1.0.pdf`

### Technical Reference

- `docs/API_REFERENCE.md`
- `docs/POLICY_REFERENCE.md`
- `docs/SDK_USAGE_GUIDE.md`
- `docs/CCTP_USAGE.md`
- `docs/PRODUCTION_HARDENING.md`
- `docs/erc_804_spec.md`

## Internal Docs

Use `docs/internal/README.md` for:

- grant strategy
- sponsor and investor messaging
- public post drafts
- demo narration and story
- archived older grant docs
78 changes: 0 additions & 78 deletions docs/TWO_SIDED_DEMO.md

This file was deleted.

4 changes: 3 additions & 1 deletion docs/agent-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ A typical OmniClaw agent runtime needs:
- `OMNICLAW_TOKEN`: scoped agent token
- optionally `OMNICLAW_OWNER_TOKEN`: only if the run is allowed to approve confirmations

For local convenience, you can persist those values in CLI config:
For local convenience, you can persist those values in CLI config. `configure` writes saved CLI config; it does not export shell environment variables:

```bash
omniclaw-cli configure \
Expand All @@ -80,6 +80,8 @@ Show saved config:
omniclaw-cli configure --show
```

When the CLI has been configured already, later commands such as `balance`, `can-pay`, `pay`, and `serve` can reuse that saved config without re-exporting `OMNICLAW_SERVER_URL` and `OMNICLAW_TOKEN` in the shell.

## Runtime Architecture

Typical execution path:
Expand Down
28 changes: 28 additions & 0 deletions examples/local-economy/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Local Economy Example

This is the canonical local buyer/seller OmniClaw example.

It contains:
- buyer stack: `docker-compose.payment-agent.yml`
- seller stack: `docker-compose.seller-agent.yml`
- buyer policy: `payment-agent.policy.json`
- seller policy: `seller-agent.policy.json`

Roles:
- buyer uses `omniclaw-cli pay`
- seller uses `omniclaw-cli serve`

Default ports:
- buyer Financial Policy Engine: `9090`
- seller Financial Policy Engine: `9091`
- seller paid endpoint example: `8000`

Start buyer:
```bash
docker compose -p omniclaw-buyer -f examples/local-economy/docker-compose.payment-agent.yml up -d --build --remove-orphans
```

Start seller:
```bash
docker compose -p omniclaw-seller -f examples/local-economy/docker-compose.seller-agent.yml up -d --build --remove-orphans
```
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@ services:
retries: 10

payment-agent:
image: omniclaw-agent:local
build:
context: .
context: ../..
dockerfile: Dockerfile.agent
command: uv run uvicorn omniclaw.agent.server:app --host 0.0.0.0 --port 9090
environment:
OMNICLAW_REDIS_URL: redis://payment-agent-redis:6379/0
OMNICLAW_AGENT_POLICY_PATH: /config/payment-agent.policy.json
OMNICLAW_AGENT_POLICY_PATH: /config/runtime-policy.json
OMNICLAW_AGENT_TOKEN: payment-agent-token
OMNICLAW_LOG_LEVEL: INFO
OMNICLAW_POLICY_RELOAD_INTERVAL: 0
OMNICLAW_OWNER_TOKEN: payment-owner-token
OMNICLAW_NANOPAYMENTS_ENABLED: "true"
OMNICLAW_NETWORK: ${OMNICLAW_NETWORK}
OMNICLAW_RPC_URL: ${OMNICLAW_RPC_URL}
Expand All @@ -29,9 +31,11 @@ services:
CIRCLE_API_KEY: ${BUYER_CIRCLE_API_KEY:-${CIRCLE_API_KEY}}
ENTITY_SECRET: ${BUYER_ENTITY_SECRET:-${ENTITY_SECRET}}
volumes:
- ./payment-agent.policy.json:/config/payment-agent.policy.json
- ${PAYMENT_AGENT_POLICY_FILE:-./payment-agent.policy.json}:/config/runtime-policy.json
ports:
- "9090:9090"
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
payment-agent-redis:
condition: service_healthy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,14 @@ services:
retries: 10

seller-agent:
image: omniclaw-agent:local
build:
context: .
context: ../..
dockerfile: Dockerfile.agent
command: uv run uvicorn omniclaw.agent.server:app --host 0.0.0.0 --port 9091
environment:
OMNICLAW_REDIS_URL: redis://seller-agent-redis:6379/0
OMNICLAW_AGENT_POLICY_PATH: /config/seller-agent.policy.json
OMNICLAW_AGENT_POLICY_PATH: /config/runtime-policy.json
OMNICLAW_AGENT_TOKEN: seller-agent-token
OMNICLAW_LOG_LEVEL: INFO
OMNICLAW_POLICY_RELOAD_INTERVAL: 0
Expand All @@ -29,7 +30,7 @@ services:
CIRCLE_API_KEY: ${SELLER_CIRCLE_API_KEY:-${CIRCLE_API_KEY}}
ENTITY_SECRET: ${SELLER_ENTITY_SECRET:-${ENTITY_SECRET}}
volumes:
- ./seller-agent.policy.json:/config/seller-agent.policy.json
- ${SELLER_AGENT_POLICY_FILE:-./seller-agent.policy.json}:/config/runtime-policy.json
ports:
- "9091:9091"
depends_on:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
"wallets": {
"payment-agent": {
"name": "Payment Agent",
"wallet_id": "2c9bf657-c70e-5d33-873e-08f9b3fcb9c9",
"address": "0x1c3c4c77088494fbc3f9ce1e87bfd7b4cfec0e18",
"limits": {
"daily_max": "25.00",
"hourly_max": "10.00",
Expand All @@ -25,15 +23,17 @@
"recipients": {
"mode": "whitelist",
"addresses": [
"0x5a4e248fa08c37b15ea0efdfdf336e92317d5243"
"0x5a4e248fa08c37b15ea0efdfdf336e92317d5243",
"0x95cE2edF56cc05b2634267d55D8AfB7f8630c143"
],
"domains": [
"api.stripe.com",
"localhost",
"127.0.0.1"
"127.0.0.1",
"host.docker.internal"
]
},
"confirm_threshold": "0.005"
"confirm_threshold": null
}
}
}
}
Loading
Loading