A lightweight entertainment plugin package that integrates casual entertainment features like praise, fortune prediction, Pomodoro timer, desktop pet raising, slack battle reports, Live2D, boss invisibility, and code garden into DSH Web chat.
- Language
- JavaScript
- License
- MIT
- Branch
- main
Install
$ dsh plugin --profile web add github:lvyuchuiyi/dsh-funpackRun the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial
Install via your agent
Install the DeepSeek Harness plugin lvyuchuiyi/dsh-funpack for me: review the repository at https://github.com/lvyuchuiyi/dsh-funpack first, then run the install command and verify the plugin loads successfully.
Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.
One-Line Description
A "Fun Collection" plugin for DSH Web: hangs a row of one-click quick commands above the chat input box, providing over a dozen casual features including praise, fortune, reports, Pomodoro, AFK reminders, AI persona switching,养成桌宠, theme beautification, Live2D, Boss stealth, and code garden—turning chat gaps into playable mini-games.
Core Features
- Provides casual/statistics commands like
/praise/fortune/report/season/break/pet/feed/hug, with interaction counts recorded in reports and season scores - Provides
/pomodoro [minutes]Pomodoro timer, default 25 minutes, supports 1-120 range, automatically accumulates focus minutes when finished; remaining time can be checked via/pomodoro-status, stopped via/pomodoro-stop - Provides
/persona [key]to switch AI speaking style (default / big sister / little sister / abstract funny / Liangzi / Fengge), injects persona prompt segment viactx.systemPrompt.section, automatically releases previous segment when switching - Provides
/break-goto jump to AFK target (URL or local program path), opened by server-side call tocmd.exe start - Client renders a row of quick buttons above Web input box (Praise Me / Fortune / Report / Pomodoro 25 / Persona / AFK), with additional buttons for 🕶 Boss Stealth, 🎨 Beautify, Desk Pet toggle, etc.
- Floats a raiseable desk pet in the bottom-right corner of the webpage, supports custom image/dialogue/interaction keys/favorability, includes two presets "Taffy" and "Senko", optional Live2D models
Technical Implementation
- Language: JavaScript (ESM)
- Key Dependencies: Zero runtime dependencies; server-side uses only Node.js built-ins
node:fs/promises/node:url/node:child_process, client-side injects React components viawindow.__ModuleLoader__.load - Architecture: Single-file Cordis bundle plugin;
cordis.patch.ymldeclares injection forid: funpack,package.json#dsh.bundle.patchspecifies patch mount; server-sideindex.jsregisters 13 slash commands viactx.commands.register, registers Taffy pet resource routes viactx.webServer.register, injects persona viactx.systemPrompt.section; client-sideclient.jsloads via DSH browser plugin runtime - Entry Files:
index.js(server-side) +client.js(browser-side, includes beautification panel, desk pet, code garden, etc. UI)
Use Cases
For people who want to add a bit of "small happiness" to their chats while using DSH—like drawing a fortune card before starting work, opening a Pomodoro while focusing on code and also planting a tree, or having the desk pet act cute when tormented by requirements. Suitable for casual players who want to make "AFK" visualizable and shareable; not suitable for users pursuing extreme simplicity or pure conversation functionality only.
Prerequisites and Compatibility
| Dependency | Min Version | Notes |
|---|---|---|
| DSH | Not declared | No dsh version constraint in package.json; mounted to web profile via dsh.bundle.patch |
| Node.js | Not declared | No engines in package.json, but code uses ESM + top-level import, requires host Node support |
| Platform | Cross-platform (client) | Browser-side UI (desk pet, beautify, Live2D, code garden) works in browsers on macOS/Windows/Linux |
/break-go command | Windows | index.js:292 directly calls cmd.exe /c start, only works on Windows, fails on macOS/Linux |
| Native modules | None | All Node built-in modules and browser built-in APIs used, no third-party native dependencies |
Installation
dsh plugin --profile web add github:lvyuchuiyi/dsh-funpack
Configuration Options
| Config | Type | Description | Default |
|---|---|---|---|
| Desk Pet Toggle | Browser Toggle | Controls whether desk pet is displayed in bottom-right, can be hidden or summoned anytime | Visible |
| Beautify Theme | Browser Selection | Deep Space / Sakura / Mint / Terminal / Paper White five color schemes, override CSS variables | Deep Space |
| Background Image & Fit Mode | Browser Selection | Upload GIF/PNG/WebP as background, options: stretch/fill/center/tile | No background |
| Background Opacity/Dark Mask/Blur | Browser Slider | Three sliders control background opacity, mask depth, blur degree | 85% / 45% / 6px |
| Dynamic Effects | Browser Selection | Star Rain / Raindrops / Sakura / Aurora / Off | Off |
| Danmaku Style/Speed/Size/Opacity | Browser Selection | Controls praise and fortune danmaku display style | Neon / Normal / Medium / 90% |
| Quick Button Order & Visibility | Browser Sort | Each button can be individually toggled, use ↑↓ to reorder | All on, default README order |
| AFK Target URL/Program Path | Browser Text | URL or local program path opened by /break-go | Empty |
| Boss-Key Program Path | Browser Text | Program auto-started in Boss Stealth mode | Empty |
| Desk Pet Image/Dialogue/Voice/Favorability | Browser Text & Toggle | Image can upload GIF/PNG/WebP or switch Taffy/Senko preset; dialogue, interaction keys, TTS voice all editable in panel | Whale Girl GIF + default dialogue |
| AI Persona | Command Parameter | /persona nee/imouto/abstract/liangzi/fengge/default | default |
All above settings are stored in browser localStorage, the plugin has no separate config file, environment variables, or DSH config items.
FAQ
Q: What is this plugin for?
A: Puts a row of one-click buttons above the DSH Web input box (praise, fortune, report, Pomodoro, persona, AFK, etc.), plus over a dozen casual features like raiseable desk pets, beautify themes, Live2D, Boss stealth, code garden—making chat gaps less monotonous.
Q: Do I need extra configuration after installation?
A: No. Just use the installation command. All personalization (desk pet image, beautify theme, favorability, achievements, etc.) is adjusted at runtime via the browser panel, state written to localStorage—no extra environment variables or config files needed.
Q: Can I use it on macOS or Linux?
A: Most client features are cross-platform, including desk pet, beautify, Live2D, code garden, achievements, seasons, etc. But the /break-go command directly calls cmd.exe start on the server side to open links—it only works on Windows; that command will fail on macOS/Linux, with errors printed to console.
Q: Where are report, season, achievement data saved? Will they be lost on refresh?
A: Client-side achievements, desk pet favorability, code garden, desk pet config are saved in browser localStorage, continue accumulating after refresh. But server-side stats from /praise /fortune /pomodoro /season etc. are only stored in memory Maps, reset to zero when DSH server restarts.
Q: How do I switch AI's speaking style?
A: Enter /persona nee (big sister), /persona imouto (little sister), /persona abstract (abstract funny), /persona liangzi (Liangzi), /persona fengge (Fengge), or /persona default (restore default) in the chat. Without parameters, it lists current persona and options.
Q: Does Live2D need internet?
A: Yes. Live2D first use pulls PIXI + Live2D runtime from CDN; model files load from your .model3.json link (Senko from community Live2D model collection). If loading fails, desk pet automatically falls back to original GIF image and shows error message.
Q: Does it conflict with official DeepSeek Harness features?
A: No conflict. Plugin mounts as Cordis bundle under web profile, only adds commands, systemPrompt segments, and static resource routes—doesn't modify DSH core code. /persona injects persona prompts via ctx.systemPrompt.section, releases previous segment before each switch, so it can be repeatedly switched without accumulation.
Q: How to uninstall?
A: Use DSH's own plugin removal command (specific command varies by DSH version). Plugin has no separate external process, no background service, no config files—after uninstall, keys starting with dsh-funpack- in browser localStorage can be manually cleaned up.
Learning Difficulty
Beginner — one installation command enables use, most used features are "click button" or "enter one command", all personalization via GUI panel, no need to read docs or edit configs.
Known Issues and Limitations
/break-gocommand hardcodes Windowscmd.exe /c startto open links (index.js:292), fails on macOS/Linux when callingexecFile, console only prints[break-go error], no visible reason in UI- Server-side
/praise/fortune/pomodoro/report/seasonetc. command stats all saved in memory Map (index.js:108), reset when DSH server process restarts, won't persist across sessions - Pomodoro default cap 120 minutes (
Math.min(120, ...)atindex.js:191), cannot split across days; stopping mid-way doesn't count toward completions (index.js:163-166only accumulates when timer expires) - Desk pet, achievements, code garden, etc. client data depends on browser localStorage, lost when switching browsers or clearing cache, no cross-device sync
- Live2D model first load depends on external CDN (PIXI + Live2D runtime) and
.model3.jsonlinks, offline environment can only use GIF desk pets
一个把夸夸、运势、战报、番茄钟、摸鱼提醒、沉浸氛围、成就赛季、桌宠语音、Live2D、Boss 隐身和代码花园集成在一起的轻量 DeepSeek Harness 插件。
仓库:https://github.com/lvyuchuiyi/dsh-funpack

