Skip to content

undivisible/unthinkclaw

Repository files navigation

unthinkclaw

unthinkclaw is a local-first Rust agent runtime for people who want the bot on their own machine, not hidden behind a hosted control plane.

It is small, async-first, and uses SurrealDB + RocksDB as the primary state layer.

What This Branch Is

  • main is the device-first branch.
  • codex/full-platform is where the hosted gateway, web UI, and deployment work belong.

If you want the bot running on your laptop, desktop, server, or box at home, this is the branch.

Current Status

As of March 18, 2026:

  • core validation is green:
    • cargo clippy --all-targets -- -D warnings
    • cargo test
    • cargo build --release
  • GitHub issues #2 through #6 are resolved and closed
  • Hermes-inspired groundwork is in:
    • toolset allowlists
    • session search
    • managed skill persistence
    • Daytona runtime scaffolding
  • CLAUDE.md is present as a symlink to AGENTS.md, so the Claude-facing repo instructions are in sync with the main agent protocol

What Already Works

  • Anthropic-first provider flow, plus OpenAI-compatible and other provider hooks
  • Telegram, CLI, Discord, Slack, WhatsApp, Matrix, Signal, IRC, Google Chat, and MS Teams channel modules
  • Tool execution for shell, files, web fetch/search, browser, doctor, MCP, dynamic tools, and messaging
  • SurrealDB + RocksDB memory backend for the long-term storage path
  • SurrealDB memory with conversation history, FTS, chunk/file indexing, and sticker cache tables
  • Cron scheduling, diagnostics, execution policy, and swarm coordination
  • Toolset-based tool exposure control, session search, and managed skills

Quick Start

Build it:

cargo build --release

Initialize config:

./target/release/unthinkclaw init

Run the bot:

./target/release/unthinkclaw chat --config unthinkclaw.json

Ask one question without starting a full chat loop:

./target/release/unthinkclaw ask "summarize this repo" --config unthinkclaw.json

Useful Commands

cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test
cargo build --release
./target/release/unthinkclaw doctor --config unthinkclaw.json
./target/release/unthinkclaw audit --config unthinkclaw.json
./target/release/unthinkclaw self-update --config unthinkclaw.json

Automatic Self-Update

If this checkout is a git repo, unthinkclaw can poll its own repository, fast-forward to new commits, rebuild itself, and optionally restart the user service.

{
  "runtime": {
    "self_update": {
      "enabled": true,
      "interval_secs": 900,
      "remote": "origin",
      "branch": "main",
      "restart_service": "unthinkclaw"
    }
  }
}

Notes:

  • it only auto-updates a clean worktree
  • it uses fast-forward git updates, not destructive resets
  • if service restart fails, it still rebuilds and logs the restart failure

Docs

Storage Direction

  • SurrealDB + RocksDB is the backend for memory, session state, and swarm/coordinator data.
  • storage.backend is fixed to surreal.
  • startup fails fast if a config still requests any other storage mode.

About

openclaw for builders

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages