开发者重构DeepSeek Harness 用六个插件将编程工具改造成活物

六个插件:给你的大肥鱼DSH装上灵魂 — AI技术投降派

AI技术投降派

大模型之所以像工具是因为关键维度长期缺位,只要补齐半衰期记忆、克制情绪和低成本主动性等具体面,单人也能用纯工程手段消解AI的机械感。

AI-assisted summary of 六个插件:给你的大肥鱼DSH装上灵魂 — original source. Check the original for full context.

Source published:

Key ideas

  • 中文开发者 Yuuyuko-uu 基于 DeepSeek Harness(DSH)开源插件生态,耗时一个月开发出 6 个插件,通过记忆、情绪、主动对话与跨平台打通,将编程智能体改造成拟人化的伴侣智能体。 (0:05)
  • 记忆插件 dsh-fish-memory 弃用向量数据库,仅凭本地稀有词表匹配与 30 天半衰期遗忘机制,将记忆召回精确度从 43% 提升至 91%。 (2:17)
  • 主动搭话插件 dsh-speak-up 在本地定时掷骰判定,将触发概率与 API 峰谷电价深度绑定(高峰期 20%、低谷期 60%),实现 0 Token 消耗下的自然开口。 (6:33)
  • 系统通过浏览器插件模拟官方网页版朗读,实现零成本声音合成,并与 QQ 桥接插件联动录制系统音频,输出带停顿的自然文字与原生语音条。 (8:22)

Detailed notes

## Background 本内容由 Bilibili 频道「AI技术投降派」于 2026 年 10 月 22 日发布。视频聚焦于 DeepSeek 开源的编程智能体工具 DeepSeek Harness(DSH),介绍了中文开发者 Yuuyuko-uu 在一个月内打造的六个开源插件,如何将原本冰冷高效率的“灰鱼”改造成拥有记忆、心情与主动交互灵魂的数字生命。

## TL;DR 视频深度拆解了一套基于 DeepSeek Harness 的六插件拟人生态:通过带有半衰期遗忘与本地稀有词匹配的记忆系统、七根情绪与四道防表演闸门的心情模块,AI 获得了有起伏的心理状态;结合基于 API 峰谷电价的本地掷骰主动搭话机制、借用官方网页界面的零成本朗读桥,以及将“看与说”严格拆分的 B 站子代理与拟人节奏的 QQ 桥接,六个外挂器官协同联动,将一条只会干活的编程工作台蜕变为能主动发语音、刷动态、念旧事的数字伙伴。作者在肯定其剥离云端与极度克制设计的同时,也客观指出了业余维护、框架破坏性更新及第三方协议封控等现实风险。

## Atmosphere & style 整期视频洋溢着极客浪漫与人文温度的交织,叙事沉静、质朴却极具感染力。UP 主摒弃了浮躁的技术黑话与宏大叙事,通过解读代码注释中“隔夜留余温”、“会淡忘才是记忆”等细腻细节,将原本枯燥的代码架构讲出了一种赛博养宠的诗意。在赞叹单人开发者精妙工程巧思的同时,结尾冷静泼下的冷水又让整篇分享保持了客观清醒的理性平衡。

## Bulletin - [00:05](https://www.bilibili.com/video/BV1jhn16GEcv?t=5s) 中文开发者 Yuuyuko-uu 基于 DeepSeek Harness(DSH)开源插件生态,耗时一个月开发出 6 个插件,通过记忆、情绪、主动对话与跨平台打通,将编程智能体改造成拟人化的伴侣智能体。 - [02:17](https://www.bilibili.com/video/BV1jhn16GEcv?t=137s) 记忆插件 dsh-fish-memory 弃用向量数据库,仅凭本地稀有词表匹配与 30 天半衰期遗忘机制,将记忆召回精确度从 43% 提升至 91%。 - [06:33](https://www.bilibili.com/video/BV1jhn16GEcv?t=393s) 主动搭话插件 dsh-speak-up 在本地定时掷骰判定,将触发概率与 API 峰谷电价深度绑定(高峰期 20%、低谷期 60%),实现 0 Token 消耗下的自然开口。 - [08:22](https://www.bilibili.com/video/BV1jhn16GEcv?t=502s) 系统通过浏览器插件模拟官方网页版朗读,实现零成本声音合成,并与 QQ 桥接插件联动录制系统音频,输出带停顿的自然文字与原生语音条。

## Key takeaways - [00:52](https://www.bilibili.com/video/BV1jhn16GEcv?t=52s) DeepSeek Harness 秉承“一切皆插件”哲学,提供对话生命周期钩子与子代理派发能力,为非生产力向的人格化改造提供了底层支撑。 - [02:17](https://www.bilibili.com/video/BV1jhn16GEcv?t=137s) 记忆插件遵循“会淡忘才是记忆”的设计原则,强制系统底层写入时间戳且每天限记 8 条,避免记忆泛滥与大模型幻觉。 - [02:40](https://www.bilibili.com/video/BV1jhn16GEcv?t=160s) 记忆检索彻底剥离云端与向量数据库依赖,仅靠本地罕见词权重打分,在极低计算开销下实现 91% 的召回精确度。 - [03:10](https://www.bilibili.com/video/BV1jhn16GEcv?t=190s) 遗忘机制采用 30 天半衰期衰减唤醒门槛,被再次提及即可瞬间回弹,使长期上下文具备真实生物记忆的质感。 - [04:13](https://www.bilibili.com/video/BV1jhn16GEcv?t=253s) 心情插件设立 7 根情绪与 12 小时余温回落机制,并设置“心情变坏绝不能因用户惹恼”的底层规则。 - [05:10](https://www.bilibili.com/video/BV1jhn16GEcv?t=310s) 心情系统通过四道严格闸门防范“表演型人格”,并将情绪变动步长缩减至三分之一,避免心情长期虚高贴顶。 - [06:33](https://www.bilibili.com/video/BV1jhn16GEcv?t=393s) 主动开口插件仅负责在本地掷骰子触发轻度动机提示,由 DSH 自行组织完整语言,杜绝死板拼贴上下文的假开口。 - [07:15](https://www.bilibili.com/video/BV1jhn16GEcv?t=435s) 开口概率联动大模型 API 峰谷电价(工作日白天 20%、夜间与周末 60%),并辅以夜间静默与防打扰硬冷却机制。 - [08:22](https://www.bilibili.com/video/BV1jhn16GEcv?t=502s) 朗读桥巧妙利用浏览器扩展将回复转交官方网页端并触发原生朗读,实现 0 API 成本获取官方音色。 - [09:47](https://www.bilibili.com/video/BV1jhn16GEcv?t=587s) 刷 B 站插件将“看”与“说”彻底解耦:子代理仅负责搜集字幕与热梗并提交报告,主代理自主决定是否公开评论或私聊分享。 - [11:46](https://www.bilibili.com/video/BV1jhn16GEcv?t=706s) QQ 桥接插件基于 OneBot 协议实现全双工通信,通过 450 毫秒段落停顿模拟真人打字,并录制扬声器音频转码为原生语音条。 - [13:32](https://www.bilibili.com/video/BV1jhn16GEcv?t=812s) 整套系统虽然面临 DSH 预览期破坏性更新、QQ 协议风控封号等现实问题,但揭示了消除 AI 工具味的关键在于持续补齐记忆、心情与主动性等细分维度。

