← Back to PRs

#7780: feat(telegram): add /dashboard command with inline keyboard UI

by deust132 open 2026-02-03 06:08 View on GitHub →
channel: telegram stale
## Summary - 텔레그램 `/dashboard` 명령어 추가 - 인라인 키보드 UI로 에이전트 상태 확인 가능 - 테스트 포함 ## Test plan - [x] 단위 테스트 통과 - [x] 로컬 텔레그램 봇 테스트 🤖 Generated with [Claude Code](https://claude.ai/claude-code) <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR adds a new Telegram native command `/dashboard` that sends an HTML-formatted “OpenClaw Dashboard” message with an inline keyboard, plus a `d:*` callback handler that edits the dashboard message to navigate between views (home/agents/agent detail/sessions/channels/logs). The dashboard data is sourced from the gateway `health` RPC (`probe: true`) and rendered via new view/format utilities, with unit tests covering formatters, view rendering, and basic callback handling. <h3>Confidence Score: 2/5</h3> - Not safe to merge as-is due to an authorization gap on dashboard callbacks. - The dashboard callback path is executed before the existing inline-button authorization checks, so unauthorized users may be able to trigger gateway health probes and edit the dashboard message. Other issues are smaller (error reporting clarity) and don’t block merge, but the auth bypass is a significant behavior regression for allowlist-only setups. - src/telegram/bot-handlers.ts and src/telegram/dashboard/index.ts <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> **Context used:** - Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8)) - Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=0d0c8278-ef8e-4d6c-ab21-f5527e322f13)) <!-- /greptile_comment -->

Most Similar PRs