Files
deepseek-harness/packages/client/ui-message-feedback/README.zh.md
T

4.2 KiB
Raw Blame History

description, kind
description kind
Web GUI 的逐消息反馈:已定稿助手消息动作行中的 Like/Dislike 对与可选备注;供反馈体验的用户与维护者阅读。 package-reference

@deepseek-ai/dsh-client-ui-message-feedback

English | 中文

概述

本包为 Web GUI 增加逐消息反馈:一对 Like/Dislike 按钮加一个可选备注,作为已定稿助手消息动作条的 feedback 条目贡献。它渲染在每个轮次的收尾助手消息上——多步骤轮次中较早的步骤产出工具行而非可评分正文。每个 Session 一个控制器支撑该 Session 内所有消息的控件,因此一次列表读取即可填充整段对话。反馈是 sidecar:评分与备注绝不进入会话日志、模型上下文或遥测。

目录


使用本包

ui-conversation 一起挂载本插件;Like/Dislike 对随即出现在每个轮次收尾助手消息的动作行中,位于复制与分支之间。再次点击已记录的评分会撤回反馈;切换到另一侧会保留既有备注。备注编辑器是一个锚定在其触发按钮下方的对话框浮层,因此无论编辑器是否打开,该行都保持单行。

失败

评分或列表加载失败在行内展示;备注保存失败在浮层内展示,面板保持打开以便修正草稿。只有已定稿的消息能到达该槽位——被中断冻结的部分输出不带 messageId,因此没有反馈控件。


理解实现

实现细节——点击展开

本包贡献 conversation.chat.assistant-actionsfeedback 条目(order 10),由 ui-conversation 声明并渲染在已定稿助手消息的 IconActions 行内。每个 Session 一个 MessageFeedbackController 支撑该 Session 内所有消息的控件,因此一次 messageFeedback.list 读取即可填充整段对话;该读取延迟到首次 hover 或 focus 才发起,而非挂载时触发。变更经 ctx.remote.messageFeedback 提交,按条目的比较并交换由宿主负责。每次 putdelete 都携带本控制器最后观察到的 versionversion-conflict 响应带回权威条目,因此竞争失败时直接用该响应本身对账,无需重新拉取。变更按 Session 串行,排队中的操作总是与已提交的版本比较。


进一步探索

当反馈面不够用时阅读以下页面。它们从浏览器条带进入 sidecar 后端与会话外壳。


模型体验

无。反馈是 sidecar,不进入 append-only 的 Session 日志、模型上下文或遥测;任何评分与备注对模型都不可见。

KV Cache 影响

无;任何反馈变更都不触碰历史尾部。

已知限制与延期工作

这些限制界定了当前反馈表面。它们是当前包约束,不是通用评分对比或任务积压。

  • 备注大小是宿主策略——部署方配置 maxNoteBytesWeb bundle 中为 8192),超长备注由宿主以 note-too-large 拒绝。编辑器不预先校验该上限,因此超长备注在保存时才失败,而不是在输入过程中。
  • 无跨标签页推送——另一个标签页的评分要等到重连或下一次冲突响应才可见,不会立即出现;该 sidecar 不发布实时帧。
  • 仅限对话视图——trajectory 与 waterfall 视图不渲染反馈控件,尽管它们的助手节点也带有相同的 messageId

开发备注

维护者的工作上下文——点击展开

无。