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

鲸铃刘海 5ysy/dsh-jingle-notch

DeepSeek 客户端
5ysy3 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在 Mac 刘海直接审批工具、审核计划并回答提问

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/5ysy/dsh-jingle-notch.git

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 29 处,展示前 29 条)
  • 执行外部命令固定命令
    src/notify.ts:44
    finish(spawn('osascript', ['-e', `display notification "${escape(body)}" with title "${escape(title)}"`], { stdio: 'ignore' }), log)
  • 执行外部命令固定命令
    src/notify.ts:48
    finish(spawn('notify-send', [title, body], { stdio: 'ignore' }), log)
  • 执行外部命令固定命令
    src/notify.ts:61
    finish(spawn('powershell', ['-NoProfile', '-NonInteractive', '-Command', script], { stdio: 'ignore' }), log)
  • 执行外部命令固定命令
    src/overlay/main.ts:60
    execFile('/usr/bin/swift', ['-e', screenProbe], { timeout: 15000, maxBuffer: 64 * 1024 }, (error, stdout) => {
  • 发起网络请求
    src/overlay/main.ts:144
    const response = await fetch(`${stateOrigin}/jingle/api/state`, { signal:AbortSignal.timeout(4000) })
  • 写入本地文件
    src/overlay/main.ts:202
    await mkdir(app.getPath('userData'), { recursive:true })
  • 写入本地文件
    src/overlay/main.ts:203
    await writeFile(temporaryPath, `${JSON.stringify(next)}\n`, { encoding:'utf8', mode:0o600, flag:'wx' })
  • 写入本地文件
    src/overlay/main.ts:204
    await rename(temporaryPath, preferencesPath)
  • 删除本地文件
    src/overlay/main.ts:210
    try { await unlink(temporaryPath) } catch (cleanupError) {
  • 发起网络请求
    src/overlay/main.ts:230
    const response = await fetch(`${stateOrigin}${path}`, { method:'POST', headers:{'content-type':'application/json'}, body:JSON.stringify(body), signal:
  • 读取本地文件
    src/overlay/main.ts:240
    if ((await stat(preferencesPath)).size > 4096) throw new Error('preferences exceed 4 KiB')
  • 读取本地文件
    src/overlay/main.ts:241
    const saved = JSON.parse(await readFile(preferencesPath, 'utf8')) as unknown
  • 读取本地文件
    src/overlay/whale-assets.ts:21
    if (!bytes) { bytes = readFile(join(directory, filename)); cache.set(filename, bytes) }
  • 执行外部命令来自配置/变量
    src/overlay.ts:62
    const child = spawn(resolved.command, [...resolved.args, main, options.stateOrigin, String(options.yOffset ?? 0)], {
  • 读取本地文件
    src/overlay.ts:102
    if (existsSync(configPath)) return { command: configPath, args: [], label: 'configured path' }
  • 删除本地文件
    src/recap.ts:52
    try { await rm(join(this.directory, 'writer.lock')) } catch (error) { this.log(`jingleNotch recap: lock cleanup failed: ${String(error)}`) }
  • 读取本地文件
    src/recap.ts:62
    const raw = await readFile(this.file, 'utf8')
  • 写入本地文件
    src/recap.ts:86
    await mkdir(this.directory, { recursive:true, mode:0o700 })
  • 写入本地文件
    src/recap.ts:89
    try { await writeFile(lock, String(process.pid), { flag:'wx', mode:0o600 }); this.ownsLock = true }
  • 读取本地文件
    src/recap.ts:92
    const owner = Number(await readFile(lock, 'utf8'))
  • 删除本地文件
    src/recap.ts:96
    await rm(lock)
  • 写入本地文件
    src/recap.ts:97
    await writeFile(lock, String(process.pid), { flag:'wx', mode:0o600 }); this.ownsLock = true
  • 写入本地文件
    src/recap.ts:100
    await writeFile(temporary, JSON.stringify({ version:1, ...this.snapshot() }), { mode:0o600, flag:'wx' })
  • 写入本地文件
    src/recap.ts:101
    await rename(temporary, this.file)
  • 删除本地文件
    src/recap.ts:104
    await rm(temporary, { force:true }).catch(e => this.log(`jingleNotch recap: temporary cleanup failed: ${String(e)}`))
  • 执行外部命令固定命令
    src/sound.ts:58
    finish(spawn('afplay', [candidates[0]], { stdio: 'ignore' }), log)
  • 执行外部命令固定命令
    src/sound.ts:63
    finish(spawn('paplay', [candidates[0]], { stdio: 'ignore' }), log, () => {
  • 执行外部命令固定命令
    src/sound.ts:64
    finish(spawn('aplay', ['-q', candidates[0]], { stdio: 'ignore' }), log)
  • 执行外部命令固定命令
    src/sound.ts:70
    finish(spawn('powershell', ['-NoProfile', '-NonInteractive', '-Command', script], { stdio: 'ignore' }), log)
扫描于 2026/11/7(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

鲸铃 Jingle · DeepSeek Harness 的 macOS 刘海伴侣:工具审批、计划评审、结构化提问和多会话实时动态。

README

由 DeepSeek 最新模型翻译生成
JingleNotch 让 AI Agent 的待办决策出现在 Mac 刘海鲸铃 Jingle · macOS 刘海伴侣 English · GitHub · npm AI Agent 工作时,JingleNotch 会把需要你决策的时刻带到 Mac 刘海:工具审批、计划审核和结构化问题都会由鲸铃 Jingle 提醒。你可以在浮窗中查看完整请求并直接回答,保持当前工作流连续进行。 JingleNotch 支持 DeepSeek Harness 桌面版和 Web 版,也提供相同能力的浏览器仪表盘。 快速开始 已安装 DeepSeek Harness 后,通过 npm 安装插件到对应的 profile。 macOS 桌面版 首次使用请先打开一次 DeepSeek Harness,再完全退出应用。运行: '/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh' \ plugin --profile desktop add dsh-jingle-notch 重新打开应用并保持插件启用,桌面 Host 启动时会自动打开鲸铃刘海浮窗。
展开完整文档(README 剩余 1 节)
JingleNotch
让 AI Agent 的待办决策出现在 Mac 刘海鲸铃 Jingle · macOS 刘海伴侣

English · GitHub · npm

AI Agent 工作时,JingleNotch 会把需要你决策的时刻带到 Mac 刘海:工具审批、计划审核和结构化问题都会由鲸铃 Jingle 提醒。你可以在浮窗中查看完整请求并直接回答,保持当前工作流连续进行。

JingleNotch 支持 DeepSeek Harness 桌面版和 Web 版,也提供相同能力的浏览器仪表盘。

快速开始

已安装 DeepSeek Harness 后,通过 npm 安装插件到对应的 profile。

macOS 桌面版

首次使用请先打开一次 DeepSeek Harness,再完全退出应用。运行:

'/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh' \
plugin --profile desktop add dsh-jingle-notch

重新打开应用并保持插件启用,桌面 Host 启动时会自动打开鲸铃刘海浮窗。

Web 版

dsh plugin --profile web add dsh-jingle-notch
dsh web

启用插件后,Host 启动时会自动打开浮窗;也可在 Harness 的服务地址后访问 /jingle 使用浏览器面板。已经运行的 Web 服务需要重启。

桌面版和 Web 版分别安装到各自的 profile。原生浮窗需要 macOS 和图形桌面;插件会安装独立的 Electron runtime,让桌面 Host 可以启动浮窗,Web/源码 Host 可配置 Electron 路径或使用安装说明中的 npm 回退方案。详见安装说明。

插件功能

- 审批提醒:查看工具和原因,选择 Allow once、Deny 或 Always in this session。
- 完整计划审核:阅读完整计划和准确的审核选项,再决定 Agent 是否继续。
- 结构化问答:支持单选、多选和自由输入,一次提交整组问题;轮询期间保留草稿。
- 多会话总览:集中查看活跃会话、当前工具、工作区和并行调用,优先显示待处理请求。
- 文件活动预览:查看文件修改前后预览和增删行统计,快速了解 Agent 的改动。
- 原生 macOS 刘海界面:悬停查看概览,展开阅读详情,滚动浏览会话,新请求到达时自动聚焦。
- 浏览器仪表盘:访问 /jingle,在浏览器中查看状态、完成审批和问答。
- 本地运行:动画随包提供;插件无需额外模型请求,也不添加遥测服务。活动历史只保存数字统计,隐私与通知设置见配置说明。
- 声音与系统通知:审批、提问和任务完成时播放提示音,可分别开关并设置自定义声音。
- 鲸铃状态动画:待机、思考、执行、提醒、完成和错误状态使用随包提供的离线动画,支持减少动态效果。

运行效果

JingleNotch 多会话概览

JingleNotch 计划审核、结构化问答和工具审批

截图来自合成测试会话。鲸铃 Jingle 原始动画随插件打包,无需网络即可使用。

兼容版本

| 宿主 | 已验证版本 | 验证范围 |
| 官方 macOS 桌面版 | 0.2.1-rc.5 | 内置 CLI 安装、打包 Host、原生浮窗 |
| 正式发布 Web 版 | 0.2.1-rc.5 | Web profile、仪表盘、原生浮窗 |
| 源码 Web 版 | 0.2.2-alpha.2 | 源码 Host、仪表盘、原生浮窗 |

插件清单声明兼容 0.2.1-rc.5 和 0.2.2-alpha.2。原生浮窗需要 macOS、图形桌面和 Electron。Electron 配置及其他安装方式见安装说明。

命令与配置

/jingle 查看鲸铃状态

profile 补丁中的配置 ID 是 jingle-notch。完整配置、存储位置和隐私开关见配置说明;测试、打包和 Desktop/Web 验证见开发与验证。

开发

pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
npm pack --dry-run

反馈与贡献

欢迎通过 Issues 反馈问题或提出功能建议,也欢迎提交 Pull Request。报告问题时请附上 macOS、Harness 和插件版本、使用的 Desktop/Web profile,以及可复现步骤;日志和截图请先移除敏感信息。构建、测试和打包步骤见开发指南。

许可证与致谢

JingleNotch 使用 MIT 许可证。第三方版权和许可见 THIRD_PARTY_NOTICES.md。项目基于 DeepSeek Harness,README 展示和包元数据参考了 dsh-pet 与 dsh-market。鲸铃 Jingle 素材由项目作者提供,来源和校验值记录在素材说明。
预览分享卡片长什么样 ↓5ysy/dsh-jingle-notch
分享 · DeepSeek Harness Hub
5ysy/dsh-jingle-notch

在 Mac 刘海直接审批工具、审核计划并回答提问

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