add streaming responses, file transfer, remote deploy

- 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
This commit is contained in:
Fam Zheng
2026-04-05 08:20:32 +01:00
parent db8ff94f7c
commit 4d88e80f1c
5 changed files with 402 additions and 44 deletions

View File

@@ -6,7 +6,7 @@ Wants=network-online.target
[Service]
Type=simple
WorkingDirectory=%h
ExecStart=@REPO@/target/release/noc
ExecStart=%h/bin/noc
Restart=on-failure
RestartSec=5
Environment=RUST_LOG=noc=info