DSH · 摩羯:DeepSeek Harness 的 macOS 桌面挂件 + 桥插件中文 / 坐窗口 / 附身 /…
31.2/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Sophia-Pro/dsh-capri该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 41 处,展示前 38 条)
- 发起网络请求src/main/main.js:52
return net.fetch(pathToFileURL(target).toString()); - 执行外部命令固定命令src/main/main.js:210
execFile('/bin/ps', ['-Ao', 'args'], { timeout: 2500, maxBuffer: 8 * 1024 * 1024 }, (err, stdout) => { - 读取本地文件src/main/main.js:248
try { return fs.readdirSync('/Volumes').filter((n) => !n.startsWith('.')) } catch { return [] } - 写入本地文件src/main/main.js:308
if (cfg.followDsh !== false) fs.writeFileSync(flag, '1'); - 删除本地文件src/main/main.js:309
else fs.rmSync(flag, { force: true }); - 写入本地文件src/main/main.js:371
fs.mkdirSync(userSoundsDir(), { recursive: true }); - 读取本地文件src/main/main.js:454
const buf = fs.readFileSync(path.join(dir, `tray-${state}@2x.png`)); - 发起网络请求src/main/main.js:567
const res = await fetch(`http://127.0.0.1:47824/state${fresh ? '?fresh=1' : ''}`, { signal: ac.signal }); - 读取本地文件src/main/main.js:596
ipcMain.handle('claude:found', () => (DSH_EDITION ? fs.existsSync(dshHome()) : fs.existsSync(path.dirname(hooks.status().file)))); - 读取本地文件src/main/main.js:601
if (!fs.existsSync(dir)) return { found: false, dir }; - 读取本地文件src/main/main.js:604
return { found: true, dir, file: fs.existsSync(file) }; - 读取本地文件src/main/main.js:608
if (!fs.existsSync(dir)) return { found: false, dir }; - 写入本地文件src/main/main.js:699
fs.mkdirSync(dir, { recursive: true }); - 写入本地文件src/main/main.js:701
fs.writeFileSync(file, image.toPNG()); - 读取本地文件src/main/config.js:47
cache = { ...DEFAULTS, ...JSON.parse(fs.readFileSync(file(), 'utf8')) }; - 写入本地文件src/main/config.js:57
fs.mkdirSync(path.dirname(file()), { recursive: true }); - 写入本地文件src/main/config.js:58
fs.writeFileSync(file(), JSON.stringify(cache, null, 2)); - 执行外部命令固定命令src/main/windows.js:36
child = spawn('powershell.exe', [ - 读取本地文件src/main/windows.js:85
if (fs.existsSync(MAC_BIN)) return true; - 写入本地文件src/main/windows.js:86
fs.mkdirSync(path.dirname(MAC_BIN), { recursive: true }); - 执行外部命令固定命令src/main/windows.js:87
execFileSync('xcrun', ['swiftc', '-O', '-o', MAC_BIN, MAC_SRC], { stdio: 'pipe', timeout: 120000 }); - 执行外部命令来自配置/变量src/main/windows.js:96
child = spawn(MAC_BIN, [String(process.pid)], { stdio: ['ignore', 'pipe', 'pipe'] }); - 读取本地文件src/main/dsh-watch.js:24
names = fs.readdirSync(DIR); - 读取本地文件src/main/dsh-watch.js:32
const st = fs.statSync(full); - 读取本地文件src/main/dsh-watch.js:43
const raw = fs.readFileSync(file, 'utf8'); - 执行外部命令固定命令scripts/install-hooks.js:40
return spawnSync('node', ['-v'], { windowsHide: true, timeout: 3000 }).status === 0; - 读取本地文件scripts/install-hooks.js:59
if (!fs.existsSync(file)) return {}; - 读取本地文件scripts/install-hooks.js:60
const text = fs.readFileSync(file, 'utf8'); - 写入本地文件scripts/install-hooks.js:87
fs.mkdirSync(path.dirname(file), { recursive: true }); - 读取本地文件scripts/install-hooks.js:88
if (fs.existsSync(file)) { - 写入本地文件scripts/install-hooks.js:90
fs.copyFileSync(file, `${file}.capri-backup-${stamp}`); - 写入本地文件scripts/install-hooks.js:92
fs.writeFileSync(file, JSON.stringify(settings, null, 2) + '\n'); - 读取本地文件scripts/install-hooks.js:114
if (!fs.existsSync(file)) return { file, removed: false }; - 发起网络请求dsh-plugin/lib/index.js:200
const res = await fetch('http://127.0.0.1:47823/health', { signal: AbortSignal.timeout(800) }) - 执行外部命令来自配置/变量dsh-plugin/lib/index.js:220
spawn(exe, [], { detached: true, stdio: 'ignore', env: childEnv }).unref() - 执行外部命令固定命令dsh-plugin/lib/index.js:223
spawn('open', ['-g', app], { detached: true, stdio: 'ignore', env: childEnv }).unref() - 发起网络请求dsh-plugin/lib/index.js:249
const res = await fetch(APP_EVENT_URL, { - 发起网络请求hooks/capri-hook.js:68
const req = http.request({
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成摩羯 · dsh-capri
DeepSeek Harness 的桌面挂件 + 桥插件 · macOS · 全中文
⬇ 挂件 v0.2.0(macOS arm64) · ⬇ DSH 插件 v0.2.0
全部版本 · 使用说明 · 玩法与动画 · 来源与致谢
她做什么
会动的
开场 —— 三种随机:抓屏幕的大近景 / 大头照「嗨」/ 小动作入场。
全屏附身 —— 整块屏幕变成她的脸,两秒后松开。
附身窗口 —— 坐久了钻进去,整扇窗长满她的眼睛和锯齿嘴:
全屏附身 —— 整块屏幕变成她的脸,两秒后松开:
看卫星 —— 她抬头、夜空铺开、卫星划过、红光照上去:
开场动画(三套随机):大头照「嗨」/ 双手撑住屏幕边缘的大近景 / 小动作入场。
所有动画
37 个动作、三种开场、附身/全屏附身/看卫星这些大场面,以及每一个怎么触发,都写在全表里了:
→ 玩法与动画一览
和 DSH 的关系
dsh-plugin/ 是桥插件:装进 DeepSeek Harness 后,DSH 里新的一轮、某个工具、等你批准、干完、烧了多少 token,都会变成她的话和动作(面板里那个「琢磨:…」就是她看见你在想什么)。
展开完整文档(README 剩余 1 节)
摩羯 · dsh-capri DeepSeek Harness 的桌面挂件 + 桥插件 · macOS · 全中文 ⬇ 挂件 v0.2.0(macOS arm64) · ⬇ DSH 插件 v0.2.0 全部版本 · 使用说明 · 玩法与动画 · 来源与致谢 她做什么 会动的 开场 —— 三种随机:抓屏幕的大近景 / 大头照「嗨」/ 小动作入场。 全屏附身 —— 整块屏幕变成她的脸,两秒后松开。 附身窗口 —— 坐久了钻进去,整扇窗长满她的眼睛和锯齿嘴: 全屏附身 —— 整块屏幕变成她的脸,两秒后松开: 看卫星 —— 她抬头、夜空铺开、卫星划过、红光照上去: 开场动画(三套随机):大头照「嗨」/ 双手撑住屏幕边缘的大近景 / 小动作入场。 所有动画 37 个动作、三种开场、附身/全屏附身/看卫星这些大场面,以及每一个怎么触发,都写在全表里了: → 玩法与动画一览 和 DSH 的关系 dsh-plugin/ 是桥插件:装进 DeepSeek Harness 后,DSH 里新的一轮、某个工具、等你批准、干完、烧了多少 token,都会变成她的话和动作(面板里那个「琢磨:…」就是她看见你在想什么)。 从 Release 下 MoJie-DSH-Plugin-0.1.0.zip 解压,或者直接用仓库里的 dsh-plugin/: cd dsh-plugin && npm install dsh plugin --profile desktop add link:"$PWD" 装完重启一次 DSH。她的挂件也可以独立运行,不装插件只是少这些联动。 快速开始(从源码跑) git clone https://github.com/Sophia-Pro/dsh-capri.git cd dsh-capri npm install npm start # 先看能不能出人 ./scripts/capri-build.sh . ~/Applications/摩羯.app # 打包成 .app 完整说明见 使用说明.md,动画和玩法细表见 玩法.md:托盘菜单每一项、双击/单击、音效、跟随 DSH 启停、常见问题。 特性一览 - 窗口交互:坐上沿 / 骑窗 / 掉下来 / 附身 / 全屏附身;视频和全屏应用不坐 - 自适应:按屏幕分辨率和缩放自动算大小;显示器增删、分辨率变化会重新收进可视区 - 互动:单击随机说话(余额 / token / 进度 / 闲话),双击从所有动画里随机演一段(没演过的优先) - 演技:37 个动作(含从上游移植的蹲、瞪、被抱起、躺平、翻滚、过热…)、三种开场、全部音效为 Web Audio 实时合成 - 不抢焦点:不占 Dock、不进 Cmd-Tab,点她不会把整个程序提到前台 - 中文化:界面、台词、托盘、气泡全中文 版权 二次开发项目,原作 mochiiwuff/capri-desktop,基于 Stefanospi/Carpi-Evolution。来源、改动清单与致谢见 NOTICE.md。 许可证沿用上游:可自由使用、修改、分发,不得售卖或用于付费服务。角色与美术素材版权属于原权利人,本项目为同人作品。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Sophia-Pro/dsh-capri
DSH · 摩羯:DeepSeek Harness 的 macOS 桌面挂件 + 桥插件中文 / 坐窗口 / 附身 /…
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,111已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,341已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,449已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,532已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2