DeepSeek Harness Hub
← 返回列表

Chinesezjc/dsh-tool-owned-render

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

一份设计说明与交互式原型,旨在让 agent 聊天 UI…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/20 · 已提供中文文档

# 工具自有渲染的设计说明与交互原型:每个工具拥有自己的结果呈现,通过组合共享布局原语,而不是采用中心化的渲染类型联合。 > 本翻译将英文技术设计说明转换为简体中文,同时保留所有 Markdown 语法、代码、命令、标识符和 URL 不变。

综合分
28.6
GitHub 分
28.6
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Chinesezjc/dsh-tool-owned-render
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-tool
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

tool-owned-render

一份设计说明与交互式原型,旨在让 agent 聊天 UI 中的工具结果渲染变为工具自有:每个工具在带键的渲染槽上自行注册自己的 React 组件,并组合共享的布局原语,而不是由一个中心骨架拥有一个渲染类型联合。

设计

两条原则决定了该模型:

- 工具的呈现必须能够被独立更改。
- 工具作者保留重构自己呈现的权利。

带有共享渲染类型 switch 的中心骨架在这两点上都会失败。因此,没有中心渲染分发,也没有渲染类型联合。取而代之的是三个布局原语:

- ToolCard —— 卡片框架。
- Segment —— 核心的 IN/OUT 单元。
- Group —— 可选;在一个状态灯下捆绑多个 Segment,用于多次执行的工具。

外加一个作为辅助提供的观察式状态推导(而非强加),以及工具作者的两条路径:编写自己的 React,或获得通用的零代码回退。

阅读说明

- English
- 中文

该说明涵盖原语、状态灯推导、两条路径、可文本重建的数据边界、延迟扩展点、考虑过的替代方案,以及分阶段迁移计划。

原型

prototype/unified-list-of-blocks-mock.html 是一个独立的交互式原型——直接在浏览器中打开,无需构建步骤。它涵盖所有工具形态、Group 场景、压力场景,以及两条创作路径。

工具自有渲染,深色与浅色:

tool-owned render, dark

tool-owned render, light

两条路径——工具组合自己的 React,与通用的零代码回退:

two paths

实现

src/ 是一个基于此设计构建的可运行 DSH 客户端插件:原语(ToolCard/Segment/Group)、观察推导的状态灯,以及为 read、bash、write/edit、grep/glob 和 web_search/web_fetch 接管带键的 tool.call.toolview 槽的注册器。

PLUGIN.md 对其进行了说明:每个注册器渲染什么、安装与分层、接管语义,以及需要宿主更改且无法从插件完成的四件事。

npm ci            # installs from package-lock.json
npm test          # 69 unit tests
npm run bundle    # build lib/index.js, lib/index.d.ts, lib/client.js

每张卡片都针对真实服务器和真实模型轮次进行了验证,而不仅仅是在单元测试中。

状态

设计说明是一份提案。src/ 中的插件实现了其客户端的一半并且可以运行;说明所要求的宿主侧更改不属于其中,PLUGIN.md 明确列出了它们。

背景
该笔记的论证引用源文件和行号作为证据。这些引用链接到 deepseek-ai/deepseek-harness,并固定到提交 47f9438,以便在该仓库推进时行锚点仍保持准确。

该笔记最初是针对一个内部检出编写的,其包布局有所不同,因此当引用被重新指向时,路径也做了重新映射:packages/bash/* 和 packages/pty/tool-bash-persistent 现在位于 packages/shell/ 下,packages/pty/tool-pty 现在是 packages/terminal/tool-terminal,而 packages/self-modification/tool-cordis 现在位于 packages/extensions/ 下。有一条引用——一条支持客户端合成的 interrupted 代码的 history-fold.ts 行——被删除了,因为该文件已不复存在;其周围的论断本身仍然成立。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群