Skip to content

Quick start

This walks through the minimum to get a working Talon agent connected to Telegram. You’ll have a daemon running and responding to messages by the end.

Create a .env file in the project root:

Terminal window
TELEGRAM_BOT_TOKEN=your-bot-token-here

If you ran npx talonctl setup, you already have a talond.yaml. Otherwise, create one. Here’s the minimal working config:

storage:
type: sqlite
path: data/talond.sqlite
personas:
- name: assistant
model: claude-sonnet-4-6
systemPromptFile: personas/assistant/system.md
capabilities:
allow:
- channel.send:my-telegram
channels:
- name: my-telegram
type: telegram
enabled: true
config:
botToken: ${TELEGRAM_BOT_TOKEN}
allowedChatIds:
- 123456789 # replace with your Telegram user ID
bindings:
- persona: assistant
channel: my-telegram
isDefault: true
auth:
mode: subscription
logLevel: info
dataDir: data

Replace 123456789 with your actual Telegram user ID.

Terminal window
npx talonctl add-persona --name assistant

This creates personas/assistant/system.md from the built-in template. Edit it to set the agent’s tone, constraints, and any tool instructions.

Terminal window
npx talonctl migrate --config talond.yaml
Terminal window
npx talonctl doctor --config talond.yaml

All 7 checks should pass. If any fail, the output tells you what to fix.

Terminal window
node dist/index.js --config talond.yaml

You should see startup logs:

{"level":"info","msg":"daemon starting","version":"..."}
{"level":"info","msg":"channel started","channel":"my-telegram","type":"telegram"}
{"level":"info","msg":"daemon ready"}

Open Telegram and send a message to your bot. The agent should respond within a few seconds.

The terminal channel lets you chat with any persona directly from the CLI — useful for testing without setting up a messaging platform.

Add the terminal channel to your config:

channels:
- name: my-terminal
type: terminal
enabled: true
config:
port: 7700
host: 0.0.0.0
token: ${TERMINAL_TOKEN}

Add TERMINAL_TOKEN=your-secret to .env, add a binding, restart the daemon, then connect:

Terminal window
talonctl chat --host localhost --port 7700 --token your-secret

You get a rendered Markdown terminal client with a typing spinner while the agent works.