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

前端工具桥 lukaiwuyi/dsh-frontend-tools

DeepSeek Harness
lukaiwuyi80 天前有提交已提供中文文档扫描:含敏感能力

把网页或桌面应用的函数注册成 Agent 可调用的工具

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/27·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 80 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 4 处,展示前 4 条)
  • 读取本地文件
    bridge/src/key-store.ts:109
    return parseRosterFile(readFileSync(file, 'utf8'))
  • 写入本地文件
    bridge/src/key-store.ts:217
    mkdirSync(dirname(this.file), { recursive: true })
  • 写入本地文件
    bridge/src/key-store.ts:218
    writeFileSync(this.file, `${JSON.stringify(registered, null, 2)}\n`)
  • 写入本地文件
    bridge/src/key-store.ts:222
    if (process.platform !== 'win32') chmodSync(this.file, 0o600)
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 注册前端函数为工具
  • 桥接服务对接多应用

DSH 插件 + 客户端 SDK:把你的 Web、Electron 或 Tauri 应用实时接到 DeepSeek Harness 智能体上——用 DSH KEY 注册前端工具,一个桥接服务对接多个应用。

README

由 DeepSeek 最新模型翻译生成
dsh-frontend-tools npm: bridge npm: client 通过回环 WebSocket 将 Web/Electron/Tauri/Node 应用实时桥接到 DeepSeek Harness (DSH) Agent —— 将你的前端工具暴露给 AI Agent。 Demo 设计初衷 大多数 Agent 工具围绕文件系统设计,而现实中数以万计的应用/系统以前端技术构建 —— Agent 无法通过读写文件触达它们。 dsh-frontend-tools 反转了这一模型:不赋予 Agent 直接访问底层数据的能力,而是让接入的应用成为人工操作的分身 —— Agent 通过应用自身的交互入口完成任务,就像坐在屏幕前的一位真人用户。 - 权限对齐 —— Agent 的能力边界与真人用户完全一致,不多一分,真源数据不会被旁路访问。 - 数据流不变 —— 所有操作仍经过应用原有的校验、联动与副作用链路。 - 交互语义保留 —— undo 栈、乐观更新等既有交互机制对 Agent 同样生效。 灵感来自 CopilotKit 的前端工具。本项目的目标:基于 DSH 底座,让任意前端应用/系统能够快速而优雅地接入 Agent。 这是什么?
展开完整文档(README 剩余 1 节)
dsh-frontend-tools

npm: bridge npm: client

通过回环 WebSocket 将 Web/Electron/Tauri/Node 应用实时桥接到 DeepSeek Harness (DSH) Agent —— 将你的前端工具暴露给 AI Agent。

Demo

设计初衷

大多数 Agent 工具围绕文件系统设计,而现实中数以万计的应用/系统以前端技术构建 —— Agent 无法通过读写文件触达它们。

dsh-frontend-tools 反转了这一模型:不赋予 Agent 直接访问底层数据的能力,而是让接入的应用成为人工操作的分身 —— Agent 通过应用自身的交互入口完成任务,就像坐在屏幕前的一位真人用户。

- 权限对齐 —— Agent 的能力边界与真人用户完全一致,不多一分,真源数据不会被旁路访问。
- 数据流不变 —— 所有操作仍经过应用原有的校验、联动与副作用链路。
- 交互语义保留 —— undo 栈、乐观更新等既有交互机制对 Agent 同样生效。

灵感来自 CopilotKit 的前端工具。本项目的目标:基于 DSH 底座,让任意前端应用/系统能够快速而优雅地接入 Agent。

这是什么?

dsh-frontend-tools 是一个双包项目,让任意 JavaScript 应用(浏览器页面、Electron 渲染进程、Tauri 应用、Node 进程)将自己的函数注册为 DSH Agent 可用的工具,并实时接收来自 Agent 的工具调用。

- dsh-frontend-tools-bridge — DSH 插件:在 DSH 内启动回环 WebSocket 服务。将应用注册的工具镜像到 ctx.tools,并将模型调用转发回去。通过 KEY 命名空间隔离支持多应用同时连接。
- dsh-frontend-tools-client — 应用端 SDK:连接桥接、注册工具、处理入站调用。除平台 WebSocket 外零运行时依赖。

┌─────────────────────┐ WebSocket (127.0.0.1) ┌──────────────────────┐
│ Your Application │ ─────────────────────────▶ │ DSH + Bridge │
│ │ ◀───────────────────────── │ (dsh-frontend- │
│ - generate KEY │ register tools / calls │ tools-bridge) │
│ - register tools │ │ - multi-app by KEY │
│ - execute calls │ │ - admin tools │
└─────────────────────┘ └──────────────────────┘

快速开始

1. 在 DSH 中安装桥接插件

在 DSH 的 cordis.yml 中添加:

plugins:
- import: dsh-frontend-tools-bridge
config:
port: 31870 # optional, default 31870
maxTools: 200 # optional, total tool budget across all apps

然后安装:

pnpm add dsh-frontend-tools-bridge

2. 在应用中安装客户端 SDK

npm install dsh-frontend-tools-client
or pnpm / yarn

3. 连接应用

import { createFrontendToolsClient, generateClientKey } from 'dsh-frontend-tools-client'

// Generate a KEY once, persist it (localStorage or similar)
const key = localStorage.getItem('dsh-key') ?? generateClientKey()
localStorage.setItem('dsh-key', key)

const client = createFrontendToolsClient({ url: 'ws://127.0.0.1:31870', key })
await client.connect()

// Register a tool
await client.registerTools([{
name: 'get_current_page',
description: 'Get information about the current page the user is viewing.',
parametersSchema: { type: 'object', properties: {} },
readOnly: true, // read-only tools run without interruption
async execute() {
return { url: location.href, title: document.title }
},
}])

// Tools WITHOUT readOnly: true are WRITE operations: every call clears
// DSH's human approval before it is forwarded to your app (fail-safe
// default — undeclared means write).

4. 在 DSH 中登记 KEY

1. 应用展示 DSH KEY 给用户(使用 buildClientKeyClipboardText() 生成可直接粘贴的文本)
2. 用户粘贴到 DSH 对话中
3. 模型调用 frontend_tools_register_client 将 KEY 登记到命名空间
4. 完成 — 应用的工具已出现在 Agent 工具列表中

完整 SDK 文档见 dsh-frontend-tools-client,桥接配置、管理工具与协议细节见 dsh-frontend-tools-bridge。

开发

pnpm install
pnpm run build # build both packages
pnpm run typecheck # type-check all sources
pnpm run test # run 175 unit tests

License

MIT
预览分享卡片长什么样 ↓lukaiwuyi/dsh-frontend-tools
分享 · DeepSeek Harness Hub
lukaiwuyi/dsh-frontend-tools

把网页或桌面应用的函数注册成 Agent 可调用的工具

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部