Community quickstart

v0.1 developer preview

Prove it locally, then adopt it safely

Start with the local demo, then create a real file after human review. Connect your own JavaScript function or MCP server using the same approval boundary.

01Propose
02Approve
03Inspect evidence

Get the source and start the local demo

Use Node.js 22–24 and Docker Desktop on macOS for the supported guided setup. Git downloads the tagged Community release. The command builds and opens your local gateway; no account or business credentials are needed.

git clone --branch v0.1.1 --depth 1 https://github.com/ActionProxy/actionproxy.git
cd actionproxy
./actionproxy local

Deterministic first run

Prove the control loop without connecting a business system

The bundled Community proof uses deterministic mock tools. It sends no email, changes no customer, needs no SaaS account, and keeps the unauthenticated gateway on loopback.

You will see a read execute, an email-shaped proposal pause for a human decision, and a destructive proposal stop at policy. The labels are realistic; the effects are simulated.

Cold-build time varies with network and host performance. Warm reruns reuse the local Docker cache and retained SQLite volume.

Choose how you want to start

Prove the gateway locally, install one published integration package, or use the source-bound starter in your existing project.

The fastest proof needs no account or runtime credential. It keeps audit evidence in a local SQLite volume across stop and restart.

Prerequisites

  • macOS for the supported v0.1 path
  • Node.js 22–24; Node.js 24 recommended
  • Docker Desktop with Compose

Expected proof

  • docs.search allowed and executed
  • gmail.send_email held for your decision and executed at most once
  • dangerous.delete_customer denied without dispatch
  • local audit hash chain verified
./actionproxy local

Connect your first real tool

Keep the gateway running after the demo. Start with a reviewed local file write using the published JavaScript SDK. This creates an actual Markdown file in your temporary directory; it sends no email and needs no provider credentials.

Download the approved-file example, extract it in a separate directory, and open Terminal there. The archive includes the runner, exact npm lockfile, and complete instructions.

Use ./actionproxy status in the gateway checkout to find its current loopback URL. Replace PORT below with that port. Docker chooses the port, so do not assume 8787.

Propose the file and review it

Run these commands in the extracted example directory. The runner prints a review link and waits up to 15 minutes. The file does not exist before approval.

npm ci --ignore-scripts
node approved-file.mjs --gateway http://127.0.0.1:PORT

See the effect, then connect your own function

  1. Open the printed review link and select local.write_note. Inspect the filename and content, then approve the exact proposal.
  2. The runner consumes the grant, creates the real file, and records the result. Open the file at the printed path and inspect Audit in ActionProxy.
  3. Run the command again and reject the new proposal. That second file is never created. If you stop waiting, inspect the printed action and reject any proposal you no longer need.
  4. Replace the bounded file-write section with your existing function. Pass the approved input and keep execution after grant consumption. The example README explains credential ownership, outcome reporting, and avoiding blind retries.
  5. For an existing MCP server, follow the wrapper setup linked below. The optional Gmail draft reference needs OAuth and a test mailbox; it does not govern sending later in Gmail and has separate live acceptance requirements.

Develop from source

Use the Node/Corepack workspace when changing the gateway or web console. This remains supported alongside the Docker concierge.

node --version  # Use Node 22-24; Node 24 recommended.
corepack enable
corepack pnpm install --frozen-lockfile
corepack pnpm dev

# Open http://127.0.0.1:5173/#/demo

Continue after the proof

Inspect the audit trail

Follow proposal, policy, approval, one-use authority, attempt, result, and denial evidence without treating the local chain as independent attestation.

Adjust policy

Change a demo rule and confirm allow, deny, and require-approval behavior remain deterministic.

Review an edit

Edit a supported single-reviewer proposal and inspect the preserved original input plus policy re-evaluation.

Connect your first real tool

Follow the complete local-file recipe above, then connect your own function or existing MCP server. Provider credentials stay in your external runner or downstream MCP server.

Continue exploring

Related product and guide pages