dsh-dafeiyu README

The project's README from github.com/QCYTSN/dsh-dafeiyu. As one markdown file: README.md.

DSH 大肥鱼 🐋

住在桌面上、由 DeepSeek Harness 真实工作状态驱动的 Agent 伴侣。

入口属于 DSH,生命周期属于 DSH,显示层属于桌面。

English · npm · 下载最新版本 · 更新日志 · 更新与回退 · 验收记录

npm · GitHub Release

DSH 大肥鱼在真实任务中显示项目状态

DSH 大肥鱼不是一个需要单独启动的桌宠应用。它由 DSH 插件启用,跟随 DSH 一起启动和退出,并以透明、无边框、始终置顶的原生窗口显示在桌面上。即使切换到 VS Code、浏览器或文件管理器,也能知道 DSH 当前在思考、修改、测试、等待还是已经完成。

当前版本:0.1.9 · Windows / WSL2 / Linux x64 · macOS 实验性支持

关注最新进展

它有什么用?

如果 DSH 没有提供待办清单,大肥鱼只显示“分析阶段”“实现阶段”“验证阶段”等可靠信息, 不会编造完成百分比。

状态展示

思考 工作
大肥鱼思考状态 大肥鱼工作状态
等待确认 完成
大肥鱼等待用户确认 大肥鱼任务完成
遇到问题
大肥鱼错误状态

状态大致按照下面的流程变化:

stateDiagram-v2
    [*] --> 空闲
    空闲 --> 思考: DSH 开始一轮任务
    思考 --> 工作: 搜索、读取、修改、执行或测试
    工作 --> 思考: 整理工具结果
    思考 --> 等待: 需要用户确认
    工作 --> 等待: 需要用户确认
    思考 --> 完成: 本轮任务完成
    工作 --> 完成: 本轮任务完成
    思考 --> 错误: 任务异常结束
    工作 --> 错误: 工具或任务失败
    等待 --> 思考: 用户继续任务
    错误 --> 思考: 用户重试
    完成 --> 空闲

多个 DSH Session 同时运行时,默认优先展示最需要注意的顶层任务:

等待确认 > 错误 > 工作 > 思考 > 空闲

当有多个活动任务时,状态气泡会同时列出这些任务的状态。

系统要求

普通用户不需要安装 Python、PySide6 或单独运行 Helper。Windows、Linux x64 和 macOS 的 Helper 都已经包含在发布包里。

当前 Alpha 版的设置与桌面状态文案使用简体中文。

安装插件

1. 完全退出 DSH

先关闭 DSH Host,而不只是关闭浏览器标签页。安装或更新时不要让旧版插件继续运行。

2. 命令安装

Windows 用户

在 PowerShell 中进入你的 DSH 安装目录,例如:

cd D:\DSH

然后从 npm 安装稳定版:

pnpm dsh plugin --profile web add dsh-dafeiyu

如果你的系统已经能直接使用全局 dsh 命令,只需要:

dsh plugin --profile web add dsh-dafeiyu

想抢先试用新功能(@alpha 测试版)的用户,把命令里的包名换成 dsh-dafeiyu@alpha 即可。

如果 DSH 运行在 WSL2,请在 WSL 终端执行同一条安装命令。可视模式下插件会 自动通过 cmd.exe 启动包内的 Windows Helper,不需要手动 chmod, 也不需要在 WSL 安装 Python 或 PySide6。原生 Linux 桌面请看下一节,使用 随包的 Linux Helper,而不是 Windows 的 .exe。

Linux 用户(x64 桌面,glibc ≥ 2.35)

Linux 桌面的安装方式与 Windows 相同,只是换成终端和 Linux 路径。发布包 内置预构建 Helper,不需要安装 Python 或 PySide6。

系统要求:

在终端中进入你的 DSH 安装目录(例如 ~/deepseek-harness):

cd ~/deepseek-harness

然后从 npm 安装稳定版:

pnpm dsh plugin --profile web add dsh-dafeiyu

也可以从 GitHub Releases 下载 dsh-dafeiyu-<version>.tgz(不要解压),然后安装:

pnpm dsh plugin --profile web add ~/Downloads/dsh-dafeiyu-<version>.tgz

装完照常启动 DSH WebUI,大肥鱼会由 DSH 自动拉起;不需要手动打开 Helper。

macOS 用户(Apple Silicon / Intel,macOS 12.0+)

0.1.4 首次提供实验性的原生 macOS Helper。CI 已验证 Universal 架构、 AppKit 渲染和进程生命周期;Apple Silicon 实机体验将继续通过用户反馈验证。 当前应用只有 ad-hoc 签名,尚未 Developer ID 签名或公证。Gatekeeper 只在 个别场景触发,放行方式见下方「关于 macOS Gatekeeper」。

macOS 的安装方式与 Windows 相同,只是换成「终端」和 macOS 路径。发布包 内置原生 Helper,不需要安装 Python、PySide6 或 Xcode。

