1.8 KiB
Leo Disposable Test Agent
Working Target
Run a second Leo Telegram transport against https://leo.livingip.xyz/api/agents/leo/chat without touching the production @TeleoHumanBot token or teleo-agent@leo service.
Why
Production Leo is currently blocked by a Telegram getUpdates conflict from an unseen consumer. A disposable bot avoids that conflict by using a separate Telegram bot token and service instance.
Secret Boundary
Do not commit the bot token. Store it only on the VPS as:
/opt/teleo-eval/secrets/leo-test-telegram-bot-token
The file should be readable by the teleo runtime user and should not be printed in logs.
Boot
After syncing this branch or PR to the VPS:
sudo -u teleo /opt/teleo-eval/pipeline/.venv/bin/python3 \
/opt/teleo-eval/telegram/agent_runner.py --agent leo-test --validate
sudo systemctl start teleo-agent@leo-test
sudo systemctl is-active teleo-agent@leo-test
Then DM the disposable Telegram bot from a user account. Do not post into public groups for this canary.
Evidence
Collect sanitized logs only:
journalctl -u teleo-agent@leo-test --since "10 minutes ago" --no-pager
Retained proof should say:
- bot token value was not printed;
- production
teleo-agent@leowas not stopped; - disposable service name was
teleo-agent@leo-test; - public HTTP Leo route responded through the Telegram transport;
- no paid x402 spend was attempted unless separately authorized.
Tear Down
sudo systemctl stop teleo-agent@leo-test
sudo systemctl is-active teleo-agent@leo-test || true
Slack Note
Slack is the preferred long-term internal transport, but this repository does not yet include a Slack bot transport. A Slack canary should be a separate PR with a Socket Mode or Events API adapter and separate leo-slack-* secret files.