Bundle
dsh-client-deep-sneak
DeepSneak:DeepSeek Harness 的摸鱼播放器。右下角小窗看 B站(首页推荐/搜索/观看历史/原生播放器/弹幕/评论/摸鱼统计),agent 工作时自动暂停提醒,处理完从原位置精确续播。
- Source
- Rain-Shuoyu
- stars
- 2 stars
- License
- MIT
- Updated
- Updated 8 days ago
Readme
<p align="center">
<img src="https://img.shields.io/badge/DeepSneak-v0.12.0-%23fb7299?style=for-the-badge" alt="DeepSneak" />
</p>
<h1 align="center">🐟 DeepSneak</h1>
<p align="center">
<b>让 DeepSeek 干活,你在旁边摸鱼。</b><br/>
右下角小窗看 B站 · agent 需要你时自动暂停提醒 · 处理完回来从原位置精确续播
</p>
<p align="center">
<img src="https://img.shields.io/badge/version-0.12.0-blue" alt="version" />
<img src="https://img.shields.io/badge/license-MIT-green" alt="license" />
<img src="https://img.shields.io/badge/platform-DSH%20Web-blueviolet" alt="platform" />
<img src="https://img.shields.io/badge/type-web%20client%20plugin-ff69b4" alt="type" />
<img src="https://img.shields.io/badge/摸鱼-专业-brightgreen" alt="摸鱼" />
<a href="https://awesome-dsh-plugin.com"><img src="https://awesome-dsh-plugin.com/badge.svg" alt="Awesome DSH Plugin" /></a>
</p>
---
## ✨ 功能一览
| | | |
|---|---|---|
| 🏠 **首页推荐**<br/>B站真实推荐流,免登录 | ▶️ **原生播放器**<br/>拖动 / 倍速 / 进度可控 | ⏸️ **精确续播**<br/>agent 提醒后原位置继续 |
| 💬 **弹幕**<br/>滚动弹幕与播放同步 | 📝 **评论区**<br/>播放页下方浏览,加载更多 | 🔗 **相关推荐**<br/>横滑换片不中断 |
| ☀️/🌙 **双主题**<br/>白天 / 黑夜一键切换 | 📊 **摸鱼统计**<br/>今日 / 本周 / 累计时长 | 🔔 **智能提醒**<br/>完成 / 阻塞 / 权限 / 提问 |
| 🟢 **状态徽标**<br/>工作中 / 空闲 / 需要你 | 🔎 **视频搜索**<br/>关键词搜全网,分页浏览 | 🕘 **观看历史**<br/>本地记录,未看完续播 |
## 📦 安装
### 环境要求
- DeepSeek Harness (DSH) Web
- Node.js ≥ 18
### 一键安装(推荐)
```bash
# 在 DSH 部署目录(含 cordis.yml 的 profile,如 ~/.dsh/profiles/web)执行
dsh plugin --profile web add dsh-client-deep-sneak
```
或安装 [dsh-market](https://github.com/dsh-market/dsh-market),在设置 → 插件市场里搜索 **DeepSneak** 一键安装。
### 手动安装
```bash
# 1. 在 DSH 部署目录(含 cordis.yml 的 profile,如 ~/.dsh/profiles/web)安装
cd ~/.dsh/profiles/web
npm install dsh-client-deep-sneak
```
```yaml
# 2. 编辑该目录下的 cordis.patch.yml,追加:
- insert:
- id: deep-sneak
name: dsh-client-deep-sneak
```
```bash
# 3. 重启
npx @deepseek-ai/dsh web
```
刷新页面,右下角即出现 DeepSneak 小窗。
## 🚀 快速上手
1. **看视频**:首页推荐流点任意卡片 → 原生播放器自动播放,弹幕同步滚动
2. **搜视频**:看板顶部搜索框输入关键词(或点「🔍 搜索」tab),结果卡片带时长 / 播放 / 弹幕数,支持翻页
3. **摸鱼**:让 agent 开始干活,一边看一边等
4. **被打断**:agent 需要你时视频自动暂停 + 半透明蒙版提醒,点「回到对话」去处理
5. **续播**:点「继续看视频」→ **从原位置精确续播**
6. **个性化**:☀️/🌙 切换主题,📊 查看今日 / 本周 / 累计摸鱼时长
7. **观看历史**:点「🕘 观看历史」看最近 50 条;未看完从上次进度继续,看完的下次从头播
## ⚙️ 配置
无需任何配置,安装即用。以下偏好自动保存(localStorage):
| 偏好 | 入口 |
|---|---|
| 主题(白天 / 黑夜) | 标题栏 ☀️ / 🌙 |
| 弹幕开关 | 播放页「💬 弹幕」 |
| 评论区开关 | 播放页「📝 评论」 |
## 🛠 工作原理
```
┌──────────────────────────────────────────────┐
│ DSH Web 页面 · 右下角 DeepSneak 小窗 │
│ ┌────────────┐ ┌───────────────────────┐ │
│ │ 首页推荐流 │ │ 原生播放器 + 弹幕层 │ │
│ └─────┬──────┘ └──────────┬────────────┘ │
│ │ fetch │ <video> │
└────────┼─────────────────────┼───────────────┘
▼ ▼
┌──────────────────────────────────────────────┐
│ Host 半区 · 同源代理路由 │
│ /dsh-bili/api JSON(推荐 / 播放 / 评论) │
│ /dsh-bili/dm 弹幕 XML(gzip 解压) │
│ /dsh-bili/media 视频流(Range 支持拖动续播) │
└──────────────────────────────────────────────┘
```
- **agent 联动**:通过会话快照(`useSessions`)实时感知 agent 状态(权限 / 提问 / 完成 / 阻塞),触发暂停 + 蒙版 + Toast 提醒
- **精确续播**:提醒时对 `<video>` 执行 `pause()`(元素保持挂载、进度不丢),继续时 `play()` 原位置恢复
- **摸鱼统计**:真实播放时长累计,本地持久化,仅统计播放中的时间
- **观看历史**:进度只存在当前浏览器 localStorage(最多 50 条);暂停 / 切视频 / 每 30 秒落盘;播完后进度归零,记录仍保留,下次从头播放
## ❓ FAQ
**为什么最高只有 720p?**
B站对未登录 API 的画质限制。需要高清 / 弹幕全功能建议同时使用 B站网页版。
**为什么不做抖音?**
`www.douyin.com` 返回 `X-Frame-Options: DENY` + CSP 白名单,任何站点都无法 iframe 嵌入;其网页 API 也需签名鉴权,无免登录公开接口。
**弹幕为什么感觉比较简单?**
为保证「精确续播」,播放器不使用 B站 iframe,而是通过公开弹幕接口自绘轻量弹幕层,因此弹幕样式为极简风格(滚动 / 顶部 / 底部,支持颜色与字号)。
**数据存在哪里?**
全部本地(localStorage),不上传任何数据;代理请求仅用于拉取 B站公开内容。主题、弹幕/评论开关、摸鱼统计、观看历史都只保存在本机。
## 🗺 路线图
- [x] 首页推荐流(免登录)
- [x] 原生播放器 + 精确续播
- [x] 弹幕 / 评论区
- [x] 白天 / 黑夜主题
- [x] 摸鱼统计(今日 / 本周 / 累计 / 近 7 天)
- [x] 观看历史与「上次看到」续播(本地 localStorage,最多 50 条)
- [ ] 摸鱼目标提醒(超过阈值提醒你该干活了)
- [ ] 弹幕密度 / 字号 / 速度调节
## 🧑💻 开发
```
├── lib/
│ ├── index.js # Host 半区:API / 弹幕 / 视频流代理
│ └── client.js # Client bundle(手写源码,无需构建)
└── src/dynamic/ # 动态插件原型(bili-1)源码归档
```
- 客户端 bundle 为纯手写 JavaScript(`__ModuleLoader__` 格式),**无需构建步骤**,改完直接提交即可
- 本地快速体验:在 DSH 会话内以动态插件方式运行原型(见 `src/dynamic/`)
## 📄 License
[MIT](LICENSE)
Install
dsh plugin --profile web add github:Rain-Shuoyu/dsh-client-deep-sneak#21d0646de043b5bb2e18835826394e0aa2fe7497
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-client-deep-sneak from the hub