Casper is GhostBSD's built-in AI assistant — forked from OpenClaw and tailored for the GhostBSD desktop experience.
Casper ships preinstalled and preconfigured as part of GhostBSD 27.1. No setup required. It starts with the system and is ready to use immediately, powered by Claude (Anthropic) as the default AI backend.
Casper runs locally on your GhostBSD system, monitors your environment, and assists you through the channels you already use (Telegram, Discord, IRC, Matrix, Slack, Signal, WebChat). It can file bug reports on your behalf, attempt to fix issues it finds, and open pull requests with proposed fixes.
- Automated bug reporting — Casper monitors your system and files bug reports on your behalf when it detects issues, complete with logs, hardware details, and reproduction steps
- Automated fixes — When Casper identifies a known or diagnosable issue, it attempts to resolve it and opens a pull request with the proposed fix for human review
- System awareness — Casper has full context of your GhostBSD environment, installed packages, running services, and hardware configuration
- MATE desktop integration — Integrated directly into the MATE desktop with a persistent, always-available panel applet
- Messaging app support — Interact with Casper through Telegram, Discord, IRC, Matrix, and other platforms you already use
- Local-first — Casper runs entirely on your machine. Your data stays with you
Casper is preinstalled in GhostBSD 27.1 and starts automatically with the system. To start a conversation:
casper agent --message "What is the status of my system?"Or interact through any connected messaging channel.
Casper is preconfigured to use Claude (Anthropic) as its AI backend. Claude is chosen for its strong reasoning capabilities, reliable code understanding, and low prompt-injection risk.
The default configuration is managed by GhostBSD at /etc/casper/casper.json. User overrides can be placed at ~/.casper/casper.json.
Telegram / Discord / IRC / Matrix / Slack / Signal / WebChat
│
▼
┌───────────────────────────────┐
│ Gateway │
│ (control plane) │
│ ws://127.0.0.1:18789 │
└──────────────┬────────────────┘
│
├─ Pi agent (RPC)
├─ CLI (casper …)
├─ WebChat UI
└─ MATE panel applet
The Gateway runs as an rc.d service and stays running in the background. It is the single control plane for sessions, channels, tools, and events.
Casper connects to the messaging platforms most used by the BSD community. Channels are configured in ~/.casper/casper.json:
- Telegram — set
channels.telegram.botToken - Discord — set
channels.discord.token - IRC — configure
channels.ircwith server and nick - Matrix — configure
channels.matrixwith homeserver and credentials - Slack — set
channels.slack.botToken+channels.slack.appToken - Signal — requires
signal-cliand achannels.signalconfig section - WebChat — served directly from the Gateway at
http://localhost:18789; no separate port
Casper connects to real messaging surfaces. Treat inbound DMs as untrusted input.
Default behavior:
- DM pairing (
dmPolicy="pairing"): unknown senders receive a short pairing code and Casper does not process their message until approved - Approve with:
casper pairing approve <channel> <code> - Public inbound DMs require explicit opt-in: set
dmPolicy="open"and include"*"in the channel allowlist
Run casper doctor to surface risky or misconfigured DM policies.
Send these in Telegram / Discord / IRC / Matrix / WebChat:
/status— compact session status (model + tokens)/newor/reset— reset the session/compact— compact session context (summary)/think <level>— off|minimal|low|medium|high|xhigh/verbose on|off/usage off|tokens|full— per-response usage footer/restart— restart the gateway (owner-only in groups)
- Workspace root:
~/.casper/workspace(configurable viaagents.defaults.workspace) - Injected prompt files:
AGENTS.md,SOUL.md,TOOLS.md - Skills:
~/.casper/workspace/skills/<skill>/SKILL.md
- Default: tools run on the host for the main session, so Casper has full access when it is just you
- Group/channel safety: set
agents.defaults.sandbox.mode: "non-main"to run non-main sessions (groups/channels) in per-session sandboxes - Sandbox defaults: allowlist
bash,process,read,write,edit,sessions_list,sessions_history,sessions_send; denylistbrowser,cron,gateway
git clone https://github.com/ghostbsd/casper.git
cd casper
pnpm install
pnpm build
# Dev loop (auto-reload on source/config changes)
pnpm gateway:watchMIT
Forked from OpenClaw. GhostBSD-specific patches and integration maintained by the GhostBSD team.