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

DSH 增强插件合集 qiqiangvae/dsh-newbe-plugins

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

为会话加上收藏、输入锁定与工具收纳等实用增强

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

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

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add qiqiangvae/dsh-newbe-plugins
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

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

✗npm 包dsh-newbe-plugins(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:54:12

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

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

读写/删除本地文件
查看扫描证据(共 54 处,展示前 52 条)
  • 写入本地文件
    packages/dsh-newbe-ide/lib/index.js:14698
    mkdirSync(dirname(file2), { recursive: true, mode: 448 });
  • 删除本地文件
    packages/dsh-newbe-ide/lib/index.js:14707
    rmSync(tmp, { force: true });
  • 写入本地文件
    packages/dsh-newbe-ide/lib/index.js:14714
    renameSync(tmp, file2);
  • 删除本地文件
    packages/dsh-newbe-ide/lib/index.js:14717
    rmSync(tmp, { force: true });
  • 读取本地文件
    packages/dsh-newbe-ide/lib/index.js:14732
    text = readFileSync(file2, "utf8");
  • 读取本地文件
    packages/dsh-newbe-ide/lib/index.js:15062
    if (maxLines <= 0 || !existsSync(file2)) return { lines: [], more: false };
  • 读取本地文件
    packages/dsh-newbe-ide/lib/index.js:15065
    size = statSync(file2).size;
  • 读取本地文件
    packages/dsh-newbe-ide/lib/index.js:15101
    return statSync(file2).size;
  • 写入本地文件
    packages/dsh-newbe-ide/lib/index.js:15111
    mkdirSync2(dir, { recursive: true, mode: 448 });
  • 删除本地文件
    packages/dsh-newbe-ide/lib/index.js:15117
    rmSync2(file2 + ".1", { force: true });
  • 写入本地文件
    packages/dsh-newbe-ide/lib/index.js:15118
    renameSync2(file2, file2 + ".1");
  • 写入本地文件
    packages/dsh-newbe-ide/lib/index.js:15122
    appendFileSync(file2, text, { mode: 384 });
  • 写入本地文件
    packages/dsh-newbe-ide/lib/index.js:15126
    appendFileSync(file2, text, { mode: 384 });
  • 删除本地文件
    packages/dsh-newbe-ide/lib/index.js:15138
    rmSync2(file2, { force: true });
  • 删除本地文件
    packages/dsh-newbe-ide/lib/index.js:15139
    rmSync2(file2 + ".1", { force: true });
  • 读取本地文件
    packages/dsh-newbe-ide/lib/index.js:15869
    if (existsSync2(runDir)) {
  • 读取本地文件
    packages/dsh-newbe-ide/lib/index.js:15871
    for (const entry of readdirSync(runDir)) {
  • 读取本地文件
    packages/dsh-newbe-ide/src/index.ts:175
    if (existsSync(runDir)) {
  • 读取本地文件
    packages/dsh-newbe-ide/src/index.ts:177
    for (const entry of readdirSync(runDir)) {
  • 读取本地文件
    packages/dsh-newbe-ide/src/index.ts:186
    if (!existsSync(file)) continue;
  • 读取本地文件
    packages/dsh-newbe-ide/src/index.ts:189
    const xml = readFileSync(file, 'utf8');
  • 读取本地文件
    packages/dsh-newbe-ide/src/logsink.ts:46
    if (maxLines <= 0 || !existsSync(file)) return { lines: [], more: false };
  • 读取本地文件
    packages/dsh-newbe-ide/src/logsink.ts:49
    size = statSync(file).size;
  • 读取本地文件
    packages/dsh-newbe-ide/src/logsink.ts:89
    return statSync(file).size;
  • 写入本地文件
    packages/dsh-newbe-ide/src/logsink.ts:101
    mkdirSync(dir, { recursive: true, mode: 0o700 });
  • 删除本地文件
    packages/dsh-newbe-ide/src/logsink.ts:108
    rmSync(file + '.1', { force: true });
  • 写入本地文件
    packages/dsh-newbe-ide/src/logsink.ts:109
    renameSync(file, file + '.1');
  • 写入本地文件
    packages/dsh-newbe-ide/src/logsink.ts:114
    appendFileSync(file, text, { mode: 0o600 });
  • 写入本地文件
    packages/dsh-newbe-ide/src/logsink.ts:118
    appendFileSync(file, text, { mode: 0o600 });
  • 删除本地文件
    packages/dsh-newbe-ide/src/logsink.ts:133
    rmSync(file, { force: true });
  • 删除本地文件
    packages/dsh-newbe-ide/src/logsink.ts:134
    rmSync(file + '.1', { force: true });
  • 写入本地文件
    packages/dsh-newbe-ide/src/store.ts:17
    mkdirSync(dirname(file), { recursive: true, mode: 0o700 });
  • 删除本地文件
    packages/dsh-newbe-ide/src/store.ts:25
    try { rmSync(tmp, { force: true }); } catch { }
  • 写入本地文件
    packages/dsh-newbe-ide/src/store.ts:30
    renameSync(tmp, file);
  • 删除本地文件
    packages/dsh-newbe-ide/src/store.ts:32
    try { rmSync(tmp, { force: true }); } catch { }
  • 读取本地文件
    packages/dsh-newbe-ide/src/store.ts:46
    text = readFileSync(file, 'utf8');
  • 读取本地文件
    packages/dsh-newbe-my-favorites/lib/index.js:14566
    if (existsSync(STORAGE_PATH) || !existsSync(LEGACY_STORAGE_PATH)) return;
  • 写入本地文件
    packages/dsh-newbe-my-favorites/lib/index.js:14568
    renameSync(LEGACY_STORAGE_PATH, STORAGE_PATH);
  • 写入本地文件
    packages/dsh-newbe-my-favorites/lib/index.js:14571
    copyFileSync(LEGACY_STORAGE_PATH, STORAGE_PATH);
  • 写入本地文件
    packages/dsh-newbe-my-favorites/lib/index.js:14595
    mkdirSync(dirname(file2), { recursive: true, mode: 448 });
  • 删除本地文件
    packages/dsh-newbe-my-favorites/lib/index.js:14604
    rmSync(tmp, { force: true });
  • 写入本地文件
    packages/dsh-newbe-my-favorites/lib/index.js:14611
    renameSync(tmp, file2);
  • 删除本地文件
    packages/dsh-newbe-my-favorites/lib/index.js:14614
    rmSync(tmp, { force: true });
  • 读取本地文件
    packages/dsh-newbe-my-favorites/lib/index.js:14629
    text = readFileSync(file2, "utf8");
  • 读取本地文件
    packages/dsh-newbe-my-favorites/src/index.ts:34
    if (existsSync(STORAGE_PATH) || !existsSync(LEGACY_STORAGE_PATH)) return;
  • 写入本地文件
    packages/dsh-newbe-my-favorites/src/index.ts:36
    renameSync(LEGACY_STORAGE_PATH, STORAGE_PATH);
  • 写入本地文件
    packages/dsh-newbe-my-favorites/src/index.ts:39
    copyFileSync(LEGACY_STORAGE_PATH, STORAGE_PATH);
  • 写入本地文件
    packages/dsh-newbe-my-favorites/src/index.ts:73
    mkdirSync(dirname(file), { recursive: true, mode: 0o700 });
  • 删除本地文件
    packages/dsh-newbe-my-favorites/src/index.ts:81
    try { rmSync(tmp, { force: true }); } catch { }
  • 写入本地文件
    packages/dsh-newbe-my-favorites/src/index.ts:86
    renameSync(tmp, file);
  • 删除本地文件
    packages/dsh-newbe-my-favorites/src/index.ts:88
    try { rmSync(tmp, { force: true }); } catch { }
  • 读取本地文件
    packages/dsh-newbe-my-favorites/src/index.ts:102
    text = readFileSync(file, 'utf8');
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 会话收藏
  • 输入锁定
  • 会话工具收纳

个人使用 DSH 的增强插件,包括收藏功能、输入锁和会话工具收纳等功能

README

由 DeepSeek 最新模型翻译生成
dsh-newbe-plugins newbe 品牌的 DeepSeek Harness (DSH) Web 插件合集,pnpm workspace monorepo。每个插件位于 packages/<name>/,可独立安装。 插件列表 | 插件 | 目录 | 说明 | 版本(npm latest) | | dsh-newbe-ide | packages/dsh-newbe-ide | 会话视图 tab「IDE」:按项目组织启动配置,一键启停、重启(进程组回收),日志实时滚动 + 过滤 + 落盘(跨重启可读回),可从 .idea 导入 Spring Boot 运行配置;另内置三个模型工具 + 技能「ide-launch-config」,让智能体替你配(密钥只登记变量名,值走 DSH 凭据库) | 0.4.1 | | dsh-newbe-response-window | packages/dsh-newbe-response-window | 每轮响应窗口:把 think/工具调用收进有限高度的可滚动 slide,文字回复原生展示;流式 think 支持出盒/盒内/关闭三模式 | 0.3.1 |
展开完整文档(README 剩余 1 节)
dsh-newbe-plugins

newbe 品牌的 DeepSeek Harness (DSH) Web 插件合集,pnpm workspace monorepo。每个插件位于 packages/<name>/,可独立安装。

插件列表

| 插件 | 目录 | 说明 | 版本(npm latest) |
| dsh-newbe-ide | packages/dsh-newbe-ide | 会话视图 tab「IDE」:按项目组织启动配置,一键启停、重启(进程组回收),日志实时滚动 + 过滤 + 落盘(跨重启可读回),可从 .idea 导入 Spring Boot 运行配置;另内置三个模型工具 + 技能「ide-launch-config」,让智能体替你配(密钥只登记变量名,值走 DSH 凭据库) | 0.4.1 |
| dsh-newbe-response-window | packages/dsh-newbe-response-window | 每轮响应窗口:把 think/工具调用收进有限高度的可滚动 slide,文字回复原生展示;流式 think 支持出盒/盒内/关闭三模式 | 0.3.1 |
| dsh-newbe-input-enhancer | packages/dsh-newbe-input-enhancer | 增强输入框:Enter 锁定防误发、三击发送、字数统计、长文本提醒、草稿交换 | 1.1.0 |
| dsh-newbe-my-favorites | packages/dsh-newbe-my-favorites | 会话与网址的本机快捷收藏(标题栏星标 + 侧栏收藏入口 + 快捷切换) | 0.5.8 |

安装

只从 npm 装(latest,rc 稳定线):

dsh plugin --profile web add dsh-newbe-ide
dsh plugin --profile web add dsh-newbe-response-window
dsh plugin --profile web add dsh-newbe-input-enhancer
dsh plugin --profile web add dsh-newbe-my-favorites

GitHub 侧只保留仓库级 tag v<y.y.y>(每次版本更新的留档),不再提供 GitHub 安装命令;要回看某次更新改了什么,看对应的 Release 说明。

迁移

本仓库由独立插件仓库重组而来:

- dsh-newbe-response-window:原装在仓库根(github:qiqiangvae/dsh-newbe-plugins),现迁到子目录。插件名不变,remove 后用上方新地址重装。
- dsh-newbe-input-enhancer:由独立仓库 qiqiangvae/dsh-input-enhancer(npm 包 dsh-input-enhancer)迁入并改名。先 dsh plugin --profile web remove dsh-input-enhancer,再 add dsh-newbe-input-enhancer。
- dsh-newbe-my-favorites:由独立仓库 qiqiangvae/dsh-my-favorites(npm 包 dsh-my-favorites)迁入并改名。先 dsh plugin --profile web remove dsh-my-favorites,再 add dsh-newbe-my-favorites;历史收藏数据首次启动时自动迁移到新存储文件名。

开发

pnpm install # 安装 workspace 依赖
pnpm -r run check # 每个插件的结构/语法检查
pnpm -r run test # 每个插件的单元测试
pnpm -r run build # 需要构建的插件(如 input-enhancer 的 src → lib)

- dsh-newbe-response-window:纯 JS,无构建,lib/ 直接提交;E2E 用 python3 packages/dsh-newbe-response-window/test/e2e.py(需已启动的 dsh web)。
- dsh-newbe-input-enhancer:src/ 为源码,lib/ 为提交的预构建产物(node scripts/build.mjs 生成)。
- dsh-newbe-my-favorites:TypeScript + esbuild,src/ 为源码,lib/ 为提交的预构建产物(node build.mjs 生成;pnpm -r run typecheck 做类型检查)。

License

MIT
预览分享卡片长什么样 ↓qiqiangvae/dsh-newbe-plugins
分享 · DeepSeek Harness Hub
qiqiangvae/dsh-newbe-plugins

为会话加上收藏、输入锁定与工具收纳等实用增强

这是你的仓库?认领条目

回到顶部