返回顶部
k

korea-metropolitan-bus-alerts

Create and manage scheduled bus arrival alerts using Korea TAGO (국토교통부) OpenAPI and Clawdbot cron. Use when a user wants to register weekday/weekend schedules like "평일 오전 7시, <정류소명>, <노선들>" and receive automatic arrival summaries via their configured Gateway messaging (DM only).

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
1,709
下载量
3
收藏
概述
安装方式
版本历史

korea-metropolitan-bus-alerts

# 수도권 버스 도착 알림 (Clawdbot cron) Scheduled bus arrival alerts powered by **국토교통부 TAGO OpenAPI**. This skill is designed for users running **Clawdbot Gateway + Clawdbot cron**. Users register rules like: - "평일 오전 7시, 인천 한빛초등학교, 535" - "평일 오후 5시30분, 고양 향동초등학교, 730, 503" 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. ## Prerequisites - A running Clawdbot Gateway (Telegram/Slack/etc. already configured) - Clawdbot cron enabled/usable - A data.go.kr API key for TAGO - (setup 자동화 사용 시) `systemctl --user` 가 동작하는 환경 (systemd user service) - (rule_wizard에서 cron 등록까지 하려면) `clawdbot` CLI ## One-time setup: TAGO API key You must set a TAGO service key in your environment (never commit or paste it into markdown). Recommended env var: - `TAGO_SERVICE_KEY` ### Option A (fastest): one-off test in your current shell Good for quick manual tests; **cron jobs will NOT inherit this** unless the Gateway service has it. ```bash export TAGO_SERVICE_KEY='...' ``` ### Option B (recommended): one-command setup (auto-detect systemd unit) This is the most “set it once and forget it” flow. Run: ```bash 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: ```bash python3 korea-metropolitan-bus-alerts/scripts/setup.py --skip-smoke ``` It will: - Auto-detect your Gateway systemd user service (supports custom unit names) - Prompt for `TAGO_SERVICE_KEY` (hidden input) - Save it to `~/.clawdbot/secrets/tago.env` (chmod 600) - Write a systemd override to load that env file - Restart the Gateway - Run a small TAGO smoke test (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. ### Safety notes - Never commit `.env` / `tago.env`. - Avoid sharing outputs of `docker compose config` or similar commands that may print env values. ## Quick start ### A) Test TAGO connectivity (manual) ```bash export TAGO_SERVICE_KEY='...' python3 korea-metropolitan-bus-alerts/scripts/tago_bus_alert.py nearby-stops --lat 37.5665 --long 126.9780 ``` ### B) Register an alert rule (interactive) Tell the agent something like: - "평일 07:00, 인천 한빛초등학교, 535 알림 등록해줘" 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. ### C) List rules - "버스 알림 목록 보여줘" ### D) Delete a rule - "버스 알림 3번 삭제해줘" (confirm before delete) ### E) Test a rule (run now) - "방금 등록한 규칙 테스트해줘" (one-time message) ## Supported schedule expressions (MVP) - 매일 HH:MM - 평일 HH:MM - 주말 HH:MM (Phase 2: arbitrary cron expressions) ## Cron implementation notes - Use isolated cron jobs (`sessionTarget: isolated`) + `deliver: true`. - Delivery is **DM-only** to the registering user. - See `references/cron_recipe.md` and `scripts/cron_builder.py`. ### Interactive registration helper (server-side) For integration testing (and for power users), use: - `scripts/rule_wizard.py register` It 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 ## Data source Single provider only (MVP): - 정류장 조회: BusSttnInfoInqireService (15098534) - 도착 조회: ArvlInfoInqireService (15098530) ## Safety / Security - Never write API keys/tokens/passwords into markdown files. - For browser automation on logged-in pages: require explicit user confirmation. - For destructive operations (cron delete): confirm before acting. - DM-only delivery (MVP): do not broadcast to groups/channels. ## Implementation notes - Prefer scripts under `scripts/` for deterministic behavior. - Put detailed API field mappings in `references/api_reference.md`. ### Deterministic helper script Use `scripts/tago_bus_alert.py` for deterministic TAGO lookups: - `nearby-stops` (GPS → stop candidates) - `arrivals` (cityCode+nodeId → arrivals; optional route filtering)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 korea-metropolitan-bus-alerts-1776379226 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 korea-metropolitan-bus-alerts-1776379226 技能

通过命令行安装

skillhub install korea-metropolitan-bus-alerts-1776379226

下载 Zip 包

⬇ 下载 korea-metropolitan-bus-alerts v1.0.2

文件大小: 20.69 KB | 发布时间: 2026-4-17 15:29

v1.0.2 最新 2026-4-17 15:29
Declare required env/bins (TAGO_SERVICE_KEY, systemctl; clawdbot optional) + clarify prerequisites

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部