Scheduled bus arrival alerts powered by 국토교통부 TAGO OpenAPI.
This skill is designed for users running Clawdbot Gateway + Clawdbot cron. Users register rules like:
Then the system sends arrival summaries to the registering user (DM) on schedule.
> Note (MVP): stop resolution is done via stop name search (cityCode + keyword). GPS-based nearby lookup exists but may return 0 results depending on key/region.
systemctl --user 가 동작하는 환경 (systemd user service)clawdbot CLIYou must set a TAGO service key in your environment (never commit or paste it into markdown).
Recommended env var:
TAGO_SERVICE_KEYGood for quick manual tests; cron jobs will NOT inherit this unless the Gateway service has it.
export TAGO_SERVICE_KEY='...'
This is the most “set it once and forget it” flow.
Run:
python3 korea-metropolitan-bus-alerts/scripts/setup.py
If your network blocks the endpoint or TAGO returns 403 during the smoke test, you can still complete setup:
python3 korea-metropolitan-bus-alerts/scripts/setup.py --skip-smoke
It will:
TAGO_SERVICE_KEY (hidden input)~/.clawdbot/secrets/tago.env (chmod 600)(Advanced/manual) If you prefer shell scripts, korea-metropolitan-bus-alerts/scripts/set_tago_key.sh is still available, but setup.py is the recommended UX.
.env / tago.env.docker compose config or similar commands that may print env values.export TAGO_SERVICE_KEY='...'
python3 korea-metropolitan-bus-alerts/scripts/tago_bus_alert.py nearby-stops --lat 37.5665 --long 126.9780
Tell the agent something like:
If the stop name is ambiguous (e.g., opposite side of road), the agent MUST ask a follow-up question to pick the correct direction/stop candidate before creating the rule.
(Phase 2: arbitrary cron expressions)
sessionTarget: isolated) + deliver: true.references/cron_recipe.md and scripts/cron_builder.py.For integration testing (and for power users), use:
scripts/rule_wizard.py registerIt will:
1) Ask for schedule/time/routes
2) Resolve stop candidates via GPS nearby lookup (direction disambiguation)
3) Generate the job JSON
4) Optionally call clawdbot cron add to register it
Single provider only (MVP):
scripts/ for deterministic behavior.references/api_reference.md.Use scripts/tago_bus_alert.py for deterministic TAGO lookups:
nearby-stops (GPS → stop candidates)arrivals (cityCode+nodeId → arrivals; optional route filtering)共 1 个版本