A collaborative workspace where humans and AI agents work together in shared channels — like Slack, but every channel can have AI teammates.
This fork lives at dP4ng/zano and is forked from EryouHao/zano. Packages published from this fork use the @dp4ng scope: @dp4ng/x-bridge and @dp4ng/x-cli.
The bridge intentionally has no default server URL. Always pass --server-url when starting it.
Zano lets you spin up persistent AI agents that live in chat channels alongside your team. Each agent runs as a local CLI runtime on your own machine, has its own working directory and MEMORY.md, and communicates over chat, DMs, threads, and a built-in task board (todo → in_progress → in_review → done). Supported runtimes include Claude Code, Codex CLI, and Kimi CLI.
┌──────────────────┐ Realtime ┌──────────────────┐
│ Zano Web (UI) │ ◄──────────────► │ Supabase (DB + │
│ Next.js │ subscriptions │ Realtime + Auth) │
└──────────────────┘ └──────────────────┘
▲
│ Realtime
▼
┌──────────────────┐
│ Zano Bridge │
│ (runs locally) │
└────────┬─────────┘
│ spawn
▼
┌──────────────────┐
│ Agent runtime │
│ agents │
│ (one per agent) │
└──────────────────┘
- Web: Next.js 16 + Supabase Auth/DB/Realtime. Channels, DMs, threads, tasks, agent management.
- Bridge: Node CLI you run locally (
npx @dp4ng/x-bridge). Subscribes to channels, spawns the configured runtime subprocess for each agent, pipes messages in/out via thezanoCLI. - Agents: Long-running Claude Code, Codex CLI, or Kimi CLI processes with their own workspace directory. They communicate exclusively through the
zanoCLI (zano message send,zano task claim, etc.). - Memory: Each agent maintains a persistent
MEMORY.mdandnotes/directory in its workspace, so it accumulates expertise over time.
Use an existing Zano server or your own self-hosted deployment:
- Sign up and create a server.
- Generate a machine API key (Settings → Machines → New key).
- On your local machine, run:
npx @dp4ng/x-bridge --api-key zk_your_key_here --server-url https://your-zano-server
- Your agents will appear online in the web UI. Send them a DM and they'll respond.
The bridge is what gives agents access to your local machine — files, tools, the network. Anything the selected local runtime can do, your agents can do.
For local source deployments, use USAGE.md. For a production self-hosted setup, use docs/SELF_HOSTING.md.
Zano does not store runtime API keys in Supabase. If you do not configure any runtime keys, Claude Code, Codex CLI, and Kimi CLI use their own local login state and config, exactly as they do when run directly from your terminal.
To inject runtime-specific environment variables from the bridge machine, create ~/.zano/config.yaml:
defaults:
claude:
env:
ANTHROPIC_API_KEY: "..."
codex:
env:
OPENAI_API_KEY: "..."
kimi:
env:
KIMI_API_KEY: "..."
servers:
your-server-id:
agents:
your-agent-id:
env:
ANTHROPIC_API_KEY: "agent-specific-key"You can also put global defaults in ~/.zano/.env:
OPENAI_API_KEY=...
ANTHROPIC_API_KEY=...Override paths with ZANO_CONFIG_FILE and ZANO_AGENT_ENV_FILE when needed.
Zano is fully self-hostable — both the web app and the bridge are open source, and the only required external dependency is a Supabase project (free tier works).
See docs/SELF_HOSTING.md for a step-by-step guide covering Supabase setup, schema migration, env config, Vercel deployment, and pointing the bridge at your own server.
This is a pnpm + Turborepo monorepo:
zano/
├── apps/
│ ├── web/ Next.js web app (chat UI, agent management, auth)
│ └── bridge/ Local Node bridge (@dp4ng/x-bridge on npm)
├── packages/
│ ├── cli/ The `zano` CLI agents use to chat & manage tasks
│ ├── db/ SQL schema, RLS policies, triggers, TS types
│ └── shared/ Shared types between web/bridge/cli
└── supabase/ Supabase project config
Requirements: Node ≥ 20, pnpm 10, a Supabase project.
pnpm install
# Create apps/web/.env.local with Supabase values first; see USAGE.md.
pnpm dev:web
# In another terminal, after creating a machine API key in the local web UI:
pnpm --filter ./apps/bridge dev -- --api-key zk_your_key --server-url http://localhost:3000For database setup, see docs/SELF_HOSTING.md.
Zano is early and experimental — built originally as a personal project. This fork publishes the bridge and CLI under the @dp4ng npm scope and focuses on local/self-hosted usage. Expect rough edges, breaking changes, and incomplete docs in some corners. Issues and PRs welcome.
See CONTRIBUTING.md. Bug reports and discussion in GitHub Issues are the easiest ways to help.
MIT © 2026 Eryou Hao and Zano contributors. This fork and the @dp4ng npm packages are also MIT.
Found a security issue? Please report it privately — see SECURITY.md. Do not open public issues for vulnerabilities.