AI News HubLIVE
In-site rewrite5 min read

Show HN: Cybara – An open-source AI agent platform built with Bun

Cybara is a self-hosted AI agent operating system that combines a Bun-based agent runtime with a web UI, CLI, desktop shells, mobile companion, encrypted local wallet controls, channel adapters, MCP support, and a broad tool layer. It supports multi-agent orchestration, browser automation, secure messaging across major platforms, and encrypted wallet operations.

SourceHacker News AIAuthor: carsenk

Uh oh!

There was an error while loading. Please reload this page.

Notifications You must be signed in to change notification settings

Fork 0

Star 4

BranchesTags

Open more actions menu

Folders and files

NameName

Last commit message

Last commit date

Latest commit

History

1,720 Commits

1,720 Commits

.codex/environments

.codex/environments

.github

.github

app-store-assets/ios

app-store-assets/ios

apps

apps

docker/sandbox-browser

docker/sandbox-browser

docs

docs

nix

nix

output

output

packaging

packaging

script

script

scripts

scripts

shared

shared

site

site

skills

skills

snap

snap

src-tauri

src-tauri

src

src

templates

templates

tests

tests

ui

ui

.dockerignore

.dockerignore

.env.example

.env.example

.gitignore

.gitignore

AGENTS.md

AGENTS.md

CITATION.cff

CITATION.cff

CLAUDE.md

CLAUDE.md

CODE_OF_CONDUCT.md

CODE_OF_CONDUCT.md

CONTRIBUTING.md

CONTRIBUTING.md

Dockerfile

Dockerfile

LICENSE.md

LICENSE.md

README.md

README.md

SECURITY.md

SECURITY.md

THIRD-PARTY-NOTICES.md

THIRD-PARTY-NOTICES.md

biome.json

biome.json

bun.lock

bun.lock

bunfig.toml

bunfig.toml

cybara.png

cybara.png

eslint.config.js

eslint.config.js

flake.nix

flake.nix

install.ps1

install.ps1

install.sh

install.sh

knip.json

knip.json

osv-scanner.toml

osv-scanner.toml

package.json

package.json

tsconfig.json

tsconfig.json

Repository files navigation

Self-hosted AI agent platform for real work: code, channels, browser automation, and on-chain execution.

Cybara combines a Bun-based agent runtime with a web UI, CLI, desktop shells, mobile companion, encrypted local wallet controls, channel adapters, MCP support, and a broad tool layer. Run agents that can code, automate browsers, manage messaging workflows, and execute wallet operations while keeping operator control in the loop.

Quick Install

Prefer the desktop GUI? Download Cybara for macOS, Windows, or Linux from cybara.ai/download, or get every installer directly from GitHub Releases.

Install the latest Cybara CLI on macOS or Linux:

curl -fsSL https://cybara.ai/install.sh | bash

On Windows PowerShell:

powershell -c "irm https://cybara.ai/install.ps1 | iex"

Then launch Cybara:

cybara

The installer selects the correct release for the current platform and verifies its published SHA256 checksum. You can also run Cybara without installing it with bunx cybara.

Cybara in Action

Web and Tauri chat with persisted workspaces, plans, grouped live activity, file changes, embedded previews, context controls, and agent selection.

Terminal chat with responsive layouts, a wide-screen session inspector, wrapped Markdown, persisted sessions, queueing, steering, approvals, capability completion, and slash commands.

What Cybara Is

Cybara is an agent operating system for developers and operators who want one stack for:

AI chat and multi-agent orchestration

local and remote tool execution

browser and API automation

secure messaging channels across platforms including Telegram, Discord, Slack, WhatsApp, Signal, iMessage, Matrix, Mattermost, Microsoft Teams, Feishu/Lark, DingTalk, WeCom, Zulip, LINE, Google Chat, IRC, ntfy, Twitch, Nextcloud, Synology, Zalo, Home Assistant, Web, Webhook, SMS, and Email

