Files
owoandCursor c2c0db7597 feat: remote-control live DSH Web sessions from Telegram
Attach via /sessions picker instead of creating parallel agents; mirror the same session trajectory to phone and Web (Codex-style remote).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-14 17:11:13 +08:00

30 lines
1.0 KiB
Markdown

# Design: Telegram remote control for live DSH sessions
Date: 2026-08-14
Status: Approved (ship MVP)
## Goal
Phone Telegram remote-controls **live** DeepSeek Harness agents in the same `dsh web` process (Codex-style). Web session is source of truth; Telegram attaches — does **not** create parallel agents.
## MVP
- Auth allowlist + long poll
- `/sessions` lists `ctx.agents.list()` / `roots()` with inline keyboard
- Bind chat → live `Agent`; plain text → `agent.followup`
- Mirror `session/event` (`turn/start`, `assistant/message`) to all Telegram chats bound to that session id
- `/unbind` clears binding only (never dispose host agent)
- Empty live list → prompt to open a Web conversation first
## Non-goals (later)
- Disk resume / history search
- Auto-create parallel agents
- Streaming edit-in-place, media, webhook
## Binding rules
- One Telegram chat → at most one bound agent; re-select replaces
- Multiple chats may bind the same live agent (all receive mirrors)
- On `stop()`: clear bindings only; do not dispose live agents