Skip to content

Message Feedback

pawaca edited this page Aug 30, 2026 · 1 revision

Message Feedback

Per-message rating and note sidecar — not yet installed in Edge.

No dedicated upstream documentation. Package: @deepseek-ai/dsh-message-feedback

What Upstream Provides

MessageFeedbackService is a cordis Service (extending TypertRemoteService) that lets users rate individual assistant messages with thumbs up/down and optional text notes:

  • Rating vocabulary: positive or negative, per message id.
    • Notes: optional free-text annotation attached to a rating.
    • Persistence: stored via storageDomain (not in the session event log), with per-item versioning for conflict detection.
    • Typert Remote: exposes messageFeedback/put, messageFeedback/delete, messageFeedback/list via @Remote decorators — auto-routed by TypertGatewayService.
    • Lifecycle-bound: feedback references message ids from the session log. Items are validated against the authoritative event stream.

Current Edge State

Not implemented. The dsh-message-feedback package is not in Edge's dependencies and no plugin is installed.

However, the client-side Typert remote contribution is already mounteddsh-api-remotes registers the messageFeedback namespace with three methods (put, delete, list). If the conversation UI exposes thumbs up/down buttons, clicking them would send Typert RPC requests that the gateway routes — but with no server-side MessageFeedbackService, the calls fail with service-unavailable.

Integration Path

All inject dependencies are already satisfied in Edge:

Dependency Edge Status
storageDomain Available — backed by DurableObjectStorageBackend
sessionPersistence Available — DurableObjectSessionPersistence
sessions Available — upstream SessionStore
Installation would be one ctx.plugin(MessageFeedbackService) call. The Typert gateway would auto-route the RPC. Feedback data would persist in DO KV via storageDomain. No Edge-specific adapter code needed.

Plan requirements: all plans — uses DO KV storage only.

Architecture Summary

Component Category Status
MessageFeedbackService Reuse Not installed — all deps satisfied
Typert remote (client) Reuse Already mounted in dsh-api-remotes
Typert gateway routing Reuse Auto-routed via @Remote decorators
Storage Reuse Via storageDomain → DO KV

Key observation: This is a zero-adapter-code feature. Installing the upstream plugin would immediately enable message rating — the Typert gateway, storage backend, and client-side remote are all already in place. The only missing piece is one ctx.plugin() call.

TODO

Install MessageFeedbackService. All dependencies are satisfied. One plugin install enables thumbs up/down + notes on assistant messages. Verify: (1) conversation UI renders rating buttons, (2) ratings persist across DO restart via storageDomain, (3) messageFeedback/list returns ratings on session reload.

English

中文

Clone this wiki locally