Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Prerequisites

  • Rust toolchainrustup.rs
  • Ollama — for local embeddings (ollama.com)
  • Crawl4AI — for web page extraction (crawl4ai)
  • Discord bot token — for the Discord interface (see Interfaces)

In the future, all dependencies beyond the binary itself will be managed by the GHOST through Nix. For now, you need to set them up manually.

Install

# Clone and install
git clone https://github.com/tolki/ghost.git
cd ghost
cargo install --path .

Bootstrap

# Initialize workspace and config
ghost init

This creates:

  • Config file at ~/.config/ghost/config.toml
  • Workspace directory at ~/GHOST/ with default identity files, skills, and agents

Secrets

Create a .env file (or set environment variables). Never put API keys in config.toml.

# Required for at least one provider
OPENROUTER_API_KEY=sk-or-...

# Required for web search
BRAVE_API_KEY=BSA...

# Required for Discord
DISCORD_TOKEN=...

Pull Embedding Model

ollama pull qwen3-embedding:8b

Start Crawl4AI

GHOST uses a Crawl4AI container for web page extraction. Run it with Docker:

docker run -d -p 11235:11235 unclecode/crawl4ai

Then set the URL in config.toml:

[web]
crawl4ai_url = "http://localhost:11235"

First Run

ghost daemon

This starts the Discord bot and the job scheduler. Your GHOST is now live.