特点:
- 单文件
index.js,零依赖、零构建 - Web UI 输入框上方提供一键命令按钮,点击直接执行
- 网页右下角有一只 DeepSeek 娘风格的鲸鱼娘桌宠,支持完全自定义形象、台词和互动键
- Web Audio 实时合成环境音,不需要任何音频文件
- 成就 / 赛季 / 赛季卡,把摸鱼玩成养成游戏
- Fun 资产市场,支持内置资产包与 dsh-plugin 社区仓库扫描
- 桌宠语音、Live2D 模型、Boss 隐身、番茄种树
- 安装不需要任何构建授权
- 所有统计按会话记录,
/report生成一张摸鱼战报
安装
从 GitHub 安装:
dsh plugin --profile web add github:lvyuchuiyi/dsh-funpack
本地目录安装:
dsh plugin --profile web add ./dsh-funpack
不安装、直接调试单个文件时,可以用 --patch 挂载一个临时 overlay:
- insert:
- id: funpack-local
name: 'file:///绝对路径/dsh-funpack/index.js'
命令
| 命令 | 说明 |
|---|---|
/praise | 随机夸你一句 |
/fortune | 抽一张开发者今日运势 |
/report | 生成今天的摸鱼战报 |
/season | 查看当前赛季的插件互动战绩 |
/pomodoro 25 | 开始一个 25 分钟番茄钟 |
/pomodoro-status | 查看剩余时间 |
/pomodoro-stop | 停止番茄钟 |
/break | 随机一条休息建议 |
/break-go | 打开自定义摸鱼目标:网址或本地程序路径 |
/pet | 摸摸桌宠的头 |
/feed | 给桌宠喂食 |
/persona | 查看或切换 AI 说话人设 |
人设
/persona 可以切换 AI 的说话风格:
| 人设 | 说明 |
|---|---|
nee | 大姐姐 |
imouto | 小妹妹 |
abstract | 抽象搞怪 |
liangzi | 良子 |
fengge | 峰哥 |
default | 恢复默认 |
桌宠自定义
点击桌宠旁的 ⚙ 打开设置面板:
- 形象:上传 GIF/PNG/WebP,或使用默认鲸鱼娘;支持动态和静态图片
- 宠物包:上传
pet.json+spritesheet.webp/png,直接加载 HatchPet/Codex 宠物包生态的现成动态宠物 - 内置预设:一键加载社区 Codex 宠物“塔菲 / Taffy”,或热门狐娘 Live2D“仙狐 / Senko”
- 设置面板按「形象 / 台词 / 语音 / 好感」分页,切换快捷、不再一长串挤在一起
- 空闲台词:每行一条,用户空闲时由桌宠随机轮播
- 思考台词:每行一条,DeepSeek 思考时切换
- 互动键:每行一个
名称,命令,点击直接执行 - 显示开关:快捷按钮行里的
桌宠开 / 桌宠关可以随时隐藏或唤回桌宠
位置和大小通过拖拽/-/+ 调整,所有设置都会保存在浏览器本地。
内置塔菲预设
桌宠设置面板里点 预设:塔菲 / Taffy,就会加载社区 Codex 宠物
Taffy / 塔菲 的完整图集动画。资源随插件打包,
离线也能用;切换时会顺带换成塔菲风格的空闲/思考台词,之后仍可继续自定义。
内置仙狐预设
桌宠设置面板或资产市场点 预设:仙狐 / Senko,会从社区 Live2D model collection
直连加载热门狐娘模型,并自动切换成仙狐风格的空闲/思考台词。模型需要联网加载。
桌宠养成
桌宠现在有真实好感度了:
- 摸头、喂食、抱抱和完成任务都会增加好感
- 好感达到 Lv.2 会解锁“抱抱”互动,更高等级会解锁专属台词
- 任务完成时桌宠会弹出庆祝气泡并奖励好感
- 设置面板可以查看摸头/喂食/抱抱/任务统计,也可以一键重置好感
好感数据保存在浏览器本地,刷新后继续累积。
美化面板
快捷按钮行末尾的 🎨 美化 会打开一个类似 Dev-C++ 美化器的实时预览面板:
- 主题:深空 / 樱花 / 薄荷 / 终端 / 纸白
- 背景图片:上传 GIF / PNG / WebP,支持拉伸、填充、居中、平铺
- 背景透明度与暗色蒙层:让图片融入界面而不是盖住文字
- 背景模糊、输入区毛玻璃、聊天区/全屏范围:让背景更像一层氛围壁纸
- 动态特效:星空 / 雨滴 / 樱花 / 极光
- 弹幕:夸我 / 运势以弹幕展示,可换样式、速度、大小、透明度,支持一键试看
- 按钮缩放与对齐:快捷按钮可以放大缩小,也可靠左 / 居中 / 靠右
- 快捷按钮模块:每个按钮可单独开关,用
↑/↓调整顺序 - 摸鱼按钮:自定义跳转网址或启动本地程序,网址直接在浏览器打开,留空则显示普通摸鱼提醒
- 配置分享:一键导出美化与桌宠配置 JSON,别人导入后即可复用
所有美化设置会保存在浏览器本地,刷新后继续生效。
沉浸氛围
美化面板里的「沉浸氛围」可以用 Web Audio 实时合成环境音,不下载任何音频文件:
- 咖啡雨声:雨声 + 咖啡店暖噪 + 低音垫
- 机房白噪:风扇噪音 + 低频轰鸣
- 赛博脉冲:合成器脉冲 + 数字底噪
- Lo-Fi 节拍:慢速鼓点 + 温暖贝斯
- 音量可调;开启「番茄钟切雨声,摸鱼切 Lo-Fi」后,快捷按钮会自动联动
成就 / 赛季
🧩 Fun 中心里的 成就 / 赛季 会打开成就墙:
- 夸我、运势、战报、番茄钟、摸鱼、桌宠好感、完成任务、连续使用都会记入成就
- 赛季按季度结算积分,从「摸鱼青铜」一路升到「摸鱼王者」
- 解锁成就时会有弹幕庆祝
- 一键生成 SVG 赛季卡,可以直接分享给同样在摸鱼的朋友
成就数据保存在浏览器本地,刷新后继续累积。
Fun 资产市场
🧩 Fun 中心里的 资产市场 会打开资产市场:
- 内置宠物包:蓝鱼娘、塔菲
- 内置 Live2D 包:Haru 官方测试模型、仙狐 Senko(社区热门狐娘)
- 内置主题:深空、樱花、薄荷、终端、纸白
- 内置人设包:大姐姐、小妹妹、抽象搞怪
- 数据源:Oh-My-DSH 聚合目录(399+ 插件)或 GitHub dsh-plugin 主题
- 聚合目录可一键复制
dsh plugin --profile web add github:...安装命令 - GitHub 数据源自动探测
dsh-assets.json/assets/dsh-assets.json - 社区资产 manifest 支持
type: pet / theme / persona / live2d,探测到后可直接安装
桌宠语音
桌宠设置面板里可以开启语音:
- 默认使用浏览器
speechSynthesis,支持选择本机声线、语速和音调 - 也可以填本地 TTS API 地址,接口约定:
POST JSON { text, voice },返回音频流 - 点击桌宠、摸头 / 喂食 / 抱抱、解锁成就、代码树长大时都会开口
Live2D 娘化
桌宠设置面板支持填写 .model3.json 链接,或从资产市场一键安装 Haru / 仙狐 Senko:
- 首次使用会从 CDN 加载 PIXI + Live2D 运行库
- 支持 Cubism 2 和 Cubism 4 模型
- 加载失败不会影响原 GIF 桌宠,会显示错误信息并保留原形象
Boss 来了
快捷按钮行里的 🕶 Boss 会一键进入隐身模式:
- 隐藏桌宠、弹幕和 Fun 按钮,切换到终端主题
- 右下角出现一个假的「编译中 87%」面板,点击「恢复摸鱼」退出
- 美化面板可以填 Boss-Key 程序路径,开启时自动启动
代码花园
🧩 Fun 中心里的 代码花园 会打开花园:
- 完成番茄钟会种下一棵树,从 🌰 一路长到 🌳
- 中途停止番茄钟不会种树
- 花园会记录累计专注分钟数、今日种植次数和种植记录
- 种下第 1 棵和第 10 棵树会解锁对应成就
许可
MIT
素材致谢
桌宠 GIF 素材来自 @linxin666/dsh-pet(BSD-3-Clause,Copyright (c) 2026 zhu1090093659)。
塔菲 / Taffy 宠物包由 shengwen 创作,来自 codex-pet.org,仅作个人/爱好者用途随插件分发。
宠物包播放格式参照 HatchPet 的 Codex V2 Pet Contract(8 列 × 9/11 行图集)。
Read the usage guide →
Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.
Listing badge
[](https://deepseek-plugin.org/plugins/lvyuchuiyi/dsh-funpack)Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.