feat: add streaming DingTalk AI cards #1

Merged
zheromiku merged 10 commits from feature/dingtalk-ai-card-streaming into feature/dingtalk-image-ingress 2026-07-21 00:11:25 +08:00
Owner

Summary

  • add DingTalk AI Card create/update/finalize lifecycle with Markdown fallback
  • stream cumulative WeKnora answers into cards and fail closed on empty terminal answers
  • expose only safe progress metadata for query understanding, retrieval, references, and answer stages
  • coalesce card updates asynchronously at 500 ms so DingTalk I/O does not block WeKnora SSE
  • finalize success, error, and timeout paths; label retrieval counts as related results rather than documents

Verification

  • go test ./db/migrations ./internal/weknora ./internal/qa ./internal/store/postgres ./internal/channels/dingtalk ./cmd/dobotai -count=1
  • production health check passed after atomic binary deployment
  • DingTalk verified: progress stages visible, answer streams, final state exits processing, no prolonged replay

Safety

  • no secrets or raw thinking/tool payloads are logged or rendered
  • no database schema or WeKnora source changes
  • this PR does not alter the Gitea Runner configuration
## Summary - add DingTalk AI Card create/update/finalize lifecycle with Markdown fallback - stream cumulative WeKnora answers into cards and fail closed on empty terminal answers - expose only safe progress metadata for query understanding, retrieval, references, and answer stages - coalesce card updates asynchronously at 500 ms so DingTalk I/O does not block WeKnora SSE - finalize success, error, and timeout paths; label retrieval counts as related results rather than documents ## Verification - `go test ./db/migrations ./internal/weknora ./internal/qa ./internal/store/postgres ./internal/channels/dingtalk ./cmd/dobotai -count=1` - production health check passed after atomic binary deployment - DingTalk verified: progress stages visible, answer streams, final state exits processing, no prolonged replay ## Safety - no secrets or raw thinking/tool payloads are logged or rendered - no database schema or WeKnora source changes - this PR does not alter the Gitea Runner configuration
zheromiku added 9 commits 2026-07-20 23:45:04 +08:00
zheromiku added 1 commit 2026-07-21 00:08:16 +08:00
zheromiku merged commit 4c3b72f8ee into feature/dingtalk-image-ingress 2026-07-21 00:11:25 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Weknora/dobotai-platform#1