把小说藏进状态栏,上班时点着翻页偷看
29.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add mchenziyi/dsh-moyu该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
- 读取本地文件index.js:189
info = await stat(filePath); - 读取本地文件index.js:201
const buffer = await readFile(filePath); - 发起网络请求index.js:295
response = await fetch(parsed, { - 读取本地文件index.js:678
configText = await readFile(configPath, 'utf8'); - 执行外部命令固定命令index.js:699
const child = spawn('cloudflared', args, { stdio: ['ignore', 'pipe', 'pipe'] }); - 发起网络请求client.js:981
const response = await fetch(`${baseUrl}${path}`, { - 写入剪贴板client.js:1291
void navigator.clipboard.writeText(text); - 发起网络请求client.js:1358
const response = await fetch(apiUrl(path, params), { signal, credentials: 'same-origin' }); - 发起网络请求client.js:2450
const response = await fetch(apiUrl(path), {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 摸鱼套件:伪装成状态栏的小说阅读器(本地 TXT、目录、老板键、隐藏统计)
README
由 DeepSeek 最新模型翻译生成上班摸鱼才叫赚钱
DSH 的摸鱼套件。第一个模块是伪装成构建日志的小说阅读器,后面会接入更多摸鱼模式。
功能
- 阅读面:输入框下方那一条状态行(会话统计所在位置),一页一行、等宽字体,显示当前内容与章节/页码;阅读开启时会隐藏 DSH 自己的会话统计(轮数 / tok/s / 缓存命中)和上下文占用百分比,关闭阅读后自动恢复;不占用右侧栏,也没有独立的阅读 tab;
- 点击翻页:点这一行的左侧 30% 上一页、右侧 70% 下一页;
- 本地 TXT:导入绝对路径,UTF-8 / GBK / GB18030 / UTF-16 自动识别,按「第 X 章 / 番外 / 序章」等自动分章;
- 书架:多本书、按书保存进度(章 + 页),设置页管理;在线书支持换源;
- AI 解析书源:在设置里粘贴书源地址,自动跑 首页 → 搜索 → 目录 → 正文,由当前默认模型生成选择器 JSON,并在真实页面上逐项校验;保存书源后会自动按样书关键词搜一次,你在结果里选书加入书架。
- 阅读设置:每页字数(状态栏一次显示的字数);
- 目录面板:Cmd/Ctrl + L 打开章节列表,支持筛选、↑↓ 选择、Enter 跳转、Esc 关闭;当前章节高亮。
展开完整文档(README 剩余 1 节)
上班摸鱼才叫赚钱
DSH 的摸鱼套件。第一个模块是伪装成构建日志的小说阅读器,后面会接入更多摸鱼模式。
功能
- 阅读面:输入框下方那一条状态行(会话统计所在位置),一页一行、等宽字体,显示当前内容与章节/页码;阅读开启时会隐藏 DSH 自己的会话统计(轮数 / tok/s / 缓存命中)和上下文占用百分比,关闭阅读后自动恢复;不占用右侧栏,也没有独立的阅读 tab;
- 点击翻页:点这一行的左侧 30% 上一页、右侧 70% 下一页;
- 本地 TXT:导入绝对路径,UTF-8 / GBK / GB18030 / UTF-16 自动识别,按「第 X 章 / 番外 / 序章」等自动分章;
- 书架:多本书、按书保存进度(章 + 页),设置页管理;在线书支持换源;
- AI 解析书源:在设置里粘贴书源地址,自动跑 首页 → 搜索 → 目录 → 正文,由当前默认模型生成选择器 JSON,并在真实页面上逐项校验;保存书源后会自动按样书关键词搜一次,你在结果里选书加入书架。
- 阅读设置:每页字数(状态栏一次显示的字数);
- 目录面板:Cmd/Ctrl + L 打开章节列表,支持筛选、↑↓ 选择、Enter 跳转、Esc 关闭;当前章节高亮。
- 快捷键:
- Cmd/Ctrl + ↑ 上一页
- Cmd/Ctrl + ↓ 下一页
- Cmd/Ctrl + ← 上一章
- Cmd/Ctrl + → 下一章
- Cmd/Ctrl + ; 跳转(输入页码,或 c12 跳到第 12 章)
- Cmd/Ctrl + L 打开目录(章节列表,可筛选)
- Cmd/Ctrl + Shift + M 老板键:隐藏阅读行
- 老板键:只隐藏阅读行,不动右侧栏;点会话头部的鲸鱼图标恢复阅读和书/章/页。
使用
1. 打开 设置 → 上班摸鱼才叫赚钱,页面分成 书架 / 找书 / 书源 / 设置 四个 tab;
2. 在「书架」里粘贴 TXT 文件的绝对路径(支持 ~/novels/book.txt),点「导入」;
3. 导入后输入框下方立即出现阅读行,直接开始阅读;
4. 用快捷键或点击状态栏左/右区域翻页。
仓库里带了一本用于测试的样书:/Users/czy/.dsh/bot/workspace/moyu-sample.txt。
在线看书
1. 设置 → 上班摸鱼才叫赚钱 → 书源 tab;
2. 在「AI 解析书源」里粘贴站点地址,点 AI 解析;
3. 点 保存书源并搜索:保存书源后会自动跳到 找书 tab 并搜索;
4. 在「找书」里直接输入书名或作者,点 搜索:默认自动匹配全部可搜索书源,也可以在右侧下拉里限定某一个源;
5. 点搜索结果的 查看详情,先看作者、来源和目录预览,确认后再点 加入书架;
6. 回到 书架 tab,点「开始摸鱼」即可阅读。加入后完整目录会在后台继续读取,书架会显示读取状态。
如果书源没有搜索规则(书源行会显示「仅阅读(无搜索规则)」,通常是站点搜索接口不可用),可以在 找书 → 手动添加书籍(高级) 里展开「从书籍页 URL 加入」,粘贴书籍页地址加入书架。
书源列表里的每一行也有「搜书」快捷按钮,会跳到「找书」并选中该源。手写规则的表单收在 手动新建 / 编辑书源 里,点「编辑」会自动展开。
模块结构
设置页现在有两级:
1. 摸鱼模块:小说 / 游戏 / 更多;
2. 进入「小说」后,才是 书架 / 找书 / 书源 / 设置;进入「游戏」后是炸金花联机。
小说和游戏模块已经可用,「更多」先占位;后续模块会共用这套外壳,不会再把所有功能堆进小说页。
游戏模块:炸金花
第二个模块是局域网联机的炸金花(只支持 DSH 插件客户端,不做独立网页版)。
- Cloudflare 模式(推荐,已部署):独立 Worker moyu-zjh + Durable Object,房间跑在 Cloudflare;房主不用开电脑当服务器,也不需要局域网/隧道。默认地址是 Pages 代理 https://moyu-zjh-pages.pages.dev(因为部分网络会重置 workers.dev,Pages 入口可用)。高级设置里可以改地址。
- 本地模式:房主点「创建房间」后,插件会在本机端口(默认 17890)起服务,并生成 邀请码(形如 MZJ1-...)。
- 加入房间:朋友把邀请码发给你,粘贴到一个输入框里点「加入」即可;不需要手动填 IP、端口和房间号。同一 Wi-Fi 下不用公网地址。
- 本地模式的公网联机:点「一键公网隧道」(需要本机已安装 cloudflared,brew install cloudflared)。支持两种模式:
- 快速隧道:随机 trycloudflare.com 地址,无需域名;
- 命名隧道:使用你已有的 Cloudflare 域名和 ~/.cloudflared/config.yml,插件直接 cloudflared tunnel --config ... run,给朋友一个稳定的 https://你的域名。
命名隧道需要先做一次:cloudflared tunnel login、cloudflared tunnel create moyu-game、cloudflared tunnel route dns moyu-game game.example.com,并让配置里的 ingress 指向本机游戏端口(默认 17890)。
- 极简隐藏模式:Cmd/Ctrl + Shift + G 呼出/隐藏一个很窄的等宽牌桌浮窗;老板键 Cmd/Ctrl + Shift + M 会立即隐藏,不写会话日志、不落盘牌局。
- 规则:2–6 人、闷牌/看牌、跟注/加注/弃牌/比牌;服务端权威,未看牌前不会把牌发给客户端。
- 仅筹码/积分,不涉及真钱、支付或兑换。
- 首次升级到 0.10.x/0.11.x 需要完全重启 DSH:游戏服务器和公网隧道是 Host 新增能力,热更新只更新浏览器端。
- Cloudflare 模式的本地开发/部署说明见 game-worker/README.md;线上入口是 moyu-zjh-pages.pages.dev,后端是 moyu-zjh Worker。
缓存、追更与书源管理
- 章节缓存:已读章节会写入本地缓存,重开 DSH 或站点暂时不可用时可以直接重看;当前章读完后会在后台预加载下一章。
- 目录缓存与刷新:在线书的目录保存在本地,重启后不用重新抓取;书架内联目录里的「刷新」可以追更,并提示新增章节数。
- 书源导入/导出:书源页的「导入 / 导出 / 健康检查」支持导出全部书源 JSON、批量导入,也兼容 Legado 书源里 CSS 选择器可直接使用的子集(JS/XPath 规则会导入失败)。
- 书源健康检查:逐个或全部检查书源,跑一次搜索和目录预览;异常书源会标记「异常」,可以用「AI 修复」重新解析站点。
- 搜书合并:同名同作者的书会合并成一条,显示所有来源;可切换排序、按来源查看,并支持「加载更多结果」翻页。
- 书架整理:优先使用搜索结果的封面图,没有时自动生成占位封面;支持分组、按最近阅读/添加时间/书名/进度排序,以及批量删除。
老板键说明
默认 Cmd/Ctrl + Shift + M(Cmd+M 在 macOS 上是系统级最小化,插件拿不到,所以换了组合)。
除了注册到 DSH 的快捷键系统,插件还挂了一个页面级键盘兜底:当快捷键系统拒绝某个组合(原生菜单占用/冲突)时,方向键和老板键仍然可用;如果两者都触发,兜底会通过 defaultPrevented 跳过,不会翻两页。翻页/翻章只在阅读开启(状态栏可见)时生效,老板键随时可用。
在线书源规则
在线书源是你自己维护的规则,插件不内置、也不收集任何站点规则。设置页的「在线书源」里用精简表单填写:
- 必填:站点地址、搜索地址(可点「从首页识别搜索」自动填)、搜索结果项、目录项、正文容器;
- 可选:书源名称;其余标题/作者/链接字段默认从条目里自动推导,收在「高级选项」里。
填好后点 测试书源,插件会依次跑 搜索 → 目录 → 正文 并显示每一步结果,通过后保存即可。
保存后可以添加多个书源;搜索支持书名或作者;搜到后加入书架;阅读时如果某个源缺章或加载失败,可以在书架里点「换源」,按书名在另一个书源里搜索、选中后迁移进度。
表单字段对应的规则格式如下(也见 examples/source-rule.example.json):
{
"id": "example",
"name": "示例书源", "baseUrl": "https://example.com",
"search": {
"url": "https://example.com/search?q={{keyword}}",
"list": ".result-item",
"title": ".title@text",
"author": ".author@text",
"bookUrl": "a@href"
},
"toc": {
"list": "#list dd a",
"title": "@text",
"chapterUrl": "@href",
"bookTitle": "h1"
},
"content": {
"text": "#content",
"remove": ["script", ".ads"]
}
}
- 选择器语法:selector@text(默认,取文本)、selector@html、selector@属性名(如 a@href);@text 可以单独使用,表示取条目自身的文本(例如 toc.title: "@text");相对地址自动按所在页面解析。
- 多选择器回退:字段可以用 || 分隔多个候选,例如 #content || .content || .showtxt,按顺序取第一个非空结果。
- 正文换行:正文提取会把 、、、、 转成换行,并强制移除 script/style/noscript。
- 模板:{{keyword}} 会被 URL 编码后替换;{keyword} 这种单层花括号也会被兼容;{{base}} 是 baseUrl。
- 分页:目录页的「下一页 / 数字页码」会自动跟随合并;章节正文的「第 (1/N) 页」或 _2.html 多页会自动拼接成完整一章。
- 必填:id/name、toc.list、content.text;搜索相关可选。
- 编码:Host 代理会自动识别 Content-Type 或 ,GBK/GB2312 会按 GB18030 解码。
- 只支持静态 HTML;需要 JS 渲染、登录、验证码的站点不在能力范围内。
AI 解析书源
不想手写选择器时,把书源地址粘到「在线书源 → AI 解析书源」里,点 AI 解析:
1. 浏览器端先读取首页,优先从 GET 搜索表单识别搜索地址;
2. 识别不到时,把首页 HTML + 结构提示交给当前默认模型(设置 → 模型),由模型给出站点名、搜索模板和样书链接;
3. 再依次打开搜索结果页、书籍页、第一章,把每页 HTML 与结构提示交给模型,分别生成 search / toc / content 规则;
4. 每一步都回到真实 DOM 用 querySelector 校验;没匹配到就带着报错让模型再改一次(最多重试一次);
5. 全部通过后把规则填进表单,并显示生成的 JSON 和样书信息。确认后点「保存书源并搜索」:保存书源,并按样书关键词自动搜一次,你在下面的结果里选想看的书加入书架;如果书源没有搜索规则(直接粘贴的书籍页),按钮会变成「保存书源并阅读样书」。
解析过程中临时搜到的那本书只是样本,用于学习本站的目录/正文结构,不会自动加入书架。保存后的书源是通用的,之后可以用它搜索任意书名。
说明:
- 用的是 DSH 当前默认模型(设置 → 模型里的默认选择),不需要单独配 API key;
- 页面 HTML 会发送给模型(已去掉 script/style,最多约 100k 字符);不想外发页面内容就继续手填表单;
- 只支持静态 HTML + GET 搜索的站点;JS 渲染、登录、验证码站点仍然不支持;
- 如果粘贴的是书籍页(没有搜索入口),会生成只有目录 + 正文的书源,并可直接把这本书加入书架;
- 首页搜索框由 JavaScript 动态渲染时,插件会自动探测几种常见的 GET 搜索地址;探测成功就继续生成搜索规则,失败则生成「仅阅读」书源并在结果区说明具体原因;
- 首页找不到书籍链接时,可以在「书籍页 URL」里补一个 URL 再解析。
测试与换源
- 测试书源:表单填好后点一下,自动用测试关键词跑 搜索 → 取第一个结果的书籍页 → 目录 → 第一章节正文,并显示每步结果;失败时给出具体是哪一步、什么错误。
- 换源:书架里每本在线书都有「换源」按钮。选另一个书源,按书名搜索,选中结果后切换。新旧目录的章节标题能对上,就迁移到对应章节;对不上,保留章节序号。
关于开源规则
书源格式本身有开源先例,比如「阅读/Legado」的 book source JSON。但它的规则引擎包含 JS 表达式、XPath、复杂模板,完整兼容工作量很大。公开规则库大多指向盗版站点,本插件不会内置,也不代为收集。当前实现的是简单、可读的 CSS 选择器规则,方便你自己写、自己维护。后续可以加 Legado 规则的转换/导入,只做格式兼容,不附带站点。
后续
- Legado 规则格式的导入/转换(格式兼容,不附带站点);
- 更多摸鱼模块(股票、网页、视频…),共用这套外壳;
- EPUB、自动滚屏、书签/目录面板。
文件
- index.js — Host 半:本地 TXT 读取、编码识别、分章、按章取文。
- client.js — Client 半:阅读 tab、状态栏、入口、设置页、快捷键。
- cordis.patch.yml — 插入 Host 行。
- locale/*.json — 插件管理页元数据。
- examples/source-rule.example.json — 书源规则示例。
- test/host.mjs / test/client.mjs — Host / Client 半的测试(npm test)。
- test/browser.mjs — AI 解析流水线的真实 DOM 测试(npm run test:browser,需要 playwright-core 和 Playwright Chromium)。
- icon.svg — 插件图标。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
mchenziyi/dsh-moyu
把小说藏进状态栏,上班时点着翻页偷看
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 3,801已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,082已汉化DSH
71.7
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,292已汉化DSH
71.3
智能体运行框架路由HarnessRouter/harnessrouter
智能体运行框架的统一接口。
★ 3,800已汉化DSH
71.2