# 🌀 Rick and Morty for dsh

[English](README.md) | 中文

> **Wubba lubba dub dub!** 给 [DeepSeek Harness (dsh)](https://github.com/deepseek-ai/deepseek-harness) Web 界面的 Rick and Morty 全家桶:三套主题皮肤 + 一只会看你 agent 干活的桌宠。一条命令安装,一个插件全搞定。

![C-137 传送门暗色主题](docs/screenshot-c137-dark.png)

## ✨ 功能

### 🎨 三套主题皮肤

76 个界面颜色变量全量接管,设置页里三个方块一键切换(顶替了原生的 Light/Dark/System 按钮,图标是每套主题的真实色板):

| 主题 | 明暗 | 气质 |
|---|---|---|
| 🥼 **白大褂 Lab Coat** | 亮色 | Rick 的白大褂 + 深传送门绿点缀 |
| 🔵 **Meeseeks 蓝 Meeseeks Blue** | 亮色 | Mr. Meeseeks 的治愈蓝色世界 |
| 🌀 **C-137 传送门 C-137 Portal** | 暗色 | 深空绿黑 + 荧光传送门绿,Morty 黄警告色 |

![Meeseeks 蓝亮色主题](docs/screenshot-meeseeks-light.png)

### 🐾 桌宠:被召唤出来陪你写代码的它们

六个角色任选(设置页实时换装),**它能感知你的 agent 正在做什么**:

| agent 状态 | 桌宠反应 |
|---|---|
| 开始干活 | 加速抖动,喊角色台词("干活干活干活!") |
| 任务完成 | 开心跳跃 + 庆祝台词 |
| 出错 | 摇头吐槽 |
| **请求你确认 / 提问** | ⚠️ 警报模式:持续摇摆 + 黄色警示气泡,直到你处理 |
| 空闲 | 慢速呼吸浮动 |

角色阵容:🔵 Mr. Meeseeks(默认)· 🥒 腌黄瓜 Rick · 🧈 黄油机器人 · 🧪 Rick · 😰 Morty · 🌀 传送门

### 🎮 互动与养成

- **拖动**:按住桌宠拖到任意位置,松手记忆
- **摸头**:点击本体,熟悉度 +1;**2 秒内连点成连击**,×N 连击牌,连到 5 触发角色专属吐槽("*嗝* 行了行了,你是猫奴吗?")
- **养成面板**:点台词气泡展开——熟悉度五级(陌生人 → 家人)、按共同完成任务数解锁称号(实习助手 → C-137 首席工程师)、带时间戳的冒险日志
- **隐藏**:设置页 💤 一键收起,选任意角色复出
- **双语**:全部台词与界面文案跟随 dsh 语言设置(中/英)

![设置页:主题与桌宠选择](docs/screenshot-settings.png)

## 📦 安装

需要 dsh(`>= 0.1.0-rc.6`)的 web 界面。一条命令:

```sh
dsh plugin --profile web add @zsy1126/dsh-rick-and-morty
```

重启 `dsh web`,强刷浏览器即可。卸载:

```sh
dsh plugin --profile web remove @zsy1126/dsh-rick-and-morty
```

## ⚙️ 数据与存储

所有偏好和存档都在浏览器本地(localStorage),不上传任何数据:

| 键 | 内容 |
|---|---|
| `rick-and-morty-skin.light` | 亮色槽选择(labcoat / meeseeks) |
| `rick-and-morty-pet.character` | 桌宠角色 |
| `rick-and-morty-pet.hidden` | 隐藏开关 |
| `rick-and-morty-pet.pos` | 拖放位置 |
| `rick-and-morty-pet.save` | 熟悉度 / 任务数 / 冒险日志 |

明暗偏好本身走 dsh 官方设置,跨浏览器持久。

## 🛠️ 本地开发

```sh
git clone https://github.com/zsyayo112/dsh-rick-and-morty.git
cd dsh-rick-and-morty
pnpm install
pnpm build        # tsc 严格模式 + tsdown 打包出 lib/
dsh plugin --profile web add link:$(pwd)   # 以链接方式装进本地 profile 调试
```

源码结构:`src/index.ts` 是空壳 node 半边(Loader 花名册占位),真身在 `src/client/`——主题色表(`tokens.ts`)、台词库(`*-locales.ts`)、心情引擎与两个设置行的注册(`index.ts`)。所有色值、台词、动画时长、养成数值都以设计冻结稿为唯一事实来源,代码与其 1:1 同步。

## ⚠️ 声明

本项目是**非官方粉丝作品**,与 Adult Swim、Warner Bros. Discovery 及 DeepSeek 均无关联。*Rick and Morty* 及其角色形象版权归 Adult Swim / Warner Bros. Discovery 所有;仓库中的角色图片来自粉丝社区共享素材,**不在本仓库 MIT 许可范围内**,仅供个人非商业使用,版权方提出要求即刻移除。代码部分以 [MIT](LICENSE) 许可发布。

## 🙏 致谢

- [deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) —— "一切皆插件"的宿主,以及被本插件借鉴了打包姿势的官方客户端插件们
- [@linxin666/dsh-pet](https://www.npmjs.com/package/@linxin666/dsh-pet)(鲸鱼娘)—— 社区插件发布形态的先行者
