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

T专家名册 jiuaiwo/dsh-expert

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

T专家 — DeepSeek Harness 插件:22 分类 / 636 位专家名册中文名与简介全量覆盖,@…

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)
查看扫描证据(共 60 处,展示前 46 条)
  • 读取本地文件
    lib/index.js:467
    const mtimeOf = (path) => stat(path).then((info) => info.mtimeMs).catch(() => 0);
  • 读取本地文件
    lib/index.js:804
    hasBin: (info?.dirs ?? []).includes("bin") || existsSync(join(expert.packDir, "bin")),
  • 删除本地文件
    lib/index.js:1057
    await rmdir(path);
  • 读取本地文件
    lib/index.js:1089
    const buffer = await readFile(candidate).catch(() => undefined);
  • 写入剪贴板
    lib/client.js:20945
    await navigator.clipboard.writeText(text);
  • 读取本地文件
    lib/catalog.js:83
    entries = await readdir(root, { withFileTypes: true });
  • 读取本地文件
    lib/catalog.js:92
    files = await readdir(join(root, entry.name), { withFileTypes: true });
  • 读取本地文件
    lib/catalog.js:185
    return existsSync(join(dir, PACK_MARKER)) && existsSync(join(dir, PACK_PERSONA));
  • 读取本地文件
    lib/catalog.js:193
    entries = readdirSync(dir, { withFileTypes: true });
  • 读取本地文件
    lib/catalog.js:228
    entries = readdirSync(root, { withFileTypes: true });
  • 读取本地文件
    lib/catalog.js:254
    const entries = await readdir(dir, { withFileTypes: true });
  • 写入本地文件
    lib/catalog.js:656
    await mkdir(dirname(path), { recursive: true });
  • 写入本地文件
    lib/catalog.js:658
    await writeFile(temp, text, "utf8");
  • 写入本地文件
    lib/catalog.js:659
    await rename(temp, path);
  • 删除本地文件
    lib/catalog.js:666
    await unlink(path);
  • 读取本地文件
    lib/fetch-assets.js:44
    const text = await readFile(path, "utf8").catch(() => undefined);
  • 读取本地文件
    lib/fetch-assets.js:213
    const text = await readFile(path, "utf8").catch(() => undefined);
  • 写入本地文件
    lib/fetch-assets.js:235
    await writeFile(
  • 读取本地文件
    lib/fetch-assets.js:263
    const marker = await readFile(join(packDir, ASSETS_MARKER), "utf8").catch(() => undefined);
  • 写入本地文件
    lib/fetch-assets.js:317
    writeFileSync(tmp, buffer);
  • 删除本地文件递归
    lib/fetch-assets.js:320
    rmSync(join(packDir, dir), { recursive: true, force: true });
  • 执行外部命令固定命令
    lib/fetch-assets.js:322
    const res = spawnSync("tar", ["-xzf", tmp, "-C", packDir], { encoding: "utf8" });
  • 删除本地文件
    lib/fetch-assets.js:327
    rmSync(tmp, { force: true });
  • 读取本地文件
    lib/fetch-assets.js:350
    if (existsSync(packDir) !== true) {
  • 写入本地文件
    lib/fetch-assets.js:368
    await writeFile(
  • 删除本地文件递归
    lib/fetch-assets.js:387
    rmSync(join(packDir, dir), { recursive: true, force: true });
  • 删除本地文件
    lib/fetch-assets.js:389
    await rm(join(packDir, ASSETS_MARKER), { force: true });
  • 读取本地文件
    lib/fetch-assets.js:440
    existsSync(join(packDir, match)) ? `${root}${match}` : match,
  • 读取本地文件
    lib/bootstrap.js:88
    for (const entry of readdirSync(dir, { withFileTypes: true })) {
  • 读取本地文件
    lib/bootstrap.js:113
    if (!existsSync(from)) continue;
  • 读取本地文件
    lib/bootstrap.js:120
    if (!existsSync(from)) continue;
  • 读取本地文件
    lib/bootstrap.js:184
    if (!existsSync(from) || !existsSync(targetDir)) return [];
  • 读取本地文件
    lib/bootstrap.js:196
    const raw = JSON.parse(readFileSync(path, "utf8"));
  • 读取本地文件
    lib/bootstrap.js:211
    const pkg = JSON.parse(readFileSync(join(snapshotDir, "..", "package.json"), "utf8"));
  • 写入本地文件
    lib/bootstrap.js:229
    writeFileSync(tmp, text);
  • 写入本地文件
    lib/bootstrap.js:230
    renameSync(tmp, path);
  • 写入本地文件
    lib/bootstrap.js:285
    mkdirSync(home, { recursive: true });
  • 写入本地文件
    lib/bootstrap.js:292
    mkdirSync(dirname(to), { recursive: true });
  • 读取本地文件
    lib/skill.js:54
    return readFileSync(path, "utf8");
  • 读取本地文件
    lib/skill.js:100
    if (existsSync(join(candidate, "tz.sh"))) return candidate;
  • 读取本地文件
    lib/skill-gate/discover.js:35
    entries = await readdir(root.path, { withFileTypes: true });
  • 读取本地文件
    lib/skill-gate/discover.js:85
    raw = await readFile(path, "utf8");
  • 读取本地文件
    lib/skill-gate/store.js:63
    return parseStore(await readFile(path, "utf8"), path);
  • 写入本地文件
    lib/skill-gate/store.js:78
    await mkdir(dirname(path), { recursive: true });
  • 写入本地文件
    lib/skill-gate/store.js:80
    await writeFile(tmp, body, "utf8");
  • 写入本地文件
    lib/skill-gate/store.js:81
    await rename(tmp, path);
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-input-trigger@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按分类召唤专家子代理
  • 并行处理多领域任务
  • @菜单召唤子代理

T专家 — DeepSeek Harness 插件:22 分类 / 623 位专家名册(中文名与简介全量覆盖),@ 菜单召唤子代理

README

由 DeepSeek 最新模型翻译生成
T专家(dsh-expert) 给 DeepSeek Harness 用的专家名册:22 个分类 / 636 位专家,每位都有中文名与简介。 选中一位,它会以完整人格作为子代理跑一轮,把结果交回来。名册里 22 个分类、636 位专家全部随包分发,中文名与简介全量覆盖。 安装 DSH Web / CLI: dsh plugin --profile web add dsh-expert DSH Desktop:在插件市场里搜 dsh-expert 安装。 装完重启 DSH 生效。要求 DSH 宿主 >=0.1.5-rc.1。 怎么用 | 想做什么 | 怎么做 | | 召唤一位专家 | 输入框打 @ → 按分类挑一位 → 它作为引用 chip 进入本轮对话 | | 让模型自己挑 | 直接说「让 XX 专家看看」,模型会调 summon_t_expert | | 一次要多位 | 模型调 summon_t_experts(最多 8 位并行,部分失败仍返回成功的结果) | | 看名册 / 建自己的专家 | 插件列表 → T专家 的三个标签:专家(看提示词、新建自建专家)、分类(自建分类增删改)、技能(模型可调用技能的开关) | 模型可调用的三个工具: | 工具 | 作用 |
展开完整文档(README 剩余 1 节)
T专家(dsh-expert)

给 DeepSeek Harness 用的专家名册:22 个分类 / 636 位专家,每位都有中文名与简介。

选中一位,它会以完整人格作为子代理跑一轮,把结果交回来。名册里 22 个分类、636 位专家全部随包分发,中文名与简介全量覆盖。

安装

DSH Web / CLI:

dsh plugin --profile web add dsh-expert

DSH Desktop:在插件市场里搜 dsh-expert 安装。

装完重启 DSH 生效。要求 DSH 宿主 >=0.1.5-rc.1。

怎么用

| 想做什么 | 怎么做 |
| 召唤一位专家 | 输入框打 @ → 按分类挑一位 → 它作为引用 chip 进入本轮对话 |
| 让模型自己挑 | 直接说「让 XX 专家看看」,模型会调 summon_t_expert |
| 一次要多位 | 模型调 summon_t_experts(最多 8 位并行,部分失败仍返回成功的结果) |
| 看名册 / 建自己的专家 | 插件列表 → T专家 的三个标签:专家(看提示词、新建自建专家)、分类(自建分类增删改)、技能(模型可调用技能的开关) |

模型可调用的三个工具:

| 工具 | 作用 |
| list_t_experts | 列出已启用专家的分类与数量;传分类名可列出该分类的专家 |
| summon_t_expert | 召唤 1 位专家 |
| summon_t_experts | 并行召唤多位 |

界面入口

| 位置 | 是什么 |
| 插件列表 → T专家 | 管理面板,三个标签:专家(提示词 / 新建自建专家)、分类(自建分类增删改)、技能(技能开关) |
| 输入框 @ | 按分类分组的专家菜单,选中即插入引用 chip |
| 输入区「T专家」按钮 | 浮层标签:专家 / 技能(默认停在专家);分类只作分组,增删改请去插件信息页 |

数据与卸载

数据都在本机 ~/.t-team/(名册、中文译文、你自建的专家),插件不连任何网络服务、不做遥测。卸载不会删这个目录,要清干净手动删即可。

许可与反馈

MIT(见 LICENSE)。随包含第三方成果(专家名册与中文译文、运行时依赖 croner),来源与署名见 THIRD-PARTY-NOTICES。

源码与问题反馈:<https://github.com/jiuaiwo/dsh-expert>
预览分享卡片长什么样 ↓jiuaiwo/dsh-expert
分享 · DeepSeek Harness Hub
jiuaiwo/dsh-expert

T专家 — DeepSeek Harness 插件:22 分类 / 636 位专家名册中文名与简介全量覆盖,@…

回到顶部