# dsh-emotion-memory 中文文档

规范地址：https://npmcn.com/package/dsh-emotion-memory/

版本：0\.1\.1
npm 元数据更新时间：2026-11-03T12:47:19.669Z
中文译文更新时间：2026-11-03T12:54:06.737Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/dsh-emotion-memory
原文对照：https://npmcn.com/package/dsh-emotion-memory/?lang=original
项目主页：https://github.com/xsy822/dsh-emotion-memory#readme
源码仓库：https://github.com/xsy822/dsh-emotion-memory

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：108 kB，13 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- peer 依赖：@deepseek-ai/dsh \*
- 首次发布：2026-11-03T04:35:13.971Z
- 最新版本发布：2026-11-03T12:47:19.242Z
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

情绪记忆模型 0.1：PAD 情绪场 + 带情感指纹的记忆，一套注入

## 安装

```sh
npm install dsh-emotion-memory
```

也可以使用：`pnpm add dsh-emotion-memory`、`yarn add dsh-emotion-memory`、`bun add dsh-emotion-memory`

## README

# dsh-emotion-memory

[![npm](https://img.shields.io/npm/v/dsh-emotion-memory.svg)](https://www.npmjs.com/package/dsh-emotion-memory)

给对话代理用的**情绪 + 记忆**插件：一个 PAD 情绪场，一套带情感指纹的记忆，一段每轮注入的文本。

> 版本 0.1.0 · 需要 DSH（DeepSeek Harness）宿主

## 它做什么

-   **情绪**：三维连续场（Pleasure / Arousal / Dominance），由 14 个离散通道读出（锚点取自中科院 PAD 量表）。有基线、有弛豫、有端点收缩，不会贴死在满格。
-   **评估**：每轮结束调一次轻量模型，只让它给评估变量（合意性、唤醒、掌控、意外、指向、关系权力），坐标由锚点算——换锚点不用重训。
-   **派生情绪**：心疼、吃醋、沮丧、委屈、感动、愧疚、释然、思念、烦躁，由「通道强度 + 评估条件」合成。
-   **精力**：独立一维，按时间惰性结算（醒着掉、跨夜回、每轮扣），直接影响话多话少。
-   **记忆**：条目写入时附带情感指纹（当时的 PAD 与词）；**被想起时会再巩固**——用当前状态微调指纹（系数 0.15），保留编码时的词、另记"最近想起时的情绪"，并累计命中次数；检索按 `0.20×新鲜 + 0.15×重要 + 0.60×相关 + 0.05×心境一致` 打分；两层遗忘（淡忘、以及把长期没想起又不重要的挪进"已遗忘"）。
-   **注入**：每轮一段话——先底色，命中旧记忆再补一句"想起一件事"。

## 安装

```bash
dsh plugin add dsh-emotion-memory
```

或在 DSH 设置里的插件页填包名。

安装后在「设置 → 情绪记忆」里有四个页签：心情 / 记忆 / 记录 / 设置。

## 配置

全部在设置页改，也可以直接改 `~/.dsh/emotion-memory/config.json`。主要参数：

| 参数 | 默认 | 说明 |
| --- | --- | --- |
| 注入 / 记忆注入 | true | 两处开关 |
| 基线 P / A / D | 0.15 / −0.10 / 0.00 | 无事件时的回落目标 |
| 弛豫 P / A / D | 0.15 / 0.35 / 0.20 | 每 5 分钟一轮的回归比例 |
| 强度衰减 | 0.30 | 14 通道每轮衰减 |
| 读出阈值 | 0.12 | 进入混合的最低强度 |
| 派生阈值 | 0.35 | 派生情绪进注入的门槛 |
| 精力初值 / 每小时掉 / 睡眠回复 / 每轮扣 | 80 / 3 / 45 / 2 | 精力动力学 |
| 记忆门槛 | 0.45 | 检索分低于此不注入 |
| 一次想起几条 | 1 | 每轮最多注入的记忆条数 |
| 重复间隔分钟 | 10 | 同一条记忆的去重窗口 |
| 半衰期天 | 14 | 新鲜度衰减 |
| 遗忘天数 / 遗忘重要阈值 | 180 / 0.6 | 进入"已遗忘"的条件 |
| 绑定模式 | 全部 | 「全部」或「指定」 |
| 绑定会话 | 空 | 指定时生效，可多选；只这些会话注入、判定、写记忆 |

## 导出与导入

设置页最下面有「导出 / 导入」：

-   **导出**：一个 JSON，含配置、所有会话的状态与记录、它们的记忆条目；
-   **导入**：合并记忆（按 id 去重）、替换同名会话的状态、合并配置。

换机器、备份、或者把某段经历搬到另一个实例，都用这个。

## 数据

-   情绪状态与记录：`~/.dsh/emotion-memory/state.json`
-   配置：`~/.dsh/emotion-memory/config.json`
-   记忆条目：沿用 `~/.dsh/fish-memory/session-<会话>.json`（若从旧版记忆插件迁移过来，条目会直接被读到）

## 已知限制

1.  **相关性是字面的**：中文二元组 + 英文整词，换说法就漏检。这是目前最明显的短板。
2.  **情绪只看对话**：不读代理自身的行动结果（工具失败、任务卡住），所以情绪仍被对话牵着走。
3.  **关系权力靠模型自评**：置信度低于 45 时强制归零，实际生效比例不高。
4.  **没有标注集**：准确性目前靠定性观察，没有量化指标。

## 设计说明

更完整的推导、参数由来与评估，见仓库里的技术报告 `emotion-memory-technical-report.md`（Markdown / Word 两版）。

## 许可

MIT

## 常见问题

### dsh-emotion-memory 是什么？

情绪记忆模型 0\.1：PAD 情绪场 \+ 带情感指纹的记忆，一套注入

### 如何安装 dsh-emotion-memory？

在项目目录运行 npm install dsh-emotion-memory，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@deepseek-ai/dsh（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### dsh-emotion-memory 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/dsh-emotion-memory 是否存在。

### dsh-emotion-memory 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### dsh-emotion-memory 可以商用吗？

dsh-emotion-memory 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### dsh-emotion-memory 还在维护吗？

最新版本 0\.1\.1 发布于 2026/11/03（今天）；至今共发布 3 个版本，其中过去 12 个月发布了 3 个；首次发布于 2026/11/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

