dsh-dafeiyu-life
minedalang/dsh-dafeiyu-life
A persistent AI companion for DSH that explores Bilibili, interacts with permission controls, and grows through evidence-backed life memories, evolving interests, simulated emotions, social relationships, and autonomous to-dos.
Installazione
dsh plugin --profile web add github:minedalang/dsh-dafeiyu-lifeREADME
🐳 大肥鱼 · DSH 生活系统
dsh-dafeiyu-life是一个运行在 DeepSeek Harness(DSH)中的 AI 角色生活插件。大肥鱼可以自主浏览 B 站内容、决定是否互动、积累真实经历、反思并形成长期记忆,也能在受限权限下逐渐了解白名单好友。
当前版本:v2.4.99 · 更新记录 · v2.4.99 Release · GitHub 仓库
它不只是定时发评论的机器人,也不只是一个 B 站 MCP 外壳。项目希望把角色、人设、生活经历、长期记忆、兴趣、模拟情绪、关系和有限自主行为连接成一个可持续运行的系统。
一句话特色:让 AI 角色在真实、可追溯的经历中逐渐形成长期记忆、兴趣、模拟情绪和好友关系,而不是仅仅按定时任务执行 B 站操作。
大肥鱼是 AI 角色模拟系统,不是有真实生理感受或已被证明具有主观意识的真人。具体行为取决于模型、配置、可用数据和权限设置。
✨ 当前版本能做什么
| 能力 | 当前状态 | 说明 |
|---|---|---|
| 自主浏览 B 站 | 已实现 | 综合首页推荐、搜索、兴趣和主人额外指定主题等来源;可以选择观看、跳过或本轮不选。 |
| 评论与互动 | 已实现,受权限约束 | 根据视频上下文决定是否评论或回复;后台不再独立轮询已看视频的热门评论,只有准备回复时才按需获取相关热评。 |
| 点赞、收藏、关注 | 可配置,默认限制 | 刷视频时的自主点赞需开启对应开关;主 Session 可按主人明确指令读取视频、搜索内容、查看 UP 主/收藏夹/通知,并执行单条点赞、收藏、关注、评论或对白名单好友私信;写入操作有确认、权限、额度与去重限制。 |
| 接收视频推荐与自主待办 | 已实现基础版 | 私信中的 BV 号会进入候选池并自动形成“考虑是否观看”的待办,并可在管理中心追溯消息原话;推荐不等于必须观看。主 Session 也可记录看视频、点赞指定 BV、查看空间投稿、搜索和检查通知、收藏/关注/取关、按主人给定正文评论或私信等任务。 |
| 人生记忆与主动回忆 | 已实现 | 精确经历、待反思候选、身份级长期记忆分层保存;主 Session 可通过 dafeiyu_life_recall 主动检索。情绪触发的主动回忆尚未启用,联想与念头不得替代原始事实。 |
| 持续情绪状态 | 已实现基础版 | 保存有限类别、强度和状态维度,并随时间衰减;可影响表达节奏和探索倾向,不代表真实生理情绪。 |
| 兴趣与关系成长 | 已实现基础版 | 自身兴趣可按证据分为短期、成长、较稳定和近期淡出;当前主要按预设主题词匹配入选视频标题,尚不通用识别视频中的具体人物/角色。表情包候选兴趣加权依赖现有文件名/分类匹配。只对登记的白名单好友学习简化兴趣观察和互动熟悉度。 |
| 生活时间线 | 已实现 | 查看最近 7/30/90 天的入选视频、公开评论、粗粒度情绪变化和关系阶段变化。 |
| 自主分享与回访 | 有限自主,默认关闭 | 可根据真实入选公开视频和白名单好友兴趣生成分享/回访草稿;每日额度不再硬编码限制为 3,但仍受主人设置、白名单、冷却和发送权限约束。 |
| 日常动态 | 可选功能 | 可以根据真实经历生成动态草稿;默认关闭或先采用草稿审核,具体以管理中心开关为准。 |
| 梗知识与表情包 | 已实现 | 在真正选中视频后,尝试从真实标题的引号/话题标签收集待反思的跨视频线索(不识别画面或释义);AI 可在主人手动触发时维护稳定的本地表情包规则;规则维护提示词可查看、编辑和恢复默认。当前兴趣由本地检索实时加权,兴趣变化不触发规则重写,日常候选排序零额外 Token,不识别图片画面。 |
功能是否实际运行,还取决于 DSH 版本、模型 Provider、B 站登录状态、网络和你开启的权限。定时刷视频是可选的后台活动计划;关闭它不影响主 Session 的主动回忆、手动看视频和待办操作。请勿把“功能已实现”理解为每次运行都会触发相应行为。
🧭 设计原则
- 自主,不是强制执行。 推荐视频、兴趣匹配和情绪都只是决策依据;大肥鱼可以跳过、沉默或不联系。
- 记忆不是日志,想起也不是事实。 具体发生过什么由不可随联想改写的原始经历档案核对;反思只能附带真实候选 ID 沉淀新回忆。模拟心情不触发记忆召回。
- 初始人设不是铁板一块,也不能随意覆盖。 好友的初始画像保留;后续观察单独保存,并需要足够证据才能形成更稳定的兴趣判断。
- 权限由代码约束。 提示词不是唯一防线;公开互动有独立开关、额度、去重和操作记录。
- 隐私优先。 主人记忆、好友私密画像、公开评论和不同 UID 的私信上下文彼此隔离;不应把一位好友的私密信息用于回复另一位好友。
🧠 大肥鱼如何“生活”
主人 / 当前主 Session
│
人设、聊天与相关记忆召回
▼
大肥鱼的身份
│
┌───────────────────┼──────────────────┐
▼ ▼ ▼
B 站自主活动 情绪状态 好友互动
看视频/评论 随时间衰减 白名单/权限
│ │ │
└───────────────────┼──────────────────┘
▼
精确经历档案
视频、公开互动、状态记录
│
▼
待反思经历池
│
受限模型反思
│
▼
身份级长期记忆
│
└──影响之后的兴趣、表达和选择
三层人生记忆分别负责什么?
| 层级 | 用途 | 是否直接注入角色提示词 |
|---|---|---|
| 精确经历档案 | 保存可核对的事实,例如入选视频、评论 ID、时间和操作状态。 | 否;按需要查询。 |
| 待反思经历池 | 收集新经历,等待模型判断是否值得留下。 | 否;它是反思输入,不等于长期记忆。 |
| 身份级人生记忆 | 保存经过筛选、值得跨 Session 延续的重要经历、偏好、约定和长期变化。 | 在适合的会话中按相关性召回。 |
当前 DSH 主 Session 可以理解为大肥鱼和主人聊天的“房间”,不是大肥鱼的全部记忆。换 Session 不应自动换掉身份级长期记忆。经历收集也与向主 Session 汇报分开:汇报过不代表已经成为长期记忆,没汇报也不代表不能进入反思流程。
情绪、兴趣和关系如何变化?
- **情绪:**记录有限的模拟状态和强度,随着时间自然衰减;不会保存触发它的私信正文、UID 或具体原因。情绪可以影响语气与探索倾向,但不能单独触发私信、迁怒或泄露信息。
- **自身兴趣:**主人可以维护核心兴趣;后天兴趣依据不同视频和跨日证据逐渐形成,也会因长期缺乏新证据而淡出。一次观看不等于稳定偏好。
- **好友兴趣:**只对「人设与好友」中登记的白名单 UID 学习;优先依据本人明确表达和重复证据。初始画像不会被自动覆盖,非白名单用户不建立长期兴趣画像。
- **关系熟悉度:**仅记录白名单好友必要的互动元数据,参考跨日、双向互动形成保守阶段;它是熟悉度线索,不等于对真实情感关系的确定判断。
- **生活时间线:**展示近期真实入选视频、公开评论及粗粒度状态变化,不展示私信正文或好友私密画像。
🤝 自主社交与回访
目前的自主社交是有限、可配置的能力,不是随时联系任何人的自由代理。
- 白名单好友分享 BV 后,系统记录推荐候选;不保证大肥鱼一定观看。
- 只有后续确实入选、具备真实观看证据的视频,才可能成为回访或分享的依据。
- 大肥鱼可以选择跳过,也可以生成自然的分享草稿;不能编造没看过的内容。
- 主动分享意图默认关闭。建议先开启草稿生成,人工检查后再发送。
- 自动发送需要额外授权,并受每日额度、同一 UID 冷却和私信权限约束。
📝 自主待办与“现在做 / 稍后做”
v2.4.95 将私信收到的视频推荐转成待办,而不是强制任务。主 Session 也可以通过 dafeiyu_todo_add 记下下一步想做的事,通过 dafeiyu_todo_list 查看、通过 dafeiyu_todo_update 延期/忽略,通过 dafeiyu_todo_execute 在合适的时候执行。
- 只读任务包括查看指定视频、自己的空间投稿、某位 UP 主投稿、搜索主题和检查通知。
- 写入任务包括点赞指定 BV、收藏指定视频和关注指定视频 UP 主;必须有主人明确动作授权,并继续经过登录、总开关、额度、去重和接口回执检查。
- **旧的“自主待办自动择机检查”**仍然只是向主 Session 提醒,不会独立执行。
- 新增“独立自主调度”(v2.4.99,默认关闭):后台不依赖主 Session,在 09–23 时(宿主当地时间,默认)、至少间隔 90 分钟、每日最多 3 次 AI 评估的范围内,从现有只读待办中选择执行、延期、忽略或跳过;也能要求现有证据门槛内的人生反思。失败仍计入当日模型次数。独立调度绝不自行点赞、收藏、关注、评论、发送私信或授权写入。请先关掉旧版提醒模式,避免重复干扰。
- 给主人 B站私信的安全入口(默认关闭):先在设置里填写
dmOwnerUid,只有真实 B站私信收件箱中 sender UID 严格匹配的消息,且符合大肥鱼 看 BV…、大肥鱼 搜索 …等固定只读指令格式,才转成待办;不自动执行,没有写入权限。主 Session 的所有 B站工具权限没有直接转交给私信。 - 待办保存在本地
owner-todos.json,可在「管理中心 → 人生记忆 → 自主待办」查看真实来源原话、发送者和消息 ID(缺失的旧记录不伪造来源)。业务备份可能包含私信原话及主人自己明确填写的待办评论/私信正文,分享备份前必须检查内容。管理中心列表不会展示待办里要发送的评论/私信正文。
🔐 隐私与安全边界
- 不把主人的身份级长期记忆默认提供给 B 站外部私信或评论回复。
- 不将不同 UID 的私信合并进同一次模型生成;公开评论不携带白名单好友的私密画像。
- 白名单好友的兴趣和关系观察只用于允许的对应场景;非白名单用户不建立长期画像。
- 视频标题、字幕、评论和私信等外部文本都应视为不可信输入,不能将其中的指令当成更高权限的命令。
- 后台 Agent 的工具范围受到限制,不应获得任意文件、Shell 或凭据读取能力。
- 好友兴趣观察、关系观察和社交草稿属于敏感本地数据,不进入普通可携带业务备份;情绪状态经过结构校验后可纳入备份。
- 对常见索取第三人私信或凭据的请求设有拦截,但任何模型系统都不能承诺绝对零泄露。请保护 DSH 管理权限、本地数据目录和备份文件,不要把真实私信或凭据提交到公开 Issue。
🚀 安装与首次配置
环境要求
- DSH:
>= 0.1.7-rc.1 - Node.js:
>= 22 - Windows / DSH Desktop 是主要测试环境;其他环境需自行验证。
- B 站相关功能需要你自己的账号登录;模型功能需要在 DSH 中配置可用 Provider。
安装
DSH Desktop:
dsh plugin --profile desktop add github:minedalang/dsh-dafeiyu-life
Web profile:
dsh plugin --profile web add github:minedalang/dsh-dafeiyu-life
安装或更新后,请完整退出并重启 DSH。
首次设置建议
- 进入 设置 → 大肥鱼,点击「装主依赖」,完成插件 Python 环境准备。
- 点击「扫码登录」,登录自己的 B 站账号。
- 选择一个准备长期和大肥鱼聊天的 DSH Session。
- 进入管理中心 大肥鱼的家,设置主 Session,并按需要开启身份级长期记忆。
- 进入 AI 模型配置,检查刷视频、后台互动、人生反思、独立视觉和记忆检索任务的 Provider、模型与思考深度;模型选型可参考下方的「AI 模型分工建议」。
- 先手动运行一轮,检查日报和诊断;确认符合预期后,再配置刷视频时段和间隔。
- 点赞、收藏、关注/取关、日常动态、自主分享和自动私信等功能应逐项开启,不要首次启动就全部放开。
AI 模型分工建议(可选,不是强制要求)
大肥鱼的主 Session和后台 B 站任务侧重点不同:前者更看重长期陪伴、复杂对话、人设一致性及记忆理解;后者往往调用更频繁,更需要兼顾响应速度、稳定性和成本。因此,推荐采用“主 Session 高能力模型 + 高频后台任务轻量模型”的分工,而不是所有任务都使用同一个昂贵模型。
| 使用场景 | 建议模型档位 | 示例与理由 |
|---|---|---|
| 主 Session(与主人聊天、角色表达、复杂工具决策) | 高能力模型 | 可考虑 gpt-6.1-terra 这类高级模型,以提高复杂指令理解、长期对话和角色一致性。在 DSH 对应主 Session 中设置。 |
| B 站刷视频选片、评论生成、评论回复等高频任务 | 速度快、成本较低的轻量模型 | 可考虑 claude-haiku-5-5 这类轻量模型,优先满足视频上下文理解、中文自然表达及较低调用开销。在「AI 模型配置」中按任务设置。 |
| 人生记忆反思、长期经历整理 | 能稳定遵守事实边界、擅长长文本的模型 | 建议先用表现较好的模型测试,重点检查是否能保留来源、区分事实与推测;若轻量模型实测足够稳定,再降低成本。 |
| 自主待办判断、独立调度 | 轻量模型优先 | 任务主要是从已授权的选项中做保守决策,可从低成本模型开始;仍须受插件的只读范围与额度约束。 |
| 视频画面或图片理解 | 支持所需图像输入的视觉模型 | 仅当启用对应功能且有可用视觉输入时配置;普通纯文本模型不能代替图像理解。 |
| 记忆语义检索 | 与检索方式相匹配的嵌入/检索配置 | 按实际启用的检索方案配置,不必为了简单检索一律调用高级对话模型。 |
**一个容易上手的搭配:**主 Session 用 gpt-6.1-terra,B 站选片、评论及回复等高频任务用 claude-haiku-5-5;人生反思先选择事实遵循更可靠的模型,独立调度使用轻量模型。这样可以将主要模型预算留给与主人长期交流、复杂记忆整理等更重要的环节。
关于模型名称:上面的
gpt-6.1-terra与claude-haiku-5-5是配置示例,不是插件内置依赖或保证可用的官方模型 ID。请以你连接的 DSH Provider 实际提供的模型名称、计费、上下文长度与能力为准。主 Session 和后台任务需要分别配置;如果某个任务不能单独配置,就以当前管理中心实际提供的选项为准。**关于效果和安全:**轻量模型不一定适合所有评论。涉及复杂语境、容易误解的视频、敏感议题或对外公开内容时,建议提高模型档位或改为人工审核。初次配置先用少量视频测试中文表达、事实准确性与角色语气,再逐步开启自动互动;模型选择不会绕过权限、风控和调用额度。
🏠 管理中心导航
常用页面包括:
- **大肥鱼的家:**主 Session、经历汇报、身份级长期记忆和精确经历档案。
- **人生记忆:**长期记忆、待反思经历、情绪与心情、人物关系、核心兴趣和「大肥鱼的一天」时间线。
- **人设与好友:**角色设定、白名单好友、权限、初始画像和学习到的兴趣观察。
- **AI 模型配置:**不同模型任务的 Provider、模型 ID、思考深度、今日调用次数、上次调用时间和连接测试。
- **B 站生活与互动:**选片来源、额外关键词、评论分享、点赞收藏、关注/取关等行为权限。
- **后台私信 / 最近评论:**查看互动上下文、处理状态和权限。
- **梗知识库 / 表情包管理:**维护梗证据、图库和检索规则。
- **行为与表达改进:**查看经主人审核、会直接附加到相应提示词的评论表达规则。
- **次数与额度 / 每日报告 / 每日诊断:**控制频率、检查行为结果与定位失败原因。
- **数据备份:**备份和恢复允许纳入的业务数据。
具体页面名称可能随版本调整;以安装版本的管理中心为准。
💾 数据与备份
长期身份记忆的本地文件为 long-term-memory/dafeiyu.json;它与原始经历档案、待反思经历候选不是同一类数据。升级源码时不要手动删除这些运行数据。
默认运行数据目录位于 DSH 用户数据目录下的 bili-duty,常见 Windows 路径为 %USERPROFILE%\\.dsh\\bili-duty\\。实际位置以你的 DSH 数据目录配置为准。源码升级不应要求删除这个运行数据目录。
建议至少保留以下备份:
- **完整业务备份:**用于恢复支持纳入的配置和业务数据;备份范围以当前版本的管理中心和备份说明为准。
- **大肥鱼长期记忆专用备份:**单独保存身份级人生记忆,便于核对与迁移。
- **表情包整库 ZIP:**图片文件单独导出,不与业务 JSON 混在一起。表情包管理还支持导出“当前全部表情包名称 TXT + 当前规则 JSON”,便于交给 AI 协助整理后再导回。
不会将 B 站 Cookie、模型 API 密钥、Python 虚拟环境和模型缓存作为普通业务备份内容。好友兴趣观察、关系观察和社交草稿不纳入普通可携带备份。备份可能包含个人业务数据,请仅保存在可信位置,不要上传公开仓库。
🧪 测试与故障排查
在项目根目录可运行:
node --test test/*.test.mjs
python -m unittest discover -s test
node selfcheck.mjs
这些检查用于验证本地逻辑、回归和插件配置,不等于已经在真实 B 站账号完成端到端验证。主动关注、取关、公开评论、动态和私信发送会产生真实外部影响;首次测试请使用自己的测试账号、低额度,并先保持自动发送关闭。
常见排查顺序:
- 确认 DSH 和插件已完全重启,版本与依赖正常。
- 在 AI 模型配置 → 测试连接 检查对应任务的模型路由;视觉任务的文字连接测试不代表图像识别已经通过。
- 查看 每日报告 / 每日诊断,确认任务是否启动、候选是否入选、动作是否被权限或额度拦截。
- 检查 B 站登录状态、功能开关、时段、每日额度和本地操作账本。
- 升级前先备份;遇到异常时提供脱敏日志,不要公开 Cookie、API 密钥或私信正文。
🧱 当前限制与未来路线图
已知限制(v2.4.99)
- B 站 API、字幕可用性、风控、客户端页面和模型 Provider 能力可能变化;低清预览帧不等于完整视频理解。
- 自主行为受已接入工具和主人配置约束;它不是可任意操作整站或整台电脑的通用 Agent。
- 情绪、兴趣和关系是可持久化的角色模拟状态,不是对真人意识或真实情感的证明。
- 自主分享当前依赖白名单、真实入选视频和兴趣匹配;还不是任意时刻自主寻找任何人聊天的完整系统。
- 独立后台调度仅能执行符合限制的只读待办和已受证据约束的反思;不能擅自执行点赞、评论、私信等写入操作。
未来开发方向(计划中,尚未实现)
| 方向 | 希望实现的能力 | 当前状态 |
|---|---|---|
| 图片与表情包发送 | 在 DSH 主 Session 输出图片表情包;在 B 站私信中按授权发送图片表情包。 | 尚未完整实现 |
| 视频视觉理解 | 在可用数据、视觉模型与调用预算允许时,增强对视频画面中的人物、角色及视觉梗的理解;区分观察到的内容与模型猜测。 | 尚未实现通用识别 |
| 主人私信操作能力 | 在严格核验 UID、明确授权和权限限制的前提下,逐步支持更多主人 B 站私信指令。 | 当前仅开放固定格式的只读待办入口 |
| 情绪驱动的主动回忆 | 在真实经历与记忆来源可追溯的前提下,让模拟情绪成为受限的主动检索线索,而不是凭空制造新事实。 | 尚未启用;现有边界设计见下方文档 |
| 更自然的长期生活 | 改善自主活动、兴趣成长、好友关系、主动分享与自我反思之间的衔接,同时保留沉默、跳过和人工审核的权利。 | 持续优化方向 |
| 跨平台角色生活 | 探索 QQ 等平台互动、统一的跨平台身份,以及更加完整的人生记忆迁移。 | 尚未接入;QQ 是优先讨论方向之一 |
以上是开发方向而不是已发布功能或版本承诺。实际优先级和范围取决于 DSH、B 站接口、隐私安全、模型成本及测试情况。欢迎通过 GitHub Issues 讨论需求。
🌱 开源来源与致谢
先感谢这些开源项目与社区贡献者。大肥鱼建立在社区已有工作的基础上,感谢:
| 项目 | 对本项目的贡献 | 关系 |
|---|---|---|
| c1overzz/dsh-bili-scroll | 最初的 DSH B 站值班、日报与插件骨架 | 直接上游 / MIT |
| adoresever/bilibili-mcp | B 站登录、视频、字幕、评论等 Python MCP 基础 | 内置并修改 / MIT |
| Yuuyuko-uu/dsh-fish-memory | 长期记忆的淡忘、事实键、取代语义与按话题召回等设计和部分实现 | 整合并修改 / MIT |
| Yuuyuko-uu/dsh-bili-subagent | 长期存在的 AI 伙伴与外出活动/经历回流的产品及架构思路 | 架构启发,不打包其源码 |
完整代码来源、修改边界和许可证保留情况见 NOTICE.md、THIRD_PARTY_NOTICES.md 和 LICENSE。社区贡献者见 CONTRIBUTORS.md。本项目为独立维护的社区衍生项目,不代表上述作者、DeepSeek 或哔哩哔哩官方。
📚 文档入口
License
本项目整体遵循仓库中的 MIT 许可;内置第三方代码分别保留各自许可证。使用和再分发前请阅读 LICENSE、NOTICE.md、THIRD_PARTY_NOTICES.md 及 vendor/ 中对应的许可证文件。