- Streaming: use claude --output-format stream-json, edit TG message
every 5s with progress, show tool use status during execution,
◎ cursor indicator while processing
- File transfer: download user uploads to ~/incoming/, scan
~/outgoing/{sid}/ for new files after claude completes
- Error handling: wrap post-auth logic in handle_inner, all errors
reply to user instead of silently failing
- Remote deploy: make deploy-hera via SSH, generate service from
template with dynamic PATH/REPO
- Service: binary installed to ~/bin/noc, WorkingDirectory=%h
- Invoke claude directly instead of ms wrapper
- Session state persisted to disk across restarts
502 B
502 B
TODO
- Streaming responses — edit message as claude output arrives instead of waiting for full completion
- Markdown formatting — parse claude output and send with TG MarkdownV2
- Timeout handling — kill claude if it hangs beyond a threshold
- Graceful shutdown on SIGTERM
/resetcommand to force new session without waiting for 5am- Rate limiting per chat
- Voice message support — STT (whisper.cpp) → text → claude
- Video/audio file transcription