
跑 AI agent 的人,大多经历过这样的时刻:切回终端窗口看它到底执行到哪一步,是不是又卡在审批上;离开电脑一会儿,任务进展就彻底失联。软件格律诗 介绍一下 dsh-island 这个解决「切窗焦虑」—— DeepSeek Harness(DSH)的 macOS 菜单栏灵动岛插件,装上之后,DSH 的会话、工具调用、审批状态全部实时出现在屏幕顶部的菜单栏里。

插件加载时自动拉起一个原生 Swift 面板(bin/dsh-island-panel,由 NSStatusItem + NSPopover + SwiftUI 构成,实现思路借鉴了开源项目 CodeIsland),DSH 的各类事件通过 Unix socket 实时桥接到菜单栏图标和弹出面板上。无需中间层:不依赖 CodeIsland 应用、不用写 hook 配置、不需要浏览器,装插件即用。

功能特点
会变身的菜单栏胶囊
菜单栏按钮文案随 DSH 状态动态变化:空闲时显示 🐋 DSH 并带上会话时长(如「空闲 5 m」);执行中变成 🔧 git commit ·12(当前工具名 + 调用计数);等待授权时变成 🛡️ 需要授权(琥珀色圆点提示)。与之配套的,是鲸鱼娘的半身像素动画——15+ 种动作(working / think / wait / celebrate / error),随状态协调切换,空闲时还会随机轮播 walk / play / joy / sleep / eat / waving / wake 等动作,慢眨眼、摆动等细节都有。有趣的是,开发者在 v 0.6.12 里曾尝试加入二次元 Chibi 角色,因画风不兼容又回退到像素鲸鱼娘单角色,可见这形象是产品的灵魂。
毛玻璃实时面板与就地审批
左键点击菜单栏图标,弹出深色毛玻璃灵动岛面板:所有 DSH 会话一屏总览,活跃会话、工具调用、时长、状态一目了然;点击会话还能二次展开最近工具 / Token / 运行模式,并支持直接跳转或停止。最关键的是审批不用再切窗口:approval/request 事件到达时,面板出现「需要授权」卡片,点「允许 / 拒绝」决策直接回写 DSH。
旁路观察,零侵入
它的事件监听对 DSH 来说是一路「旁路观察」:PreToolUse / PostToolUse 等监听器总是调用 next() 放行,发送失败也不影响 agent 执行;唯一「停留等待」的是 approval/request ——那是审批的语义本身。同时零侵入:不修改 DSH 配置、不拦截工具决策。默认配置下,审批转发、子代理上报、agent 状态上报、自动拉起面板全部开启,并可通过 approvalTimeoutMs(默认 5 分钟)、panelBin 等配置项调整。
插件生态:注册菜单项 + 动态插件管理
其他 DSH 插件可以通过 ctx.island.registerMenuItem() 在托盘右键菜单里注册自己的菜单项(图标 + 标题 + 点击动作)。托盘右键 →「插件管理」子菜单会动态列出 DSH 运行时所有插件(● 运行 / ○ 停止),点击即可启停,插件加载/卸载自动刷新。
交互与路线图
交互简单:左键托盘打开鲸鱼娘展示框(带随机欢迎动作),右键托盘出菜单(状态 / 统计 / 插件管理 / 打开面板 / 退出),点击面板外部自动关闭。
路线图上还有不少在途能力:手机动态管理端 App(从 DSH 拉取能力清单、动态生成管理界面,走「接口即入口」路线,预览中已能实时监测 open-design 87.4 k★、voyager 19.5 k★ 等多个高 star 插件的状态 / 调用量 / 内存 / 健康度)、完成与审批通知提醒、Token / 用量面板、多会话管理、多套鲸鱼娘皮肤(洛丽塔 / 水手服 / 宫廷 / 小魔女)、Mac ↔ 手机跨端实时同步、Intel 原生面板。docs/ 目录下有一整套可运行的交互式预览,本地起个静态服务器就能逐页体验全部交互。

上手教程
第一步,安装插件(前提:macOS 14+;面板为 arm 64 二进制,Intel 需自行用 panel/build.sh 重编):
第二步,直接使用:插件 apply 时面板自动常驻菜单栏(已运行则不重复启动)。日常就是三件事——左键点开看会话与工具调用进度;出现「需要授权」卡时在面板上点允许/拒绝;右键托盘管理插件、查看统计。
第三步(可选),参与开发:./panel/build.sh 编译 Swift 面板,npm run build 用 tsc 产出 lib/,npm test 跑 8 个用例(测试用 cordis Context 精确模拟 DSH 宿主的事件通道),node scripts/live-panel.mjs 可以在没有 DSH 的环境里看浏览器版实时演示。

我的使用感受
实际用下来,最舒服的一点是「跑长任务终于不用盯终端了」——工具名、调用计数、会话时长直接挂在菜单栏,一瞥就知道它在干嘛;审批在面板上一点就完事,不用在窗口间来回切。
鲸鱼娘的动画也意外地有陪伴感,空闲时看她随机轮播动作,比干巴巴的状态文本舒服不少。
不过要如实说三点:
一是它目前是 arm 64 独占,Intel 用户要先自己编译;
二是手机端、Token 面板等核心能力还在路线图上,现在主要体验的是菜单栏这一环;
三是它依赖 DSH 生态,如果你不用 DeepSeek Harness,这个插件就无从谈起。整体上,这是「agent 运行可视化」里少见的把状态做成了陪伴感的产品。
本文信息源自:格物致知 · 科技发现周刊 007期:MacBook的触控板(15个项目)
官方网站
https://github.com/cdxiaodong/dsh-island