encrypted wallet operations across ETH/BTC/SOL with policy controls

If you need an agent platform that can plan, execute, verify, and report with strong operator control, Cybara is built for that.

Capability Snapshot

A broad built-in tool library with compatibility aliases and intent-aware exposure, so agents receive only the relevant allowed subset for a turn

A broad provider catalog with dynamic model discovery (src/core/providers.ts), including Azure OpenAI, Azure AI Foundry, Anthropic on Vertex AI, and Google Gemini on Vertex AI

Channel adapters for the major messaging platforms (src/core/channels/adapters)

Model provider router with weighted / round-robin / lowest-cost / priority / mixture-of-agents strategies, circuit breaker, rate limits, spend caps, and coding-plan limit awareness

Mixture of Agents (MoA): fan a turn out to several proposer agents and synthesize one answer — available both as a mixture_of_agents tool and as a router strategy

Self-improving skills: agents can codify a verified multi-step procedure with skill_save, and the loader picks it up for future sessions

ACP (Agent Client Protocol) v1 server for connecting compatible editors to a workspace-confined Cybara agent over stdio (cybara acp)

A web UI with dashboard, chat, IDE, terminal, tools, MCP, mobile pairing, wallet, and settings surfaces

Bundled skills (skills/), including fal.ai media guidance and mactop hardware monitoring when available on macOS

Anthropic prompt caching, multi-key credential pools + rate-limit rotation, and a centralized LLM error taxonomy

Smart context compaction (token-aware chunking + structured summaries with identifier preservation)

Project instruction and context loading for AGENTS.md, SOUL.md, IDENTITY.md, USER.md, and TOOLS.md at the selected workspace root

Interactive tool approval with per-session/persistent allowlists, filesystem checkpoint/snapshot+rollback, and transform hooks (tool_result/llm_output/terminal_output)

Token streaming to the UI (real-time assistant text deltas via WebSocket)

