🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

工具自有渲染 Chinesezjc/dsh-tool-owned-render

DeepSeek Harness
Chinesezjc76 天前有提交已提供中文文档扫描:未发现敏感能力

让每个工具自行注册并组合自己的结果卡片

28.6/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Chinesezjc/dsh-tool-owned-render
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

写入剪贴板(不计风险)
查看扫描证据(共 1 处,展示前 1 条)
  • 写入剪贴板
    src/primitives.ts:208
    void writeClipboard(props.text).then(
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 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
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 工具自行注册结果卡片
  • 组合共享布局原语
  • 去中心化渲染

工具自有渲染的设计说明与交互原型:每个工具自己负责结果呈现,组合共享布局原语,而不是走中心化的 render-kind 联合类型。

README

由 DeepSeek 最新模型翻译生成
tool-owned-render 一份设计说明与交互式原型,旨在让 agent 聊天 UI 中的工具结果渲染变为工具自有:每个工具在带键的渲染槽上自行注册自己的 React 组件,并组合共享的布局原语,而不是由一个中心骨架拥有一个渲染类型联合。 设计 两条原则决定了该模型: - 工具的呈现必须能够被独立更改。 - 工具作者保留重构自己呈现的权利。 带有共享渲染类型 switch 的中心骨架在这两点上都会失败。因此,没有中心渲染分发,也没有渲染类型联合。取而代之的是三个布局原语: - ToolCard —— 卡片框架。 - Segment —— 核心的 IN/OUT 单元。 - Group —— 可选;在一个状态灯下捆绑多个 Segment,用于多次执行的工具。 外加一个作为辅助提供的观察式状态推导(而非强加),以及工具作者的两条路径:编写自己的 React,或获得通用的零代码回退。 阅读说明 - English - 中文 该说明涵盖原语、状态灯推导、两条路径、可文本重建的数据边界、延迟扩展点、考虑过的替代方案,以及分阶段迁移计划。 原型 prototype/unified-list-of-blocks-mock.html 是一个独立的交互式原型——直接在浏览器中打开,无需构建步骤。它涵盖所有工具形态、Group 场景、压力场景,以及两条创作路径。
展开完整文档(README 剩余 1 节)
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 行——被删除了,因为该文件已不复存在;其周围的论断本身仍然成立。
预览分享卡片长什么样 ↓Chinesezjc/dsh-tool-owned-render
分享 · DeepSeek Harness Hub
Chinesezjc/dsh-tool-owned-render

让每个工具自行注册并组合自己的结果卡片

这是你的仓库?认领条目

回到顶部