Quickstart
Build and run the check script
Section titled “Build and run the check script”git clone https://github.com/George-RD/openspine.gitcd openspinenpm ci # dev tools used by the check scriptcargo build --workspace./scripts/check.sh # runs every test and check - same as CIThe check script runs all local tests and checks. This is the exact same check that runs on GitHub.
Configure a real server
Section titled “Configure a real server”- Copy
.env.exampleto.envand fill in the values. This file holds your secrets. It is ignored by Git and must never be shared. At a minimum, you need:OPENSPINE_TELEGRAM_BOT_TOKEN: Get this from @BotFather.OPENSPINE_ARTIFACT_KEY: A random 32-byte key. You can make one by runningopenssl rand -hex 32. Every private message, email, and prompt is stored encrypted with this key.- Your model provider API key (like
ANTHROPIC_API_KEY).
- Copy
openspine.docker.example.yaml(for Docker) oropenspine.example.yaml(for local running) toopenspine.yaml. Setowner.telegram_user_idto your Telegram user ID. You can find your ID by messaging @userinfobot. - Run
docker compose up --build. (For a bare-metal run, runcargo run -p openspine-kernel).
Full setup guides live in the repository:
- docs/telegram-setup.md: Setting up the Telegram control channel.
- docs/gmail-setup.md: Setting up Gmail connection and the draft command.
Try it
Section titled “Try it”Send a direct message to your bot from your Telegram owner account:
/status: Checks server status./draft <thread_id>: Fetches a Gmail thread (using the thread ID from the Gmail web URL) and drafts a reply. The reply is previewed on Telegram. Tap Approve to create the draft in Gmail./propose <kind>followed by YAML rules: Proposes a new rule, route, or policy. The rule stays inactive until you approve the exact text you see.