it0/packages
hailin 2d0bdbd27f feat(agent): voice-triggered DingTalk binding + GET instances by user
- Add GET /api/v1/agent/instances/user/:userId endpoint so Claude can
  look up the caller's agent instances without knowing the ID upfront
- Update SystemPromptBuilder DingTalk section with centralized binding
  flow (one-time code via iAgent DingTalk bot, no per-instance creds)
- VoiceSessionController.startVoiceSession now extracts userId from JWT
  and builds a full iAgent system prompt (userId + DingTalk instructions)
  so Claude knows who is speaking and how to call the binding API
- VoiceSessionManager.executeTurn now uses the session's stored system
  prompt (base context + voice rules) and allows the Bash tool so Claude
  can call internal APIs via wget during voice conversations

User flow: speak "帮我绑定钉钉" → Claude lists instances → generates
code via POST /api/v1/agent/channels/dingtalk/bind/:id → speaks code
letter-by-letter → user sends code in DingTalk → binding completes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 08:49:13 -07:00
..
gateway feat(notification): 完整站内消息推送体系 (Phase 1-4) 2026-03-07 22:33:40 -08:00
openclaw-bridge fix(openclaw-bridge): use regex replace for base64url (ES2020 compat) 2026-03-08 07:40:56 -07:00
services feat(agent): voice-triggered DingTalk binding + GET instances by user 2026-03-08 08:49:13 -07:00
shared feat(dingtalk): unified DingTalk bot router with binding flow 2026-03-08 08:12:27 -07:00