# DeepSeek Harness A2UI 这是一个独立的 DeepSeek Harness 插件,用结构化、可回放的界面改善用户与智能体之间的交互,无需修改 Harness 核心代码。 v0.1 提供四类受控界面:多字段表单、带说明的选择、审核确认、只读进度。模型只能提交受限制的模板,不能注入 HTML、JavaScript、CSS 或远程资源。用户点击按钮后,插件只把结构化意图返回给模型;真正的文件、命令、网络等操作仍必须通过 Harness 原有工具、审批和策略执行。 ## 安装 需要 DeepSeek Harness `0.1.0-rc.5` 或兼容的后续 0.1 预发布版本。v0.1.1 已通过当前 `0.1.0-rc.5` 源码环境验证,并继续兼容此前测试过的 `0.1.1-rc.2` 契约。在 npm 正式发布前,可克隆仓库并生成安装包: ```bash npm ci npm run check npm pack dsh plugin --profile web add ./chenjie1129-dsh-a2ui-plugin-0.1.1.tgz ``` 安装后重启对应 profile。插件会自动挂载 host 工具和 React 18 网页卡片。 ## 稳定性设计 - 卡片可由持久化的 Tool 参数和结果重新构建,刷新页面后仍可恢复。 - 每次提交都绑定 session、Tool call、surface、组件来源和预先声明的 action。 - 第一次合法提交生效;重复、过期、跨 session、超大或包含未知字段的提交都会被拒绝。 - host 进程重启后,等待中的交互会被中断,不会猜测或重复用户操作。 - 每个交互都必须提供完整的 `fallback_text`,便于原始日志或通用 Tool 视图阅读。 ## 配置 ```yaml actionTimeoutMs: 600000 maxPayloadBytes: 65536 authority: loopback ``` 默认仅允许本机回环访问。只有明确通过 Harness 的 trusted host 提供网页服务时才应选择 `trusted-host`;它不是用户身份认证。 ## 边界 本插件使用 A2UI 0.9.1 的 `v0.9` 消息封装和官方 Basic Catalog 的受控子集,但不是任意第三方 A2UI catalog 的完整渲染器,也不宣称兼容 AG-UI 或 A2A。单选字段遵循 `ChoicePicker` 数据格式,返回包含零个或一个值的字符串数组。Tool 参数和用户提交会进入模型可见的持久记录,因此严禁用它收集密码、API Key、Token、恢复码等秘密。