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

洛希接入层 louxi9/luoxi-dsh

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

把 DSH 会话接进智能体框架,用 /dsh 命令随时切换接管

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 15 处,展示前 15 条)
  • 执行外部命令来自配置/变量
    layer/40-harness/lib/dsh-runtime.mjs:125
    nodeVersion = String(execFileSync(nodeExe, ['-v'], { encoding: 'utf8', timeout: 8000, windowsHide: true })).trim();
  • 发起网络请求
    layer/40-harness/lib/dsh-runtime.mjs:177
    const response = await fetch(`${target}/`, { signal: AbortSignal.timeout(4000) });
  • 执行外部命令来自配置/变量
    layer/40-harness/lib/dsh-runtime.mjs:191
    const opener = spawn(command, args, { windowsHide: true, detached: true, stdio: 'ignore' });
  • 执行外部命令来自配置/变量
    layer/40-harness/lib/dsh-runtime.mjs:215
    const npm = spawn(nodeExe, args, {
  • 执行外部命令来自配置/变量
    layer/40-harness/lib/dsh-runtime.mjs:304
    const spawned = spawn(nodeExe, [binJs, 'web', '--no-open', '--port', String(port)], {
  • 执行外部命令固定命令
    layer/40-harness/lib/dsh-runtime.mjs:371
    if (process.platform === 'win32') spawn('taskkill', ['/PID', String(npm.pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' });
  • 执行外部命令固定命令
    layer/40-harness/lib/dsh-runtime.mjs:387
    const killer = spawn('taskkill', ['/PID', String(pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' });
  • 执行外部命令来自配置/变量
    layer/40-harness/routes.mjs:61
    child = spawn(dshNode, [dshBin, ...args], {
  • 执行外部命令来自配置/变量
    layer/50-bridge/lib/bridge.mjs:184
    const child = spawn(nodeExe, args, {
  • 执行外部命令固定命令
    layer/50-bridge/lib/bridge.mjs:217
    if (process.platform === 'win32') spawn('taskkill', ['/PID', String(child.pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' });
  • 读取密钥环境变量
    plugin/bin/luoxi.mjs:16
    const token = value('--token', process.env.LUOXI_BRIDGE_TOKEN ?? '');
  • 执行外部命令来自配置/变量
    plugin/src/acp.mjs:27
    this.child = spawn(this.node, [this.bin, '--profile', 'acp'], {
  • 发起网络请求
    plugin/src/acp.mjs:44
    this.ready = this.request('initialize', { protocolVersion: 1, clientCapabilities: {} })
  • 发起网络请求
    plugin/src/acp.mjs:123
    const result = await this.request('session/new', { cwd, mcpServers: [] });
  • 发起网络请求
    plugin/src/acp.mjs:136
    const result = await this.request('session/prompt', { sessionId, prompt: [{ type: 'text', text }] });
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

README

由 DeepSeek 最新模型翻译生成
洛希 DSH 接入层(luoxi-dsh) 把 DeepSeek Harness 接进一个支持「v2 追加组合层」的智能体框架:按需安装依赖、自启动、单独窗口、面板、/dsh 命令桥、会话式数字审批、插件守护。一个安装脚本装完,重启即可用。 本仓库不包含任何宿主业务代码,也不包含 DSH 运行时本体(node / dsh 依赖由运行时自己装)。 为什么是「两层 + 一个插件」 普通扩展(工具、面板、钩子的 SDK)有三件事做不到,所以分层: 1. 在唤醒前吞掉 /dsh 命令——需要 ingest 级拦截,宿主没给扩展这个钩子 2. 开本机 WebSocket——扩展权限模型里没有 raw socket 3. 驱动 DSH 会话——用官方的 ACP,不需要碰 DSH 内部插件 API | 目录 | 形态 | 做什么 | | layer/40-harness | 追加组合层 | 按需装依赖、dsh web 自启动/停止、单独窗口、控制台面板 | | layer/50-bridge | 追加组合层 | /dsh 命令拦截、本机 WS 桥、审批、插件守护 | | plugin/ | 独立进程 | 用 ACP 驱动 DSH 会话,把结果送回会话 | 宿主将来若补了「可拦截的消息钩子」和 socket 权限,两层的代码可以直接并进扩展。
展开完整文档(README 剩余 1 节)
洛希 DSH 接入层(luoxi-dsh)

把 DeepSeek Harness 接进一个支持「v2 追加组合层」的智能体框架:按需安装依赖、自启动、单独窗口、面板、/dsh 命令桥、会话式数字审批、插件守护。一个安装脚本装完,重启即可用。

本仓库不包含任何宿主业务代码,也不包含 DSH 运行时本体(node / dsh 依赖由运行时自己装)。

为什么是「两层 + 一个插件」

普通扩展(工具、面板、钩子的 SDK)有三件事做不到,所以分层:

1. 在唤醒前吞掉 /dsh 命令——需要 ingest 级拦截,宿主没给扩展这个钩子
2. 开本机 WebSocket——扩展权限模型里没有 raw socket
3. 驱动 DSH 会话——用官方的 ACP,不需要碰 DSH 内部插件 API

| 目录 | 形态 | 做什么 |
| layer/40-harness | 追加组合层 | 按需装依赖、dsh web 自启动/停止、单独窗口、控制台面板 |
| layer/50-bridge | 追加组合层 | /dsh 命令拦截、本机 WS 桥、审批、插件守护 |
| plugin/ | 独立进程 | 用 ACP 驱动 DSH 会话,把结果送回会话 |

宿主将来若补了「可拦截的消息钩子」和 socket 权限,两层的代码可以直接并进扩展。

宿主要求

- 支持 v2 追加组合:会扫描 overrides/<目录>/composition.json,并给路由提供 http.route / http.onDispose 与 deps(appRoot、dataDir、log)
- 可包装 core.ingest / core.send 两个组件
- Windows + Electron(单独窗口依赖 BrowserWindow;无窗口环境自动回退系统浏览器)
- 运行时目录 runtime/dsh/:node/node.exe、package.json、package-lock.json(建议再放 npm/ 与 pnpm/)

安装

git clone https://github.com/louxi9/luoxi-dsh.git
cd luoxi-dsh
node install.mjs "<宿主目录>"

安装目标:

<宿主>/overrides/40-luoxi-harness <宿主>/overrides/50-luoxi-bridge <宿主>/luoxi-plugin-dsh

已有同名目录会先备份成 *.bak-<时间戳>。卸载:node install.mjs "<宿主目录>" --uninstall。

命令

/dsh <任务> 交给 DSH /dsh on 本会话交给 DSH /dsh off 交回主脑 /dsh new 新会话 /dsh stop 中断 /dsh status 状态 /dsh help 帮助

危险工具会在会话里问「1. 允许 / 2. 拒绝」,回数字即可,120 秒不选自动拒绝。

协议

本机 WS 协议(握手、消息、动作、审批、图片、用量)见 docs/protocol.md。
插件侧实现在 plugin/,也可以单独发布安装。

安全

- 桥只监听 127.0.0.1,token 在宿主数据目录 bridge/token,权限只到「往白名单会话发消息」
- 默认只允许私聊,群要显式加入白名单
- 依赖安装关闭了第三方安装脚本(--ignore-scripts),完整性由 lock 文件保证
- DSH 的对话会发到你填的模型账号所在的服务商,面板上已注明

许可

MIT,见 LICENSE。
预览分享卡片长什么样 ↓louxi9/luoxi-dsh
分享 · DeepSeek Harness Hub
louxi9/luoxi-dsh

把 DSH 会话接进智能体框架,用 /dsh 命令随时切换接管

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