在「终端」中进入你的 DSH 安装目录(例如 ~/deepseek-harness):

cd ~/deepseek-harness

然后从 npm 安装稳定版:

pnpm dsh plugin --profile web add dsh-dafeiyu

如果系统已经能直接使用全局 dsh 命令:

dsh plugin --profile web add dsh-dafeiyu

也可以从 GitHub Releases 下载 dsh-dafeiyu-<version>.tgz(不要解压),然后安装:

pnpm dsh plugin --profile web add ~/Downloads/dsh-dafeiyu-<version>.tgz

装完照常启动 DSH WebUI,大肥鱼会由 DSH 自动拉起;不要手动打开 Helper。

关于 macOS Gatekeeper

实测结论(见 issue #24): 从 npm 安装、用终端下载、以及浏览器下载 .tgz 后直接安装,都不会触发 Gatekeeper 拦截。只有用 Finder 解压出来的 .app 才会携带隔离标记,双击时 被拦截。

3. GitHub Release 备用安装方式

进入 GitHub Releases,下载最新的:

dsh-dafeiyu-<version>.tgz

不要解压这个文件。

不解压,在 DSH 目录中直接安装下载的插件包:

pnpm dsh plugin --profile web add "C:\Users\you\Downloads\dsh-dafeiyu-<version>.tgz"

4. 启动 DSH

照常启动 DSH WebUI。插件默认启用,大肥鱼会由 DSH 自动拉起;不要手动打开 Helper。

5. 找到设置入口

在 DSH WebUI 中进入:

设置 → 插件 → 插件配置 → 大肥鱼桌面伴侣

DSH 大肥鱼插件设置入口

怎么使用?

安装后不需要额外操作:

  1. 启动 DSH。
  2. 在 DSH 中开始一个项目任务。
  3. 大肥鱼根据 DSH 的真实事件切换动作和状态卡。
  4. 切换到其他窗口继续工作;大肥鱼仍然保持在桌面最上层。
  5. DSH Host 真正退出后,大肥鱼自动退出。

状态卡可能显示:

大肥鱼不会监听 VS Code、浏览器或其他应用,也不会截图。只有 DSH Agent 的事件能够 改变它的工作状态。

可配置项目

设置 作用
启用大肥鱼 立即显示或关闭桌面伴侣
角色大小 在 55%~140% 之间调整;右键菜单提供 60% 迷你档
气泡大小 在 80%~120% 之间调整状态气泡,兼顾信息可读性
气泡显示 常驻显示、完全隐藏,或自定义哪些状态显示气泡
活跃程度 控制空闲时眨眼、观察等微动作频率
减少动态效果 减少走动、循环帧和程序化晃动
提示音 控制任务完成或出错时的大肥鱼提示音
响应子 Agent 允许子 Agent 状态参与优先级选择;默认关闭

设置由 DSH 保存,更新插件后通常不需要重新配置。

桌面互动

更新插件

GitHub 仓库出现新提交后,已经安装的插件不会自动变化。新版本发布后,完全退出 DSH,然后更新 npm 稳定版包:

cd D:\DSH
pnpm dsh plugin --profile web update dsh-dafeiyu

也可以再次执行安装命令,它会解析 npm latest 标签指向的新版本:

pnpm dsh plugin --profile web add dsh-dafeiyu

使用 @alpha 测试版的用户,把更新命令里的包名换成 dsh-dafeiyu@alpha 即可。

使用 GitHub Release 安装的用户,可以下载新 .tgz 后覆盖安装:

pnpm dsh plugin --profile web add "C:\Users\you\Downloads\dsh-dafeiyu-<new-version>.tgz"

以上方式都会替换插件及随包携带的 Helper,并保留 DSH 已保存的设置。详细 说明见 插件更新与回退。

回退到旧版本

完全退出 DSH,重新安装之前保留的旧版 .tgz:

cd D:\DSH
pnpm dsh plugin --profile web add "C:\Users\you\Downloads\dsh-dafeiyu-<old-version>.tgz"

卸载插件

完全退出 DSH 后运行:

cd D:\DSH
pnpm dsh plugin --profile web remove dsh-dafeiyu

然后重新启动 DSH。插件代码和 Helper 会从 web profile 中移除。DSH 可能保留一份 不会再生效的历史设置,这不会启动进程或占用额外端口。

常见问题

安装后没有看到大肥鱼
  1. 确认安装使用的是 --profile web。
  2. 完全退出并重新启动 DSH Host。
  3. 进入“设置 → 插件 → 插件配置”确认“启用大肥鱼”已经勾选。
  4. 确认使用包含对应平台预构建 Helper 的发布包,而不是只克隆了缺少预构建 Helper 的源码。 Windows / WSL2 需要 runtime/bin/win32-x64;原生 Linux 桌面需要 runtime/bin/linux-x64;macOS 需要 runtime/bin/darwin。
关闭了 DSH 网页,为什么大肥鱼还在?

大肥鱼绑定的是 DSH Host 生命周期,而不是浏览器标签页。只要 DSH 后台仍在运行, 大肥鱼就会继续显示;真正退出 DSH Host 后它会自动关闭。

为什么没有显示数字进度?

只有 DSH 写入了结构化待办时,插件才能可靠计算“已完成 3/5 步”。没有真实待办数据时, 状态卡只显示当前工作阶段,避免制造虚假的百分比。

右键选择“本次关闭”后为什么没有自动回来?

这是预期行为。“本次关闭”会抑制当前 DSH 运行期间的自动重启;完全退出并重新启动 DSH 后会恢复。若想永久关闭,请在 DSH 设置中取消“启用大肥鱼”。

隐私与边界

macOS 原生适配(AI 辅助生成)

说明:本仓库的 macOS 原生 Helper(runtime/bin/darwin/dsh-dafeiyu-helper.app) 及 native/macos/ 下的 Swift 源码由 AI 辅助生成,经人工 review 与调试后合入, 用于替代原 Qt/PySide6 与 PyObjC 原型在 macOS 上不稳定、易崩溃的问题。

重做了哪些地方

兼容性

开发与测试

pnpm install
npm test
py -3 -m unittest discover -s runtime/tests -t .

开发时可以从源码运行 Helper,但正式用户不应手动启动它:

py -3 -m pip install -r requirements.txt
py -3 runtime\helper.py

构建 Windows Helper:

python -m pip install -r requirements.txt pyinstaller
$env:DSH_DAFEIYU_BUILD_PYTHON = (Get-Command python).Source
npm run build:helper:windows

构建 Linux Helper(需在 Linux x86_64 上;官方发布在 Ubuntu 22.04 上构建, 以保证 glibc 2.35 基线):

python3 -m pip install -r requirements.txt pyinstaller
export DSH_DAFEIYU_BUILD_PYTHON="$(command -v python3)"
npm run build:helper:linux

macOS 原生 Helper 的构建说明见 native/macos/README.md。

更多文档

相关项目:QCYTSN/ds-local-pet 是独立桌宠版本; 本仓库是只服务于 DSH 状态的插件版本。

License

代码采用 MIT License。角色视觉资产不适用 MIT 代码许可证,来源和使用边界 见 ASSET_LICENSE.md。

dsh-dafeiyu (QCYTSN/dsh-dafeiyu)

Searching Database…

这是什么?DSH BigFish(大肥鱼)是一个桌面伴生角色,常驻你的屏幕,以视觉方式实时反映 DeepSeek Harness(DSH)智能体会话的工作状态——思考中、工作中、等待中、出错或完成——呈现为一个置顶的透明窗口。
这是一个独立的桌面宠物应用,还是需要先安装 DSH?它不是独立的桌面宠物应用——它是由 DSH 自身启用的插件。它随 DSH Host 进程一起启动和退出,只以原生覆盖窗口的形式渲染;关闭浏览器标签页并不会关掉它。
安装之前我需要准备什么?你需要已安装好可用的 DeepSeek Harness WebUI,且 CLI 支持 plugin --profile web 命令。普通用户不需要 Python、PySide6 或 Xcode——Windows、Linux 和 macOS 的 Helper 二进制文件已打包在发布包里。
它在每个平台上的工作方式都一样吗?不是——Windows 10/11 和 WSL2 是主要目标平台,Linux 桌面支持需要 glibc 2.35+ 且仅在 Ubuntu 24.04 上验证过,macOS 支持(Apple Silicon 或 Intel,12.0+)明确属于实验性质,以未经公证的 ad-hoc 签名构建发布。
BigFish 是怎么知道 DSH 在做什么的?它只对 DSH 自身的智能体事件做出反应——项目名称、当前阶段、进行中的待办和真实完成计数——它从不监视 VS Code、浏览器或其他窗口,也不会截屏。
我可以自定义哪些东西?角色大小(55%-140%)、状态气泡的大小和可见性、闲置动画的活跃程度、「减少动态」模式、完成/出错的声音提醒,以及子智能体状态是否影响优先级;所有设置都由 DSH 自己保存。
为什么 macOS 的 Gatekeeper 可能会拦截它?只有当你用 Finder 解压下载的 .app 时才会出现,因为这一步会加上隔离标记。通过 npm 安装、用终端下载,或直接运行 .tgz 安装包,都不会触发 Gatekeeper。
如果我关闭 DSH 的浏览器标签页会怎样?什么都不会发生——BigFish 绑定的是 DSH Host 进程的生命周期,而不是浏览器标签页,所以它会继续在桌面上运行,直到 DSH Host 本身完全退出。
Creator
QCYTSN
Size
95.9 MB
Stars
451
Age
2mo
Commits · 90 Days