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

广场工作台 ai-tool-labs/dsh-squares

DeepSeek Harnessv0.1.0
ai-tool-labs23 天前有提交已提供中文文档扫描:含敏感能力

在侧边栏统一管理插件、专家、技能与连接器

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-squares
npm 源 · dsh-squares 的发布者账号已校验与本仓库一致

状态速览

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

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

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-squares @ 0.1.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/14 18:56:24

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

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

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 33 处,展示前 31 条)
  • 发起网络请求
    build/client.js:54
    const response = await fetch(url, {
  • 写入剪贴板
    build/client.js:1971
    await navigator.clipboard.writeText(text);
  • 发起网络请求
    build/catalog.js:57
    response = await fetch(url, {
  • 发起网络请求
    build/catalog.js:99
    response = await fetch(url, {
  • 写入本地文件
    build/catalog.js:121
    await mkdir(dir, { recursive: true });
  • 写入本地文件
    build/catalog.js:123
    await writeFile(join(dir, name), JSON.stringify(entry), 'utf8');
  • 读取本地文件
    build/catalog.js:138
    const entry = JSON.parse(await readFile(join(dir, name), 'utf8'));
  • 读取本地文件
    build/connectors.js:275
    const dir = existsSync(join(process.cwd(), 'cordis.yml')) ? process.cwd() : undefined;
  • 读取本地文件
    build/connectors.js:282
    text = await readFile(join(dir, file), 'utf8');
  • 读取本地文件
    build/skills.js:31
    await access(path, constants.F_OK);
  • 读取本地文件
    build/skills.js:117
    const text = await readFile(target.path, 'utf8');
  • 写入本地文件
    build/skills.js:167
    await mkdir(dir, { recursive: true });
  • 读取本地文件
    build/skills.js:181
    const text = await readFile(target.path, 'utf8');
  • 读取本地文件
    build/skills.js:199
    const text = await readFile(target.path, 'utf8');
  • 写入本地文件
    build/skills.js:216
    await mkdir(trashDir, { recursive: true });
  • 写入本地文件
    build/skills.js:221
    await rename(source, destination);
  • 写入本地文件
    build/skills.js:361
    await mkdir(dir, { recursive: true });
  • 写入本地文件
    build/skills.js:366
    await mkdir(dirname(target), { recursive: true });
  • 读取本地文件
    build/skills.js:429
    entries = await readdir(root);
  • 读取本地文件
    build/skills.js:444
    const info = await stat(candidate);
  • 写入本地文件
    build/skills.js:487
    await writeFile(tmp, bytes);
  • 读取本地文件
    build/catalog-export.js:90
    text = await readFile(this.filePath, 'utf8');
  • 写入本地文件
    build/catalog-export.js:296
    await mkdir(dirname(this.catalogPath), { recursive: true });
  • 写入本地文件
    build/catalog-export.js:297
    await writeFile(this.catalogPath, `${JSON.stringify(catalog, null, 2)}\n`, 'utf8');
  • 读取本地文件
    build/catalog-export.js:309
    const parsed = JSON.parse(await readFile(this.catalogPath, 'utf8'));
  • 读取本地文件
    build/catalog-export.js:341
    const entries = await readdir(dir, { withFileTypes: true });
  • 读取本地文件
    build/catalog-export.js:355
    const info = await stat(full);
  • 读取本地文件
    build/catalog-export.js:359
    out.push({ path: relative, text: await readFile(full, 'utf8') });
  • 读取本地文件
    build/catalog-export.js:362
    out.push({ path: relative, base64: Buffer.from(await readFile(full)).toString('base64') });
  • 读取本地文件
    build/plugins.js:129
    manifest = JSON.parse(await readFile(join(profileDir, 'package.json'), 'utf8'));
  • 读取本地文件
    build/plugins.js:218
    const text = await readFile(join(profileDir, 'node_modules', '.modules.yaml'), 'utf8');
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-attachment@deepseek-ai/dsh-llm@deepseek-ai/dsh-mcp-client@deepseek-ai/dsh-scope@deepseek-ai/dsh-subprocess@deepseek-ai/dsh-timeout@deepseek-ai/dsh-tools@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-skill@deepseek-ai/dsh-storage-domain
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 广场:侧边栏一站式管理插件 / 专家 / 技能 / 连接器(Web 端与桌面端通用)。

README

由 DeepSeek 最新模型翻译生成
dsh-squares DSH(DeepSeek Harness)的一体化工作台插件:在 Web GUI 侧边栏新增一个「广场(Square)」全局面板,用同一个页面管理 技能 Skill / 专家 Expert / 连接器 Connector(MCP)/ 插件 Plugin。 Web 端(dsh web)与桌面端(DeepSeek Harness.app)共用同一份代码与构建产物。 侧边栏 →「广场」面板:四个页签默认展示广场(官方/社区目录),右上角「我的专家 / 我的技能 / 我的 MCP / 我的插件」进入子页面管理本地内容,子页面顶部「返回广场」回到广场。 1. 安装 已发布到 npm 与 GitHub: dsh plugin --profile web add dsh-squares # 从 npm 安装 dsh plugin --profile web add github:ai-tool-labs/dsh-squares # 或 GitHub 桌面端:打开侧边栏「插件」面板 → 点击「添加插件」 → 输入框输入 "dsh-squares" → 点击安装安装后重启 harness 生效(桌面端重启 App;Web 端重启 dsh web) 装好后侧边栏出现「广场」一行,点击即打开面板。
展开完整文档(README 剩余 1 节)
dsh-squares

DSH(DeepSeek Harness)的一体化工作台插件:在 Web GUI 侧边栏新增一个「广场(Square)」全局面板,用同一个页面管理 技能 Skill / 专家 Expert / 连接器 Connector(MCP)/ 插件 Plugin。
Web 端(dsh web)与桌面端(DeepSeek Harness.app)共用同一份代码与构建产物。

侧边栏 →「广场」面板:四个页签默认展示广场(官方/社区目录),右上角「我的专家 / 我的技能 / 我的 MCP / 我的插件」进入子页面管理本地内容,子页面顶部「返回广场」回到广场。

1. 安装

已发布到 npm 与 GitHub:

dsh plugin --profile web add dsh-squares # 从 npm 安装
dsh plugin --profile web add github:ai-tool-labs/dsh-squares # 或 GitHub
桌面端:打开侧边栏「插件」面板 → 点击「添加插件」 → 输入框输入 "dsh-squares" → 点击安装安装后重启 harness 生效(桌面端重启 App;Web 端重启 dsh web)

装好后侧边栏出现「广场」一行,点击即打开面板。

2. 截图

「广场」面板在 Web GUI 侧边栏中的效果图:

广场示例

3. 开发

pnpm --filter dsh-squares typecheck # 宿主 + 客户端两套 tsconfig
pnpm --filter dsh-squares build # tsc(宿主) + tsc(客户端 .d.ts) + esbuild bundle
pnpm --filter dsh-squares smoke # 宿主冒烟(真实 Cordis 生命周期 + 文件系统 + 路由)
pnpm --filter dsh-squares test:routes # 路由集成(专家/连接器写路径)
pnpm --filter dsh-squares check:client # bundle 形态 / id / 外部依赖白名单 + 模拟 loader

从源码构建安装(开发者)

pnpm --filter dsh-squares build # 构建(工作区先 pnpm install)
dsh plugin --profile web add /绝对路径/dsh-squares # 2A) Web profile
2B) Desktop:profile 由 Electron 独占,手工写进清单再用 pnpm 建链
python3 - <<'PY'
import json, pathlib
p = pathlib.Path.home() / '.dsh/profiles/desktop/package.json'
d = json.loads(p.read_text())
d.setdefault('dependencies', {})['dsh-squares'] = 'link:/绝对路径/packages/dsh-squares'
bundles = d['dsh']['profile']['bundles']
if 'dsh-squares' not in bundles:
bundles.append('dsh-squares')
p.write_text(json.dumps(d, indent=2) + '\n')
PY
cd ~/.dsh/profiles/desktop && CI=true pnpm install
3) 重启 harness(桌面端重开 App;Web 端重启 dsh web)
预览分享卡片长什么样 ↓ai-tool-labs/dsh-squares
分享 · DeepSeek Harness Hub
ai-tool-labs/dsh-squares

在侧边栏统一管理插件、专家、技能与连接器

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