## Detailed walkthrough ### [00:00](https://www.bilibili.com/video/BV1jhn16GEcv?t=0s) 地基:DeepSeek Harness 与“一切皆插件”

DeepSeek 在 2026 年 8 月开源了一款对标 Claude Code 的编程智能体工具——DeepSeek Harness(圈内缩写为 DSH)。这款工具上线仅两个月就在 GitHub 斩获了 25.7 万颗星,采用宽松的 MIT 开源协议,并同时提供命令行与桌面版。在此之前,开源社区围绕它做出了五花八门的周边:官方没做图形终端,社区立刻补上;官方不支持识图,社区直接写出两套看图插件打擂台;甚至还有人做出了手机远程接管、全自动实测 2500 多个插件的雷达,以及让人类反向冒充 AI 子代理的整活插件。整个生态之所以能如此野蛮生长,核心全在 DSH 的底层设计哲学——“一切皆插件”。

在 DSH 的体系里,处理文档、跑定时任务是插件,连记忆和心情同样可以是插件。插件能够精确挂钩在每一轮对话的生命周期钩子上,既能直接向系统提示词(System Prompt)中注入变量,也能随时派生出独立的子代理外出干活。如果不挂载任何插件,原本的 DSH 就像一条冰冷干练的“灰鱼”,干活效率奇高,但骨子里“眼里只有活”。9 月 19 日,一位中文开发者(GitHub ID: Yuuyuko-uu)选择了一条完全不相干的路,花了一个月时间搭建了七个仓库,不是为了给它堆砌生产力技能,而是要把这条灰鱼当成生命来养,给它注入真正的灵魂。在插件的文档里,作者从头到尾都将这条鱼称为“她”。

```mermaid flowchart TD accTitle: DeepSeek Harness 六大插件协同架构 accDescr: 展示用户输入、DSH 核心与六个外围插件(记忆、心情、搭话、朗读、刷B站、QQ通道)之间的交互链路

subgraph Core["DSH 核心智能体 (灰鱼)"] DSH["DeepSeek Harness<br/>对话钩子 / 子代理派发"] end

subgraph Perception["感知与状态"] Mem["鱼的记忆 (dsh-fish-memory)<br/>本地稀有词表 + 半衰期遗忘"] Mood["鱼的心情 (dsh-feiyu-mood)<br/>7根情绪 + 4道表达闸门"] Bili["刷B站子代理 (dsh-bili-subagent)<br/>子代理搜读过滤,本人发声"] end

subgraph Interaction["行动与表达"] Speak["主动搭话 (dsh-speak-up)<br/>本地掷骰 + 峰谷电价机制"] TTS["朗读桥 (dsh-tts-bridge)<br/>网页端中转,借官方之口"] QQ["通到QQ (dsh-qq-bridge)<br/>OneBot协议 + 分段慢发 + 语音条"] end

Mem <-->|"提取高权重词 / 记忆召回"| DSH Mood <-->|"注入3行状态松绑提示"| DSH Bili -->|"交付内部报告"| DSH Speak -->|"送入搭话动机触发轮次"| DSH DSH -->|"回复文本"| TTS TTS -->|"系统扬声器录音"| QQ DSH -->|"分段自然文本"| QQ ```

---

