zhangCzhe / dsh-slackoff

Listed

DSH 摸鱼伴侣 —— AI 工作时自动弹出视频小窗播放,中断/询问时自动暂停

mainOther View source

Installation

npm install dsh-slackoff

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 804e63aSynced Aug 18, 2026

🐟 dsh-slackoff

摸鱼伴侣 —— AI 干活时,自动弹出视频小窗陪你摸鱼

Chrome MV3 DSH Plugin License: MIT


这是什么

dsh-slackoff(摸鱼伴侣)是一个「AI 工作间隙自动摸鱼」小工具:

  • 🏃 AI 开始思考 / 调用工具 → 屏幕右侧自动弹出一个小窗,开始播放视频
  • 🛑 AI 中断 / 暂停 / 向你询问 → 视频自动暂停,把声音和注意力还给你

真实视频站页面完整保留——弹幕、评论、推荐、进度条,全都在,不是阉割版内嵌播放器。


✨ 特性

⏯️ 自动播放 / 自动暂停完全跟随 AI 状态,零手动操作
🪟 小窗常驻右侧 420×640 常驻小窗,不遮挡主界面
🖼️ 画中画播放时自动进入画中画(可选开关)
🌐 多站点B 站 / YouTube / TikTok 等
🐟 一键摸鱼输入框旁「开始摸鱼」按钮,随时手动唤起
🎯 聚焦即暂停点击输入框准备打断时,自动暂停
🔧 可配置目标站点列表动态增删;「只在复杂任务时开启」

📸 效果预览

AI 工作时,右侧自动弹出视频小窗并播放;AI 中断 / 询问时自动暂停。

dsh-slackoff 运行效果:AI 工作时抖音小窗播放

摸鱼配置(DSH 设置 → 通用):站点列表可增删、点击启用,「只在复杂任务时开启」。

dsh-slackoff 摸鱼配置面板

扩展设置面板(Chrome 工具栏 🐟 图标):实时显示 AI 状态与目标站点,开关自动控制与画中画。

dsh-slackoff 扩展设置面板

🎬 工作原理

DSH 插件dsh/)监听 Agent 事件(思考 / 调用工具 / 审批 / 结束),经状态机归纳为 thinking · tool · awaiting · idle 四态,并通过 GET /slackoff/state 暴露。

Chrome 扩展extension/)在 DSH 页轮询这个状态,经后台路由到视频站页面,调用真实 <video>play() / pause(),并支持画中画。


🌐 支持的站点

Bilibili · YouTube · TikTok · Douyin · Vimeo · Dailymotion · Twitter(X) · Facebook · Instagram · Reddit · Twitch


🚀 安装

前置条件

  • Chrome(MV3,≥ Chrome 111)
  • 一个运行中的 DSH 会话(http://127.0.0.1:3080
  • Node.js ≥ 18

1️⃣ 安装 Chrome 扩展

# 克隆仓库
git clone https://github.com/zhangCzhe/dsh-slackoff.git
cd dsh-slackoff

# 打包扩展源码 → extension/dist/
npm install               # 安装 esbuild
npm run build:extension   # 或零依赖方式:node build-extension-nospawn.mjs

然后加载到 Chrome:

  1. 打开 chrome://extensions
  2. 打开右上角 「开发者模式」
  3. 「加载已解压的扩展程序」
  4. 选择本仓库的 extension/ 目录(含 manifest.json 的那一层)

✅ 验证:工具栏出现 🐟 图标;点它应弹出设置面板并显示「AI 状态 / 目标站点」。

2️⃣ 安装 DSH 插件

npm install dsh-slackoff

扩展默认从 http://127.0.0.1:3080/slackoff/state 读状态,两端需在同机配对。


🎮 使用

  1. 打开 DSH 会话页面(127.0.0.1:3080)。
  2. 侧边栏 → 设置 → 「🐟 摸鱼配置」,添加目标站点(B 站 / YouTube 链接),设为「使用中」。
  3. 让 AI 开始一个任务 → 右侧自动弹出小窗并播放。
  4. AI 询问 / 中断 / 回合结束 → 视频自动暂停。
  5. 想手动摸鱼?点输入框旁的 「🐟 开始摸鱼」 按钮。

首次播放授权

浏览器自动播放策略要求一次用户手势。首次使用时点一下视频页即可解锁有声自动播放(TikTok 会自动以静音起步)。


📁 目录结构

dsh-slackoff/
├── package.json                # 根包:test / build:extension
├── build-extension.mjs         # esbuild 打包脚本
├── build-extension-nospawn.mjs # 零依赖打包脚本(无 esbuild 环境可用)
├── dsh/                        # DSH 插件
│   ├── host.js                 #   Host:事件 → 状态机 → 端点
│   ├── client.js               #   Client:按钮 + 配置面板
│   ├── client.css
│   ├── state-machine.js        #   状态机(纯逻辑)
│   └── package.json            #   可分发包清单
├── extension/                  # Chrome 扩展
│   ├── manifest.json
│   └── src/
│       ├── background.js       #   service worker 路由
│       ├── dsh-bridge.js       #   DSH 页状态桥
│       ├── site-controller.js  #   视频站控制 + 画中画
│       ├── selectors.js        #   视频选择器
│       ├── decision.js         #   播放决策 + 去重
│       ├── shadow-patch.js     #   强制开放 shadow root
│       ├── options.html / .js  #   扩展设置面板
└── test/                       # node --test 纯逻辑测试

🛠 开发

npm test                # 跑纯逻辑测试(状态机 / 决策 / 选择器 / 端点)
npm run build:extension # 打包扩展

📄 License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Plugin manifestDetected
TestsDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 16, 2026, 3:12 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.