{"id":47739139,"url":"https://github.com/xpressai/xpressclaw","last_synced_at":"2026-04-08T17:00:29.115Z","repository":{"id":347181203,"uuid":"1108214289","full_name":"XpressAI/xpressclaw","owner":"XpressAI","description":"XpressAI on your machine.  Build continuous AI agents that work autonomously, remember what they've learned and stay on budget while you sleep.","archived":false,"fork":false,"pushed_at":"2026-04-05T10:25:43.000Z","size":4142,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-05T12:25:01.050Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XpressAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-02T07:10:33.000Z","updated_at":"2026-04-05T09:56:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"2e5cdaac-cbc5-4a60-8600-08eef1136f2e","html_url":"https://github.com/XpressAI/xpressclaw","commit_stats":null,"previous_names":["xpressai/xpressclaw"],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/XpressAI/xpressclaw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XpressAI%2Fxpressclaw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XpressAI%2Fxpressclaw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XpressAI%2Fxpressclaw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XpressAI%2Fxpressclaw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XpressAI","download_url":"https://codeload.github.com/XpressAI/xpressclaw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XpressAI%2Fxpressclaw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31564915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-02T23:21:53.261Z","updated_at":"2026-04-08T17:00:29.105Z","avatar_url":"https://github.com/XpressAI.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/XpressAI/xpressclaw/blob/7a455d7bf77caf6dafdead4d37c79c7e3f6be809/docs/assets/xpressclaw-banner.jpeg\" alt=\"xpressclaw\" width=\"600\"\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eCollaborative Local Agent Workspace\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\nA single binary that gives you a complete AI agent runtime — chat with your agents, give them tasks, and let them work autonomously. Built-in memory, budget controls, scheduling, and a polished web UI.\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"612\" height=\"426\" alt=\"XpressClaw-screenshot\" src=\"https://github.com/user-attachments/assets/e38079ef-99f7-4e1e-91a0-fa14d39800ca\" /\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://xpressclaw.ai\"\u003eWebsite\u003c/a\u003e \u0026bull;\n\u003ca href=\"https://hub.xpressclaw.ai\"\u003eHub\u003c/a\u003e \u0026bull;\n\u003ca href=\"https://github.com/XpressAI/xpressclaw/blob/main/CONTRIBUTING.md\"\u003eContribute\u003c/a\u003e \u0026bull;\n\u003ca href=\"https://discord.com/invite/vgEg2ZtxCw\"\u003eDiscord\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/XpressAI/xpressclaw/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/XpressAI/xpressclaw?color=brightgreen\" alt=\"License\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/XpressAI/xpressclaw/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/XpressAI/xpressclaw?color=yellow\" alt=\"Release\"\u003e\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/badge/rust-stable-orange\" alt=\"Rust\"\u003e\n\u003c/p\u003e\n\n---\n\n```bash\nxpressclaw init\nxpressclaw up\n```\n\nThat's it. Open `http://localhost:8935` and start chatting with your agents.\n\n## Why xpressclaw?\n\nMost agent frameworks give you a library. xpressclaw gives you a **running system** — a ~12MB binary with everything included: server, web UI, LLM router, and agent management. No Python environment to configure, no Docker Compose sprawl, no YAML templating engines.\n\n- **Chat-first interface** — Talk to your agents in a messaging UI, not a terminal. `@mention` agents in conversations, just like Slack.\n- **Single binary, zero dependencies** — Download one file, run it. The server, API, and web frontend are all embedded.\n- **Native desktop app** — Tauri-based `.app` / `.dmg` with system tray. Runs in the background, always available.\n- **Production-tested architecture** — Built on the same agent orchestration patterns that power Xpress AI's enterprise platform, deployed at regulated financial institutions.\n- **Local-first, cloud-optional** — Works with Ollama out of the box. Add OpenAI or Anthropic keys when you need them.\n- **Secure by default** — Agents run in Docker containers. Budget controls prevent runaway costs. No exceptions.\n\n## Features\n\n### Chat with Your Agents\n\nThe primary interface is a **messaging UI**. Create conversations, add agents, and talk to them — individually or in groups. Agents respond via the configured LLM (local or cloud).\n\n### Autonomous Task Execution\n\nAgents pick up tasks from a queue and work through them. Schedule recurring work with cron expressions. Define SOPs (Standard Operating Procedures) so agents perform consistently.\n\n### Persistent Memory\n\nZettelkasten-style knowledge base with vector search (sqlite-vec). Agents remember context across sessions and retrieve relevant information automatically.\n\n### Multiple LLM Backends\n\n- **Local:** Qwen 3.5, Llama 3, Mistral, and more via Ollama\n- **Cloud:** Claude (Anthropic), GPT-4o (OpenAI), and 100+ models via OpenRouter\n- **Framework agnostic:** Agent harnesses for Claude SDK, LangChain, Xaibo, and generic\n\n### Privacy \u0026 Safety\n\n- **Container isolation** — each agent runs in its own Docker container\n- **Budget controls** — daily/monthly spending limits per agent and globally\n- **Tool permissions** — explicit allow-list; agents only access what you grant\n- **Everything local** — your data never leaves your machine unless you choose a cloud LLM\n\n### Full Observability\n\nActivity logs, budget dashboards, agent status monitoring. Know what your agents did at 3am.\n\n## Quick Start\n\n### Option 1: Download Binary\n\nGrab the latest release from [GitHub Releases](https://github.com/XpressAI/xpressclaw/releases).\n\n```bash\nxpressclaw init\nxpressclaw up\n# Open http://localhost:8935\n```\n\n### Option 2: Native App (macOS)\n\nDownload `xpressclaw.dmg` from [Releases](https://github.com/XpressAI/xpressclaw/releases) — double-click to install. The app runs in the system tray.\n\n### Option 3: Build from Source\n\nSee [Building](#building) below.\n\n### Requirements\n\n- Docker or Podman (required for agent container isolation)\n- Ollama (optional, for local LLM — `ollama pull qwen3.5:latest`)\n- Or an API key for Claude / OpenAI / OpenRouter\n\n## What Can It Do?\n\n**Chat with agents from the web UI:**\n\nCreate a conversation, add an agent, and start talking. Use `@atlas` to mention a specific agent in a multi-agent conversation.\n\n**Schedule recurring tasks:**\n```bash\nxpressclaw tasks create \"Summarize top 10 HN stories\" --agent atlas\n```\n\n**Review what happened while you were away:**\n```bash\nxpressclaw logs\nxpressclaw status\nxpressclaw budget\n```\n\n**Define SOPs for consistent behavior:**\n```yaml\nname: weekly-report\nsteps:\n  - Check JIRA for completed tickets this week\n  - Summarize key accomplishments\n  - Identify blockers and risks\n  - Draft report and send to team channel\n```\n\n**Interactive CLI chat:**\n```bash\nxpressclaw chat atlas\n```\n\n## Configuration\n\n`xpressclaw init` creates a `xpressclaw.yaml` in your project:\n\n```yaml\nsystem:\n  budget:\n    daily: $20.00\n    on_exceeded: pause\n  isolation: docker\n\nagents:\n  - name: atlas\n    backend: generic\n    role: |\n      You are a helpful assistant.\n\nmemory:\n  near_term_slots: 8\n  eviction: least-recently-relevant\n\nllm:\n  default_provider: local\n  # local_model: qwen3.5:latest\n  # Set OPENAI_API_KEY or ANTHROPIC_API_KEY env vars for cloud providers\n```\n\n## Building\n\n### Prerequisites\n\n- [Bazel](https://bazel.build/) 8.2+ (via [Bazelisk](https://github.com/bazelbuild/bazelisk))\n- [Rust](https://rustup.rs/) (stable toolchain, used by Bazel and for fmt/clippy)\n- [LLVM](https://releases.llvm.org/) (provides `libclang`, required by llama.cpp bindings)\n- [CMake](https://cmake.org/) (required by llama.cpp build)\n- [Node.js](https://nodejs.org/) 18+ (for the frontend)\n- Docker (for running agents)\n\n### Build Everything\n\n```bash\ngit clone https://github.com/XpressAI/xpressclaw.git\ncd xpressclaw\n\n# Build CLI, core, and server (includes frontend)\n./build.sh\n\n# Or with a clean build\n./build.sh --clean\n```\n\n### Build Individual Targets\n\n```bash\n# CLI only\nbazel build //crates/xpressclaw-cli:xpressclaw\n\n# Core library\nbazel build //crates/xpressclaw-core:xpressclaw-core\n\n# Server\nbazel build //crates/xpressclaw-server:xpressclaw-server\n\n# The CLI binary is at bazel-bin/crates/xpressclaw-cli/xpressclaw\n```\n\n### Build the Desktop App (Tauri)\n\n```bash\n# Build everything including the Tauri desktop app\n./build.sh\n\n# For signed/notarized macOS builds\n./build-signed.sh\n```\n\n### Build Agent Harness Images\n\nAgent harnesses are Docker images that run your agents in isolation:\n\n```bash\ncd harnesses\n\n# Build all harness images\ndocker buildx bake\n\n# Or build individually\ndocker build -t xpressclaw-harness-base ./base\ndocker build -t xpressclaw-harness-generic ./generic\ndocker build -t xpressclaw-harness-claude-sdk ./claude-sdk\n```\n\n### Run Tests\n\n```bash\n# Via Bazel\nbazel test //crates/xpressclaw-core:core_test //crates/xpressclaw-server:server_test\n\n# Frontend type check\ncd frontend \u0026\u0026 npm run check\n\n# Formatting and linting (still via Cargo)\ncargo fmt -p xpressclaw-core -p xpressclaw-server -p xpressclaw-cli -p xpressclaw-tauri -- --check\ncargo clippy -p xpressclaw-core -p xpressclaw-server -p xpressclaw-cli -p xpressclaw-tauri --all-targets -- -D warnings\n```\n\n### Development Mode\n\n```bash\n# Terminal 1: Run the Rust server with auto-reload\ncargo run -- up\n\n# Terminal 2: Run the frontend dev server with hot reload\ncd frontend \u0026\u0026 npm run dev\n\n# The frontend dev server proxies API calls to localhost:8935\n```\n\n## Architecture\n\nxpressclaw is a Cargo workspace with four crates:\n\n| Crate | Purpose |\n|-------|---------|\n| `xpressclaw-core` | Business logic: config, SQLite + sqlite-vec, agents, memory, tasks, budget, LLM router, Docker management, MCP tools |\n| `xpressclaw-server` | Axum REST API, SSE streaming, embedded SvelteKit frontend (rust-embed) |\n| `xpressclaw-cli` | 10 CLI commands via clap: init, up, down, status, chat, tasks, memory, budget, sop, logs |\n| `xpressclaw-tauri` | Native desktop app with system tray (Tauri v2) |\n\n```\nxpressclaw (single ~12MB binary)\n+-- Axum server (REST API + embedded SvelteKit frontend)\n+-- LLM Router (Ollama / OpenAI / Anthropic)\n+-- SQLite + sqlite-vec (tasks, memory, conversations, budget)\n+-- Docker Manager (agent container lifecycle)\n+-- Agent Harnesses (isolated Python containers per backend)\n```\n\n**Key design decisions:**\n- **Single binary** — server, API, frontend, and CLI in one executable\n- **Docker required** — agent isolation is not optional\n- **SQLite for everything** — tasks, memory, embeddings, conversations, budget\n- **OpenAI-compatible protocol** — harnesses expose `/v1/chat/completions`\n\n## CLI Reference\n\n```\nxpressclaw init              Initialize workspace with config + data dir\nxpressclaw up [--detach]     Start the server and agents\nxpressclaw down              Stop all running agents\nxpressclaw status            Show agent status and budget summary\nxpressclaw chat \u003cagent\u003e      Interactive chat in the terminal\nxpressclaw tasks             Task management (list, create, update, delete)\nxpressclaw memory            Memory inspection (list, search, add)\nxpressclaw budget            Budget report and usage history\nxpressclaw sop               SOP management (list, create, run)\nxpressclaw logs              Activity log viewer\n```\n\nDefault port: `8935` (override with `--port`).\n\n## From Open Source to Enterprise\n\nxpressclaw is the open-source foundation. When your team needs collaboration, visual workflows, compliance, and enterprise support — [Xpress AI](https://xpress.ai) has you covered.\n\n| | xpressclaw (Free) | Xpress AI (Enterprise) |\n|---|---|---|\n| Autonomous AI agents | :white_check_mark: | :white_check_mark: |\n| Chat-first web UI | :white_check_mark: | :white_check_mark: |\n| SOPs \u0026 scheduling | :white_check_mark: | :white_check_mark: |\n| Local model support | :white_check_mark: | :white_check_mark: |\n| Budget controls | :white_check_mark: | :white_check_mark: |\n| Team collaboration | | :white_check_mark: |\n| Visual workflow builder (Xircuits) | | :white_check_mark: |\n| iOS \u0026 Android apps | | :white_check_mark: |\n| On-premise deployment | | :white_check_mark: |\n| Role-based access control | | :white_check_mark: |\n| Audit logging \u0026 compliance | | :white_check_mark: |\n| Dedicated support \u0026 SLA | | :white_check_mark: |\n\n[Request an Enterprise Demo](https://xpress.ai)\n\n## Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n```bash\ngit clone https://github.com/XpressAI/xpressclaw.git\ncd xpressclaw\n./build.sh\n```\n\n## Community\n\n- **Website:** [xpressclaw.ai](https://xpressclaw.ai)\n- **Hub:** [hub.xpressclaw.ai](https://hub.xpressclaw.ai)\n- **Discord:** [discord.com/invite/vgEg2ZtxCw](https://discord.com/invite/vgEg2ZtxCw)\n- **Twitter/X:** [@xpressclaw](https://twitter.com/xpressclaw)\n- **Enterprise:** [xpress.ai](https://xpress.ai)\n\n## License\n\n[GPL-3.0](LICENSE)\n\n---\n\n\u003cp align=\"center\"\u003e\nBuilt by \u003ca href=\"https://xpress.ai\"\u003eXpress AI\u003c/a\u003e — the team behind enterprise agent platforms for regulated industries.\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxpressai%2Fxpressclaw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxpressai%2Fxpressclaw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxpressai%2Fxpressclaw/lists"}