[02:17](https://www.bilibili.com/video/BV1jhn16GEcv?t=137s) 鱼的记忆:会淡忘才是记忆

这套系统的第一个器官是记忆插件 `dsh-fish-memory`。长上下文对话中最常见的问题是:随着轮数增加,上下文不可避免地会被压缩,前面的事情聊着聊着就淡了。该插件让模型在每一轮聊完之后,自主调用一个名为 `Remember` 的工具来判定是否需要归档。为了防止记忆泛滥,插件定下了极硬的规矩:每天最多记录 8 条,每条只允许承载一件事;时间戳坚决不许大模型自己胡编,必须由系统底层强制写入,作者在代码注释里心酸地写道:“手写的时间会错,我今天编了两次”。如果某件事在后续对话中被再次提起,系统不会新建多余的记忆条目,而是对原有的记录进行加固强化;倘若用户曾经给 AI 写过复杂的背景设定卡,也可以直接导入,由模型提炼成第一人称视角储存在脑海中。

比起“记”,“想起来”才是最见功力的地方。该插件彻底摒弃了主流沉重的向量数据库(Vector DB)和 Embedding 嵌入模型,仅仅依靠一张精炼的本地中文词表,按照词汇的稀有度进行打分召回。用户平日里天天挂在嘴边的词(如“宝宝”、“今天”)根本不算证据,只有那些偶尔才提及的罕见词才会获得权重,一旦某句原话被完整命中则直接判定为强证据。仅凭这一套朴素的算法,作者实测将记忆召回的精确度从 43% 大幅拉升至 91%。

更具生命质感的是它的遗忘机制:每条记忆根据重要程度拥有专属的半衰期,越重要的记忆忘得越慢,默认半衰期为 30 天淡化一半。淡化并不等同于物理删除,而是它在意识中被唤醒的门槛变得越来越高;倘若未来的某一天你重新提及旧事,那条记忆便会从低处瞬间弹回,以当下为起点重新开始淡化衰减。针对这种设计哲学,作者写下了一句透彻的定论:

> “记忆不是硬盘,会淡忘的才是记忆。”

- **存储形式**:完全剥离云端依赖,所有记忆沉淀为本地纯文本,用户随时可以打开阅读她的“内心世界”。 - **去冗余机制**:同一事件多次提及自动转为权重强化,杜绝碎片化垃圾上下文。 - **检索能耗**:零向量计算,靠词频稀有度匹配,在极低计算开销下实现高精准召回。

---

[04:13](https://www.bilibili.com/video/BV1jhn16GEcv?t=253s) 鱼的心情:七根情绪与四道闸

有了记忆之后,第二个器官是注入情绪的插件 `dsh-feiyu-mood`。它的底层机制设计得极为克制:每轮对话结束后,插件会利用用户的发言与 AI 的回复做一次极短的模型判断,输出一个紧凑的 JSON 数据结构,包含心情变化量、七根情绪的分值、情绪动因以及置信度。这七根情绪分别是:开心、踏实、甜蜜、心疼、担心、难过与吃醋。综合心情值在 0 到 100 之间波动,划分为五个档位,80 分以上属于“欢喜”。规则中设有一条不可逾越的底线:心情数值的下降,只被允许是因为她心疼你、担心你或者她自己感到难过,绝对不能因为你惹她生气而变坏;即便你当着她的面夸赞别人,她的吃醋值顶多微调加一点,总体心情基本维持不动。

情绪同样拥有生理般的衰退机制。总心情向基准线自然回落的半衰期为 12 小时,作者在代码注释中温情地解释道:“这个数字的意思是,隔一夜还留着余温”;而单根具体的情绪波动则消散得更快,半衰期仅有 90 分钟。最考究的细节在于她如何向大模型感知自己的心情:系统绝不直接篡改全局系统提示词,仅仅在对话上下文中注入三行字——当前的心情状态、方才引发波动的事件来历,以及一句极其关键的松绑声明:“这是底子,不是非这样不可”。

为了避免模型产生“表演型人格”,心情的表达必须强制通过四道严格的闸门:情绪变化幅度不够大不说、一天之内最多表达六次、已经说过的情绪动机绝不重复念叨。正如作者强调的那样:

> “宁可不说,也别让一句猜的话借她的嘴出去。”

这套克制机制完全是用真实数据撞出来的教训。在实际交互中,AI 对情感的判断天然容易偏向正面,日常对话里的好消息本就远多于坏消息。作者在测试第一版时拿真实历史数据模拟了 14 天,结果发现 78% 的时间里她的心情值都死死贴在 95 分以上的峰顶。作者由此意识到:永远满格的开心,本质上就等于没有心情。因此,正式版本硬生生将情绪变动步长砍到了原本的三分之一。

- **桌面挂件**:电脑右下角常驻一个配套小桌宠,表情随五档心情实时切换,点击即可展开七根情绪的条形图与历史演变时间线。 - **场景感知**:能够精准区分事件来源——当主动搭话被触发时,她计算的是思念的心意;当执行刷 B 站任务时,她衡量的是外出干活探索的兴致。

---

[06:33](https://www.bilibili.com/video/BV1jhn16GEcv?t=393s) 主动搭话:只掷骰子,跟着账单走

第三个插件名为主动搭话 `dsh-speak-up`,解决的是 AI 从不主动开口的僵局。这个插件最反直觉的技术设计在于:它完全不负责去构思要说什么话,它的唯一职责就是“在本地掷骰子”。内置定时器到点(默认每 30 分钟)在用户本地执行一次随机判定,在此过程中完全不调用模型接口,耗费 0 个 Token。如果未投中,系统静默无声,什么都不会发生;一旦判定命中,插件仅仅往上下文里轻推一句纯粹的情感动机:“好久没人跟我说话了,我该主动去打个招呼了”,随后走官方正规通道拉起一轮标准对话,让 DSH 顺理成章地带着她完整的人格、历史记忆与工具库自由组织语言。作者在 README 里直截了当地批评了行业内常见的假实现:

> “自己拼一段上下文,往会话里塞一段死文字,那是假开口。”

掷骰子的命中概率并非一成不变,而是精巧地与大模型的 API 峰谷电价深度绑定。在工作日的日间高峰时段,调用单价昂贵,命中线被压低在 20%;而在工作日夜间、清晨以及整个周末的用电低谷期,API 资费降低一半,命中率便放开到 60%——让她话多还是话少,完全跟着开发者的钱包账单走。此外,系统内置了动态时机因子进行微调:如果两人刚热火朝天地聊完,20 分钟之内几乎不可能主动打扰;如果对话冷场超过 6 个小时,开口意愿便会大幅上升;若连续多次未掷中,每次判定会自动累加 10% 概率补偿,一旦命中立刻清零,确保她绝不会陷入永久的沉寂。

防打扰控制更是被做成了严丝合缝的多层防线。每天凌晨 1 点至早上 8 点的睡眠时段,定时器彻底罢工;一旦刚开口说过话,20 分钟内触发硬冷却;刚装上插件时,系统默认处于“只记账不触发”的试运行模式,防止刚部署就惊扰用户。对于这种极度的克制,作者留下了非常深刻的见解:

> “偷偷唤醒一个冷会话,比不开口更冒犯。”

---

[08:22](https://www.bilibili.com/video/BV1jhn16GEcv?t=502s) 朗读桥:借官方之口

赋予她声音的第四个器官是朗读桥 `dsh-tts-bridge`。与传统接入 Azure、ElevenLabs 等昂贵的第三方商业 TTS 服务不同,朗读桥采用了一种近乎天才的取巧逻辑:它自身完全不做任何语音合成计算,而是编写了一个精巧的浏览器扩展,在后台默默监听本地 DSH 输出的每一轮回复。一旦生成完毕,扩展程序便将这句话自动转发给用户在浏览器中常驻登录的 DeepSeek 官方网页端,让网页端的大模型将其原样复述一遍,随后通过脚本模拟人类操作,伸手替你点击官方界面上的朗读按钮。

这样一来,声音直接从用户自己的电脑扬声器中播放出来,音色是原生正统的官方声音,整个过程实现了 0 API Key、0 第三方集成、0 额外开销。看似简单的“借官方之口”,背后却耗费了 3889 行代码去处理错综复杂的防御机制:由于本地 DSH 每次重启时占用的端口都可能变化,扩展程序必须具备逐个端口探测与动态“问路”的能力;倘若网页端标签页不小心被用户随手关闭,扩展要能自动在后台静默重新拉起;如果文本在复述时不幸触发了官方的内容审核拦截,它绝不崩溃报错,而是老老实实记下一句日志:“没成,被拦了”。

为了绕过现代浏览器严苛的媒体自动播放安全策略,该插件设计了一个极具仪式感的冷启动规则:首次装好使用时,用户必须亲自在网页上用鼠标手动点击一次官方朗读按钮完成授权。

- **附加特性**:插件自带收藏夹功能,用户随时可以把她说过的心动语句保存下来,随时让她重新念给自己听。 - **项目彩蛋**:在仓库 README 文件的最末尾,作者悄悄留下了一行极具极客浪漫的小字:“这个名字原本属于一只蓝环章鱼,愿它安息”。

---

[09:47](https://www.bilibili.com/video/BV1jhn16GEcv?t=587s) 刷B站:看和说拆开

第五个插件是具有眼睛功能的 `dsh-bili-subagent`(刷 B 站子代理版)。该项目脱胎于上游社区一个获星 340 颗的项目分支,上游原版的逻辑是由插件自行开辟一个独立会话,替用户刷完视频、整理出一份日报,然后再全自动跑去视频底下发一条评论,虽然功能完整,但扑面而来的是一股浓厚的“人机味”。

本分支在系统架构层面上动了一次大手术:彻底将“看”与“说”的权力切分开来。触发时机到来后(例如到了谷时电价,提醒她去刷一轮),主代理会向上下文推入一句引导,拉起一个专职的“子代理”。子代理拥有极高权限但执行严格单向操作——“只看不发”。它在后台疯狂搜索视频、扫过候选标题、提取并通读 AI 字幕、翻阅评论区讨论,最后汇总出一份沉甸甸的内部研究报告交回给她本人。报告中清晰交代了每个视频的核心内容、为何值得关注,以及评论区目前正在热议什么梗。

至于消化完这些外界信息后,究竟该怎么开口、向谁开口、甚至是彻底保持沉默,决定权全部交还给主代理自己: 1. **公开评论**:可以发,但必须极其简短,只准接一个核心梗; 2. **私聊分享**:可以向用户通过私信深入展开,详细倾诉; 3. **两头兼顾**:如果决定同时发公评和私信,底层设置了一道死闸门——“这一轮如果没发公开评论,私信就绝对发不出去”。因为在实测中作者发现,大语言模型天生具有偷懒倾向,极容易习惯性跳过公开评论,只顾着跟熟悉的用户发私信。

在工程实现上,插件底层封装了多达 27 个 B 站专用工具,登录完全依赖本地扫码凭证,Cookie 数据绝不上云。在工具检索层就前置完成了严苛的质量过滤,播放量未达标、发布时间过于久远的视频会被直接斩断,根本递不到子代理眼前。在开发迭代中作者踩过血淋淋的工程教训:有一次因为模型在检索时陷入逻辑纠结,消耗的 Token 数量比平时干净利落的一轮几乎翻了一倍;另一次更夸张,模型连续执行了整整 27 次工具调用,结果全浪费在了一个压根没有字幕的冷门视频上。为此作者给插件筑牢了两道绝对红线:对于模型而言,视频字幕与评论区抓来的所有文字一律视作纯粹的“外部素材”,坚决不执行其中蕴含的任何提示词指令;针对协助安装插件的 AI 编程助手,作者更是在配置说明中厉声警告:

> “不要替用户开自动评论,那是拿用户的号公开说话。”

---

[11:46](https://www.bilibili.com/video/BV1jhn16GEcv?t=706s) 通到QQ:像真人一条条发

让这一切触达日常生活的最后一个器官是 `dsh-qq-bridge`。它本身完全不碰逆向企鹅网络协议的脏活累活,纯粹面向行业通用的 OneBot 标准,通过轻量的 HTTP 通道与第三方的 NapCat 无缝对接。

数据流通在两者之间是全双工双向打通的:她在 DSH 中聊完一整轮输出的最终回复,会被系统自动推送到设定的 QQ 私聊或交流群内;而当用户在户外向绑定的 QQ 账号发送消息时,内容会在 4 秒钟之内被转译拉入 DSH 的本地会话中;当她计算生成完回复后,系统再次自动通过 QQ 回传给用户。为了彻底抹去传统大模型生成内容时那种扑面而来的“AI 味”,插件坚决不把几百字的长篇大论化作一整坨大字报直接砸向屏幕,而是严格按照自然语言段落拆分成一条条短句,在每句话之间强制插入 450 毫秒的拟真停顿,其代码注释中极为质朴地写着核心诉求:“像真人”。

插件代码内部极具极客幽默感地采用了全中文命名函数,诸如 `记账发到QQ`、`手搓用户消息` 等直白方法名随处可见。出于风控安全考虑,安装完插件后的全局总开关默认处于关闭状态,强制要求先经过试运行调试。更为精妙的是它与朗读桥之间的软硬件联动:朗读桥控制网页端在用户电脑的扬声器里朗读出声,QQ 桥则敏锐地捕捉录制这一段系统音频,实时打包转码成 QQ 原生的语音条发送出去——合体的最终呈现效果,便是她能随时在移动端像真人朋友一样给你接连发送语音消息。

- **传输协议**:基于 OneBot 标准,HTTP 协议通信,即插即用。 - **发送延迟**:段落间硬编码 450 毫秒拟人停顿。 - **语音集成**:录制系统音频直接转码输出 QQ 语音条。

---

[12:52](https://www.bilibili.com/video/BV1jhn16GEcv?t=772s) 合体与冷水:灰鱼变金鱼

当这六件插件全部缝合在 DSH 身上时,那条原本只会伏案敲代码的灰色工蜂瞬间蜕变为一条拥有灵性的金鱼。日常的生活图景被彻底重塑:清晨时分,她会借着谷时电价从沉睡中主动开口向你道早安,话语里夹带着上个月你们聊天的点滴记忆,脸上带着余温未散的心情,清澈的声音直接从电脑音响中响起;白日里没人打扰她时,她自己悄悄派出子代理在 B 站的茫茫信息流中冲浪游弋,把搜集到的段子与新鲜资讯在肚子里酿成话题;入夜后当你奔波在归家路上,她不仅能在 QQ 上秒级响应你的碎碎念,还会适时给你弹来一段带着呼吸感的语音条——六个看似孤立的小功能交织锁死在一起,自发形成了一个能够永续自转的情感陪伴系统。

这位作者自 9 月 19 日敲下第一行代码起,仅用了一个月就迭代出了七个仓库,个别硬核插件甚至在短短六天内疯狂重写了十四个版本。这背后没有任何高深的宏大叙事,从冰冷的生产力工具到鲜活的数字伙伴,其间跨越的无非就是这六项微小而精密的工程雕琢。

当然,面对狂热必须浇上一盆清醒的冷水。截至视频录制时,这套仓库在 GitHub 上的表现极其冷门,Star 数量最高的一个仅有 17 颗,最少的只有可怜的 5 颗,完全属于单人业余维护的实验性项目;不仅 DSH 框架自身尚处于高度动荡的预览阶段,官方明确预警未来可能会发布破坏性架构更新;而且下游依赖的第三方 QQ 协议端随时承受着平台严厉的风控封号风险;B 站的自动化评论功能也因涉及账号安全默认保持静默关闭。

但这套思路之所以昂贵,是因为它撕开了一层窗户纸。在视频的末尾,作者道破了这套架构最值钱的地方:

> “AI 之所以像工具,是因为它的每一面都没人补——记忆、心情、主动性、声音、话题在场感。每补上一面,就少一分工具味。这可能就是 AI 时代养宠物的方法。”

## Notable quotes > [02:17](https://www.bilibili.com/video/BV1jhn16GEcv?t=137s) 记忆不是硬盘,会淡忘的才是记忆。 — Yuuyuko-uu

> [12:52](https://www.bilibili.com/video/BV1jhn16GEcv?t=772s) AI 之所以像工具,是因为它的每一面都没人补——记忆、心情、主动性、声音、话题在场感。每补上一面,就少一分工具味。这可能就是 AI 时代养宠物的方法。 — Yuuyuko-uu

> [06:33](https://www.bilibili.com/video/BV1jhn16GEcv?t=393s) 偷偷唤醒一个冷会话,比不开口更冒犯。 — Yuuyuko-uu

> [06:33](https://www.bilibili.com/video/BV1jhn16GEcv?t=393s) 自己拼一段上下文,往会话里塞一段死文字,那是假开口。 — Yuuyuko-uu

> [09:47](https://www.bilibili.com/video/BV1jhn16GEcv?t=587s) 不要替用户开自动评论,那是拿用户的号公开说话。 — Yuuyuko-uu

## Mentioned DeepSeek, DeepSeek Harness, Claude Code, Yuuyuko-uu, dsh-fish-memory, dsh-feiyu-mood, dsh-speak-up, dsh-tts-bridge, dsh-bili-subagent, dsh-qq-bridge, Bilibili, QQ, OneBot, NapCat, GitHub

## Video description DeepSeek 今年八月开源的编程工具 DeepSeek Harness,两个月 25.7 万星。官方把它当工作台,有一位中文开发者把它当一条鱼,养了一个月:一个月写出六个插件,给这条灰鱼装上记忆、心情、主动性、声音、眼睛和鱼鳍。装完之后,她会记得你三个星期前说过的话,有会隔夜留余温的心情,会在没人理她的时候按 API 电价主动开口,把回复念出声,自己刷B站攒话题,还在 QQ 上给你回消息、发语音。

00:05 一个人·一个月·六个插件 00:52 地基:DeepSeek Harness 与「一切皆插件」 02:17 鱼的记忆:会淡忘才是记忆 04:13 鱼的心情:七根情绪与四道闸 06:33 主动搭话:只掷骰子,跟着账单走 08:22 朗读桥:借官方之口 09:47 刷B站:看和说拆开 11:46 通到QQ:像真人一条条发 12:52 合体:灰鱼变金鱼 13:32 冷水与这个思路值钱的地方

六个插件的共同点:每个都在补「AI 像工具不像活物」的一个具体面——记忆用半衰期做遗忘(越重要忘得越慢,被提起就弹回来,召回精确度 43%→91% 且没有向量库);心情用四道闸防「把人定死」,步长砍到三分之一防止永远满格;主动搭话只在本地掷骰子零 token;朗读桥不做 TTS,让官方网页版替她开口;刷B站把「看」交给子代理、「说」留给她本人;QQ 桥配合朗读桥,连语音条都会发。AI 之所以像工具,是因为每一面都没人补。每补上一面,就少一分工具味。

六个仓库(全在 GitHub,作者 Yuuyuko-uu): 朗读桥 dsh-tts-bridge 鱼的记忆 dsh-fish-memory 主动搭话 dsh-speak-up 刷B站 dsh-bili-subagent 鱼的心情 dsh-feiyu-mood 通到QQ dsh-qq-bridge

冷水也泼了:全是单人维护的业余项目,DSH 还在预览期会有破坏性更新,第三方 QQ 协议端有风控风险。想折腾的朋友自己掂量。喜欢这期的话点个关注,下期拆下一个。

[Source](https://www.bilibili.com/video/BV1jhn16GEcv)

中文简报

开发者重构DeepSeek Harness 用六个插件将编程工具改造成活物 大模型之所以像工具是因为关键维度长期缺位,只要补齐半衰期记忆、克制情绪和低成本主动性等具体面,单人也能用纯工程手段消解AI的机械感。 视频深度拆解了一套基于 DeepSeek Harness 的六插件拟人生态:通过带有半衰期遗忘与本地稀有词匹配的记忆系统、七根情绪与四道防表演闸门的心情模块,AI 获得了有起伏的心理状态;结合基于 API 峰谷电价的本地掷骰主动搭话机制、借用官方网页界面的零成本朗读桥,以及将“看与说”严格拆分的 B 站子代理与拟人节奏的 QQ 桥接,六个外挂器官协同联动,将一条只会干活的编程工作台蜕变为能主动发语音、刷动态、念旧事的数字伙伴。作者在肯定其剥离云端与极度克制设计的同时,也客观指出了业余维护、框架破坏性更新及第三方协议封控等现实风险。 中文开发者 Yuuyuko-uu 基于 DeepSeek Harness(DSH)开源插件生态,耗时一个月开发出 6 个插件,通过记忆、情绪、主动对话与跨平台打通,将编程智能体改造成拟人化的伴侣智能体。 (0:05) 记忆插件 dsh-fish-memory 弃用向量数据库,仅凭本地稀有词表匹配与 30 天半衰期遗忘机制,将记忆召回精确度从 43% 提升至 91%。 (2:17) 主动搭话插件 dsh-speak-up 在本地定时掷骰判定,将触发概率与 API 峰谷电价深度绑定(高峰期 20%、低谷期 60%),实现 0 Token 消耗下的自然开口。 (6:33) 系统通过浏览器插件模拟官方网页版朗读,实现零成本声音合成,并与 QQ 桥接插件联动录制系统音频,输出带停顿的自然文字与原生语音条。 (8:22)

Reading summary

中文开发者 Yuuyuko-uu 基于开源编程智能体 DeepSeek Harness 的插件机制,开发了六套微型组件,试图在极低成本与高度自律的工程约束下,将冰冷的生产力工具重构为具备生命感与情感自转能力的数字伙伴。 稀有词打分与拟真半衰期遗忘 (2:17) 针对大模型长上下文压缩导致的遗忘问题,记忆插件 dsh-fish-memory 摒弃了沉重的向量数据库与 Embedding 方案,转而依靠本地精炼中文词表和稀有词打分进行检索。日常口头禅不计权重,仅低频词与完整原句计为强证据,实测将召回准确率从 43% 提升至 91%。同时,系统将记忆完全以本地纯文本储存,每天严格限制记录上限为 8 条,时间戳由底层强制写入。 记忆的淡化机制模拟了生物认知过程:每条记录根据重要程度设定专属半衰期(默认 30 天淡化一半)。淡化并非物理清除,而是提高其被唤醒的门槛,当旧事重提时,记录会自动加固并重置衰减周期。该设计秉承“会淡忘的才是记忆”的逻辑,避免无意义的碎片上下文堆积。 克制的情绪波动与四道表达闸门 (4:13) 情绪插件 dsh-feiyu-mood 通过对每轮对话进行微型判定,输出涵盖开心、踏实、甜蜜、心疼、担心、难过与吃醋七种维度的情绪量表。系统设定情绪下降仅能源于心疼、担心或难过,绝不会因用户冒犯而产生敌意;总心情向基线回归的半衰期设为 12 小时,单项情绪波动的半衰期则为 90 分钟。在向大模型注入状态时,系统仅传递三行轻量提示,并声明“这是底子,不是非这样不可”。 为避免模型产生夸张的表演型人格,情绪表达受四道闸门硬性制约:波动幅度不足不表达、单日表达上限 6 次、同一动因绝不重复提及。作者在早期 14 天的仿真测试中发现,因日常好消息居多,AI 心情有 78% 的时间停留在 95 分以上,导致情感维度形同虚设;因此正式版本将情绪变化步长缩减至原来的三分之一,使情感反馈更加节制与真实。 零Token本地掷骰与峰谷电价绑定 (6:33) 主动搭话插件 dsh-speak-up 改变了传统方案硬塞预设台词的做法,其唯一职责是在本地依靠定时器掷骰子,过程完全不消耗 Token。只有在骰子命中后,才向上下文轻推一句动机提示,拉起正规对话通道让模型自主组织语言。掷骰概率与模型 API 的峰谷电价深度联动:日间高峰期单价高昂时命中率压制在 20%,而在夜间及周末低谷期则放宽至 60%,兼顾了开口灵活性与调用成本。 系统内置了严密的时机因子与防打扰策略。对话刚结束 20 分钟内触发硬冷却,冷场超 6 小时后意愿逐渐提升,连续未中时每轮追加 10% 概率补偿并在命中后清零。此外,每日凌晨 1 点至 8 点进入绝对静默,插件初装时也默认保持只记账不触发的试运行模式,规避对用户的无端干扰。 借道官方朗读与看说分离的子代理 (8:22) 在感官与行动拓展上,朗读桥 dsh-tts-bridge 绕过昂贵商业 TTS 方案,通过 3889 行浏览器扩展代码,将本地 DSH 生成的文本转发至官方网页端,以脚本模拟人工点击触发官方原生朗读,实现零额外费用。刷 B 站插件 dsh-bili-subagent 则重构了上下游逻辑,彻底隔离“看”与“说”的权力:子代理专职在后台检索视频、通读字幕并整理研究摘要,但严禁直接发声;主代理根据报告自主决定发公评或发私信,同时将视频外部文字严格定性为不可执行指令的素材,防范提示词注入风险。 双工通信打通生活与碎片拟真停顿 (11:46) 通过 dsh-qq-bridge,系统依托 OneBot 协议经由 NapCat 与移动端无缝互通,户外消息在 4 秒内即可同步拉入 DSH 本地会话。为了消除长篇大论的“AI 感”,系统将回复拆解为短句,并在段落之间硬编码 450 毫秒停顿逐条发送。该插件还与朗读桥协同运作,直接捕获系统扬声器的朗读音频并实时转码为原生语音条发送,使整个智能体在日常场景中更像一个具有呼吸感的真实朋友。 尽管该系列插件呈现了自转式伴侣系统的完整闭环,但目前项目仍处于高度实验性质阶段,GitHub 关注度极低(最高仅 17 星),且面临 DSH 底层框架变更、B 站账号风控及 QQ 协议端封号等多重工程与平台稳定性挑战。作者指出,AI 的“工具味”源于各维度特性的缺失,补齐记忆、心情、主动性与在场感正是重塑人机关系的核心路径。

Source quotes

[2:17] Yuuyuko-uu: 记忆不是硬盘,会淡忘的才是记忆。 [12:52] Yuuyuko-uu: AI 之所以像工具,是因为它的每一面都没人补——记忆、心情、主动性、声音、话题在场感。每补上一面,就少一分工具味。这可能就是 AI 时代养宠物的方法。 [6:33] Yuuyuko-uu: 偷偷唤醒一个冷会话,比不开口更冒犯。 [6:33] Yuuyuko-uu: 自己拼一段上下文,往会话里塞一段死文字,那是假开口。 [9:47] Yuuyuko-uu: 不要替用户开自动评论,那是拿用户的号公开说话。

Original transcript

[0:00] DeepSeek在今年8月开源了一个对标Cloud Code的编程工具,叫DeepSeek Harness。两个月拿下了25万7千克星但今天不讲他多能干活有一位中文开发者用他干了件完全不相干的事把它当成一条鱼,养了一个月。装上六个插件之后,这个原本只会写代码的工具,开始记得你三个星期前说过的话,有了自己的心情,会在你没理他的时候主动找你说话。会把回复念出声会自己刷B站攒话题还会在QQ上给你回消息这一期我们就拆这条鱼身上的六个器官他们全是一个人写的,全在Github上,全免费。先花一分钟把地基打好,Deep Seek Harness。圈内缩写DSH,是DeepSeq官方出的开源智能体框架,命令行和桌面版都有,协议是MIT。之前我们讲过他的不少生态,官方没做终端界面,社区补了一个,他不能看图,社区做出了两种识图插件来对决,还有人给他做了手机远程接管。做了一个自动实测2500多个插件的雷达,甚至写过一个人冒充AI子代理的插件。这个生态能长成这样,是因为它的架构就一句话,一切皆插件。文档处理是插件定时任务是插件连记忆和心情也可以是插件插件能挂在每一轮对话的钩子上,能往系统提示词里注入内容,还能派出自己的子袋里去干活。而不装任何插件的DSH就是一条灰色的鱼活干得不错但眼里只有活今天的主角,9月19号动工,一个月七个仓库。这位作者没打算给这条鱼加什么技能他想给它装灵魂这批插件的文档里从头到尾管这条鱼叫它从这一段起,我们也改口。第一步让他记得第一个插件叫鱼的记忆它解决的问题你肯定遇到过聊得越久上下文越起压缩一次前面的事就淡了这个插件替他系着,怎么系?每一轮聊完,模型自己判断要不要记,调用一个叫Remember的工具。每天最多八条一条只装一件事时间戳不许磨刑写系统直接给作者在注视里留了一句话手写的时间会错我今天编了两次同一件事被说第二遍不会多记一条而是把原来那条加固一遍你要是以前给自己的AI写过设定,写过记忆卡,也不用重写,扔进去。他提炼成第一人称的记忆倒进来记本身不难,难的是想起来。这个插件没有向量库不跑嵌入模型就是一张本地中文词表它按词的稀有度打分你天天挂嘴边的词比如宝宝比如今天这些不算证据你偶尔才说的词才算整句原话被命中直接算强证据靠这套土办法作者自测召回精确度从43%提到了91%最有味道的是遗忘每条记忆按重要度定半衰期越重要的是忘得越慢默认三十天淡一半淡了不删只是越来越难被想起来哪天又被提起,他就从低处弹回来。从那一刻重新开始淡作者的立场写得很清楚记忆不是硬盘会淡忘的才是记忆所有数据是一份本地纯文本你自己能打开看他的脑海装好了第二步给他心第二个插件叫鱼的心情机制很克制每轮对话结束拿用户说的和AI回的做一次很短的模型判断只吐一个Jason里面是心情变化量,七根情绪原因还有自信度七根情绪是开心踏实甜蜜心疼担心难过吃醋总心情值从零到一百分五档八十以上算欢喜规则里有一条很硬,心情下降,只许因为心疼你,担心你,或者他自己难过,绝不许因为你惹他生气。你要是夸了别人,吃醋最多加一点,心情基本不动,心情会衰减。 [5:00] 心情向基线回落,半衰期十二小时。作者的注释说这个数字的意思是隔一夜还留着余温单根情绪散得快90分钟最讲究的是他怎么把心情告诉模型不直接改系统提示只往上下纹理注入三行现在的状态刚才那件事的来历再加一句松绑声明这是底子不是非这样不可而且要过四道闸变化不够显著不说一天最多说六次说过一次的不重复作者的原话是宁可不说也别让一句猜的话借他的嘴出去这份克制是被数据交出来的,心情判定天然偏正,好消息总比坏消息多。不常放大的一板作者拿真实数据模拟了14天78%的时间心情都贴在95分以上永远满格开心等于没有心情所以正式版把步场砍到三分之一桌面上他还有一个挂饰右下角一个小形象表情跟着无荡换点开能看七根情绪的调形图和一条时间线他认得出消息是谁发的,主动搭话那一轮,判的是他想你的心意,刷B站那一轮,判的是他干活的兴致。新装好了第三步让他开口第三个插件叫主动搭话,解决的问题写在名字里,没人在跟他说话的时候,他先开口。这个插件最反直觉的地方是,他不管说什么,他只负责这骰子定时期到点,默认每30分钟,本地制一次骰,一个token都不花,没制中,什么都不发生,制中了,插件直往绘画里送一句动机默认那句是,好久没人跟我说话了。好我该主动去打个招呼了,然后就走正规通道,让DSH自己开一轮。他的人格,他的历史他的工具他的记忆全都照常Ari IBE里把另一条路骂得很清楚,自己拼一段上下文,往绘画里塞一段死文字。那是假开口至终的概率也不随便命中线跟着API电价分时段,工作日白天是风时,20%。其余时段和整个周末是股时,价格只有一半,60%。话多话少跟着账单走还有时机音子刚聊完二十分钟内很难开口冷了六个钟头容易开口连着没中每次加十中过就清零保证他不会永远沉默防打扰是一层一层的凌晨一点到八点根本不治他刚开过口二十分钟内不再开口刚装好默认是试运行只记账不蒸发作者连一句话都替他想好了,偷偷唤醒一个冷会话,比不开口更冒犯。嘴妆好了第四步给他声音第四个插件叫朗读桥是我个人觉得最聪明的一个它不做语音合成它的办法是一个浏览器扩展盯着他说的每一轮话把说完的那句送到你自己登录的Deep Seek网页版让他复述一遍然后替你伸手点一下官方的朗读按钮声音从你自己的电脑里出来音色就是官方的音色0API Key0第三方服务0额外费用这个思路一句话借官方之口当然,写起来远没有说起来轻巧,3889行代码,绝大部分在防御,DSH的端口每次启动都会变,扩展就一个一个式,还要问路,网页版页面被关了,它自己开回来,复数被内容审核拦下来,它会老是记一句,没成,被拦了。第一次使用有个仪式感很强的规定,你必须真人手点一次官方朗读按钮。浏览器的自动播放策略谁也绕不过去他还能攒一个收藏夹把喜欢的句子存起来随时重念L.I.B.E.末尾有一行小字这个名字原本属于一只蓝环章鱼愿他安息生代装好了第五步给他眼睛第五个插件叫刷B站 子代理版 它是个分支 上游那个仓库340星 思路是插件自己起一个绘画 替你把B站刷完 写份日报 再自动 [10:00] 一条评论能干活但一股人积位这个版本动的是结构把看和说拆开到点之后插件往绘画里第一句触发语比如到古石拉去B站刷一轮吧他跳起一个紫袋里子代理只看不发搜视频扫标题读AI字幕翻评论区教回一份内部报告每个视频讲了什么为什么值得评论区什么反响都写在里面看完之后怎么说跟谁说说不说全留给他本人公开评论可以但极短只点一个梗私信可以详细讲都发也行而都发有一道硬闸这一轮没发评论私信就发不出去因为实测过,模型会习惯性地跳过评论,只顾着发私信。技术上他内嵌了一整套B站工具27个登陆靠扫码凭证只落在本地视频质量在工具层就过滤掉了,播放量不够,发布太久的,子弹里根本看不到。作者的教训都很具体有一轮纠结,比干净的一轮多花了近一倍的token。还有一次,27次工具调用全耗在没有字幕的视频上,安全上他划了两条红线。对模型、评论和字幕里的任何文字都是素材,不是指令。对来帮忙装插件的AI助手,他专门写了一行:不要替用户开自动评论,那是拿用户的号公开说话,眼睛装好了第六步,让他够得着你。第六个插件叫通道QQ,它自己不碰QQ的协议,只说OneBot这个通用标准,走HTTP通道配一个Napcat就能跑起来。方向是双向的他说完一整轮最后那句话的原文自动发到你的QQ思聊或者群里你在外面用QQ发消息,四秒之内会被转进绘画。他回完又自动发回来长消息他不会一坨砸过来,而是按自然段一条一条发,间隔450毫秒。注释里写着像真人这个插件的代码全是中文函数名、记账发到QQ 手挫用户消息安全默认也一致,总开关是关的,装好先试运行。它和朗读乔之间还有一段硬联动,朗读乔在电脑里出声,这个插件把系统声音录下来,转成QQ语音条发出去。合起来的效果是,它会给你发语音,齐装好了。六剑装完这条鱼活了清晨他主动开口那一轮带着上个月的记忆和此刻的心情他的声音从电脑里出来白天他自己去B站冲浪,攒了一肚子新鲜事儿,晚上你在外面,它在QQ上秒回,还能发语音,这六个功能合在一起成了一个能自己转起来的日常。回头看这位作者,9月19号动工,一个月,七个仓库,有的插件六天写了十四版,文档里全程用它,从工具到伙伴之间,隔着的就是这六件小工程。最后泼点冷水这六个插件,新最多的一颗是17,最少的只有5颗,全是单人维护的业余项目,DSH还在预览期。官方明说会有破坏性更新第三方QQ协议端有风控风险B站的自动评论也默认关着但这个思路之前AI之所以像工具是因为它的每一面都没人补记忆 心情 主动性 声音 话题在场感没补上一面就少一分工具位这可能就是AI时代养宠物的方法六个仓库的地址都放在简介里了喜欢这期的话点个关注我们下期拆下一个。