MCP host mode (expose cybara's tools to other MCP clients) + MCP client (consume external servers)

A unified plugin hub for reusable skill bundles, MCP services, and encrypted account apps with read-only defaults and approval-gated writes

Local workspace indexing with lexical search plus optional local Transformers.js embeddings; packaged desktop sidecars bundle Transformers.js, ONNX Runtime native binaries when available, and ONNX Web/WASM fallback assets

Source migration from supported legacy agent installations with dry-run previews, conflict handling, skill/memory import, and opt-in secret import

Shared speech settings for local Kokoro, operating-system, and cloud speech plus managed or full-duplex hands-free conversation

Gateway operator controls for localhost auth policy, API-key reveal/rotation, gateway restart, and log viewing

Media generation (image/video/music) via swappable provider registry, dynamic tool discovery, a tool-calling code sandbox, desktop control with safety hardening, and a multi-agent kanban orchestration tier

Tauri desktop app + native SwiftUI macOS app + React Native mobile companion + Bun server/CLI runtime

Build From Source

Source development uses Bun only for dependency installation, tasks, and tests.

Clone

git clone https://github.com/metaspartan/cybara.git cd cybara

Install dependencies

bun install

Start full dev stack (backend + built UI + watch)

bun run dev

Then open:

UI: http://localhost:4269

API health: http://localhost:4269/api/health

Update an installed CLI with:

cybara update # verify SHA256, then download + install cybara update --check # just report whether a newer release exists (non-zero if stale) cybara update --force # reinstall even when already current

The desktop app now checks the same GitHub release channel from Settings -> Desktop Updates and can install signed app updates in place.

Production deployment guidance: docs/production.md

Desktop And Native Apps

Cybara ships two desktop shells over the same Bun sidecar/runtime contract:

Tauri desktop for macOS, Windows, and Linux, including signed updater artifacts through GitHub Releases

Native SwiftUI macOS shell in apps/macos/Cybara, packaged as a .app bundle with the compiled sidecar, web UI, secp256k1.wasm, and local indexing runtime assets

bun run tauri:dev # Tauri desktop dev mode bun run tauri:build # Tauri production build bun run tauri:build:release # Tauri build with updater config/signatures bun run native:macos:run # Build UI + sidecar, then run the SwiftUI shell bun run native:macos:package # Build native SwiftUI .app + zip

See docs/desktop.md and apps/macos/Cybara/README.md.

Mobile Companion

Cybara Mobile is a dark Liquid Glass-inspired React Native app for iOS and Android. It connects to a Cybara gateway already running from CLI, Tauri/Web UI, native macOS, or a hosted deployment, then manages remote sessions and operator settings.

bun run mobile:dev bun run mobile:ios bun run mobile:android bun run mobile:expo-check

on the device running Cybara

cybara mobile connect --url http://192.168.1.20:4269 --device "Carsen iPhone"

The CLI and Web UI/Tauri Mobile page create QR pairings with revocable per-device tokens, so a phone can be revoked without rotating the root gateway API key. Pairing can use LAN access or a configured remote access URL from Settings → Gateway, including private mesh networks such as Tailscale/ZeroTier/NetBird or password-protected HTTPS tunnels. The mobile surface covers gateway health, sessions, agents, providers, provider plan limits, metrics, speech settings, tool approvals, wallet policy, channels, tasks, memory, terminal/log entrypoints, gateway controls, and settings summaries. See apps/mobile/README.md.

Release CI exports Expo bundles for iOS and Android and can also build signed Android AAB/APK and iOS IPA/TestFlight artifacts when the relevant store signing secrets are configured.

Docker

Build and run a production container:

docker build -t cybara:latest . docker run --rm -p 4269:4269 \ -e CYBARA_API_KEY=cybara_dev_key \ -v ~/.cybara:/root/.cybara \ cybara:latest

Then open http://localhost:4269.

Core Features

Multi-Agent Runtime

Multiple agent types (main, research, coder, planner, ops, subagent, worker)

Subagent spawning and lifecycle management

Session-aware execution with persistence and recovery

Agent tool allowlist and permission enforcement support

Tooling Layer

Tool categories currently shipped:

file: read/write/edit/search/grep/workspace_index/apply_patch — with a hard path-safety deny-list (credentials, SSH keys, .env) enforced before every write

process: exec/process/git

browser: browser/web_fetch/web_search/canvas

memory: search/get/save/context/durable save

core: sessions/agents/artifacts/wallet/http/env/data/nodes/clipboard/cron/gateway/etc.

lsp: diagnostics/definition/references/hover/languages

media: image/tts + image_generate / video_generate / music_generate via a swappable provider registry (OpenAI, fal.ai with FAL_KEY or FAL_API_KEY)

skill: calc/convert/pdf/ocr/summarization/video_frames/weather/mactop + skill_save (agents codify a successful procedure as a reusable skill for future sessions)

channel: message/telegram_media

planning: todo (session task-list with status discipline) + clarify (structured multi-choice questions to the user)

discovery: tool_search / tool_describe / tool_call (dynamic discovery over built-in + MCP + skills) + execute_code (run code that calls cybara tools programmatically)

media: computer_use (bundled background desktop control for capture/click/type/scroll/drag without stealing the cursor)

orchestration: the kanban multi-agent tier — show/list/complete/block/heartbeat/comment/create/unblock/link for durable task graphs — plus mixture_of_agents (fan out to N proposer agents, synthesize one answer)

See full reference: docs/tools.md

Execution Sandboxing

Configurable command sandbox for exec/git tool calls

Auto provider selection:

Apple Silicon: sandbox-exec

Linux: podman

Cross-platform container fallback: docker

Configurable network mode (allow or deny) for sandboxed execution

Managed via Settings UI (Command Sandbox) or config key sandbox_runtime

Encrypted Wallet + Crypto Automation

Local encrypted BIP39 vault (24-word seed phrase)

Multi-chain addresses and balances: ETH, BTC, SOL

Native transfers + tok

[truncated for AI cost control]