CireilClaw
A harness for personal AI agents. Run your own configurable personas across Discord, Terminal, and beyond with sandboxed tools, persistent sessions, and scheduled tasks.
Capabilities
Multi-Channel
Run agents across Discord, an interactive Terminal TUI, and internal cron/heartbeat channels. Matrix support is on the roadmap.
Multi-Provider LLMs
Pluggable providers for OpenAI-compatible APIs and Anthropic. Supports key pooling, extended thinking, prompt caching, and vision/video models.
Plugin SDK
TypeScript plugin SDK with typed RPC over worker threads. Each plugin is isolated, hot-reloadable, and can declare tools with JSON Schema parameters.
Sandboxed Execution
File-system sandboxing via TOML-defined mounts. The exec tool is disabled by default and requires an explicit binary allowlist with timeout enforcement.
Persistent Sessions
Per-agent SQLite databases in WAL mode. Sessions survive restarts with full conversation history, opened files, and deduplicated image storage via blake3 hashing.
Scheduled Tasks
Built-in heartbeat intervals and cron scheduling. One-shot, recurring, and cron-expression jobs can be created at runtime and survive restarts.
Core Tenets
Security
Least-privilege sandboxing with TOML-defined mounts, explicit binary allowlists, and sanitized error output to prevent information leakage.
Observability
State is explicit and recoverable. History cursor pruning preserves full logs for inspection, while pending-message queues ensure deterministic ordering.
Composability
Small, focused units that compose cleanly. Plugins run in isolated worker threads with typed RPC, and tools can be mixed, matched, and overridden.
Reliability
Tool failure thresholds, API key rotation with cooldown, debounced session persistence, and hot-reloadable configuration without restarts.
Getting Started
CireilClaw is a TypeScript monorepo using pnpm workspaces. See the installation guide for platform-specific setup instructions, Nix flake usage, and dependency requirements.