🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

情感人格 yimengsuper2432/dsh-agent-personality

DeepSeek Harness
yimengsuper24328 天前有提交已提供中文文档扫描:含敏感能力

让角色记住你、会累会主动开口,情感随相处真实变化

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yimengsuper2432/dsh-agent-personality
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · skill
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 29 处,展示前 22 条)
  • 读取本地文件
    lib/index.js:234
    raw = readFileSync(globalPath(), 'utf8')
  • 写入本地文件
    lib/index.js:246
    writeFileSync(globalPath(), `${pruned.content}\n`, 'utf8')
  • 执行外部命令固定命令
    lib/index.js:363
    const child = spawn('explorer.exe', args, { detached: true, stdio: 'ignore' })
  • 写入本地文件
    lib/index.js:639
    writeFileSync(globalPath(), grouped, 'utf8')
  • 读取本地文件
    lib/index.js:659
    content = readFileSync(globalPath(), 'utf8')
  • 读取本地文件
    lib/index.js:681
    content = readFileSync(globalPath(), 'utf8')
  • 发起网络请求
    lib/client.js:28
    return fetch(API + path, { cache: 'no-store' }).then(readJson)
  • 发起网络请求
    lib/client.js:31
    return fetch(API + path, {
  • 写入本地文件
    test.mjs:16
    writeFileSync(globalPath(), '<!-- 还没写 -->\n')
  • 写入本地文件
    test.mjs:20
    writeFileSync(globalPath(), '# 你是谁\n\n<!-- 这是给我自己看的 -->\n\n说话要短,{{名字}}不用点破。\n')
  • 写入本地文件
    test.mjs:36
    mkdirSync(project)
  • 写入本地文件
    test.mjs:37
    writeFileSync(join(project, 'AGENT.md'), '# 项目人格\n不该出现\n')
  • 读取本地文件
    test.mjs:62
    assert.equal(readFileSync(globalPath(), 'utf8'), '# 新版人格\n')
  • 读取本地文件
    test.mjs:63
    assert.ok(!existsSync(globalPath() + '.bak'), '保存不该再生成 .bak')
  • 读取本地文件
    test.mjs:70
    assert.equal(readFileSync(globalPath(), 'utf8'), '# 新版人格\n')
  • 写入本地文件
    test.mjs:108
    writeFileSync(target, 'x', 'utf8')
  • 读取本地文件
    test.mjs:109
    assert.ok(!existsSync(join(home, 'snapshots')), '不该再建 snapshots 目录')
  • 删除本地文件递归
    test.mjs:111
    rmSync(home, { recursive: true, force: true })
  • 写入本地文件
    test.mjs:175
    writeFileSync(globalPath(), '# 人设\n\n正文。\n', 'utf8')
  • 读取本地文件
    test.mjs:176
    const memoryRows = () => readFileSync(globalPath(), 'utf8').split('\n').filter((l) => l.startsWith('- 2026-'))
  • 读取本地文件
    test.mjs:179
    const written = readFileSync(globalPath(), 'utf8')
  • 删除本地文件递归
    test.mjs:458
    rmSync(home, { recursive: true, force: true })
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

这是一个DeepseekHarness的情感人格插件

README

由 DeepSeek 最新模型翻译生成
dsh-agent-personality 给 DeepSeek Harness 一个会累、会惦记你、也会自己开口的人格 中文 · English dsh-agent-personality 把一张 Markdown 人格卡变成一个有情绪、有世界观、有自己生活的角色,直接跑在 DeepSeek Harness 的会话管线里。它不另开聊天窗口,也不替换宿主模型:人格写进系统提示词,收尾语长在「本轮费用」右边,记忆写在磁盘上,主动对话走宿主的定时提醒。 它适合这样的用法:你有一个想长期相处的角色(原创角色、游戏角色、或者你自己写的人设),不希望她每轮都像刚认识一样重置,也不希望“好感度”只是一个越刷越高的数字。 为什么是它 1. 情感是一个真正的变量:-10 到 +10,从 0 开始 大多数“好感度”是 0 到 100 的进度条,聊几句就满。这里不是: - 初始值 0,可以往负走,也可以往正走; - 每轮模型最多提议 ±1,每天净变化最多 ±3——从 0 爬到 +10 至少要三天,而且中途会掉; - 五个阶段各有不同的语气规则:冰点只回必要的字,疏远会嘴硬,平常正常接话,亲近会主动分享,依赖会黏人但有分寸; - 精力独立于好感:低于 35 她会表现出累,并提醒你休息;低于 15 先照顾自己。 情感只改变语气、句长和主动性,不会拿来惩罚你,也不会在正文里报数字。
展开完整文档(README 剩余 1 节)
dsh-agent-personality

给 DeepSeek Harness 一个会累、会惦记你、也会自己开口的人格

中文 · English

dsh-agent-personality 把一张 Markdown 人格卡变成一个有情绪、有世界观、有自己生活的角色,直接跑在 DeepSeek Harness 的会话管线里。它不另开聊天窗口,也不替换宿主模型:人格写进系统提示词,收尾语长在「本轮费用」右边,记忆写在磁盘上,主动对话走宿主的定时提醒。

它适合这样的用法:你有一个想长期相处的角色(原创角色、游戏角色、或者你自己写的人设),不希望她每轮都像刚认识一样重置,也不希望“好感度”只是一个越刷越高的数字。

为什么是它

1. 情感是一个真正的变量:-10 到 +10,从 0 开始

大多数“好感度”是 0 到 100 的进度条,聊几句就满。这里不是:

- 初始值 0,可以往负走,也可以往正走;
- 每轮模型最多提议 ±1,每天净变化最多 ±3——从 0 爬到 +10 至少要三天,而且中途会掉;
- 五个阶段各有不同的语气规则:冰点只回必要的字,疏远会嘴硬,平常正常接话,亲近会主动分享,依赖会黏人但有分寸;
- 精力独立于好感:低于 35 她会表现出累,并提醒你休息;低于 15 先照顾自己。

情感只改变语气、句长和主动性,不会拿来惩罚你,也不会在正文里报数字。

2. 人格、世界观、角色档案、关系网、日记,各存各的

一份 persona.md 同时装“她是谁”和“她知道什么”,早晚会被学习结果覆盖。这里拆成五份:

| 文件 | 装什么 | 谁写 |
| persona.md | 性格、说话风格、边界 | 你写;子进程只改末尾的管理块 |
| worldview.md | 世界怎么运转、有哪些组织 | 你写;学习结果进管理块 |
| character.json | 名字、别名、性别、外观、爱好、所属、关系网 | 你写;学习只补空字段 |
| diary.json | 每轮一行日记 | 模型写,可删可清空 |
| knowledge.json | 学到的设定、活动、人物事实 | 学习流程写,只读展示 |

学习永远不会重写你的人格卡正文,最多在 与 end 之间追加相处记忆和当前情绪。

3. 她会在你离开后自己查资料

资料源不是写死的。空闲超过设定分钟数(默认 45 分钟)后,插件先判断这个角色出自哪部作品,再选路线:

- 能认出来的企划(目前是 Project SEKAI):按系统时区选服务器(Asia/Shanghai → cn、Asia/Tokyo → jp、台北 → tw、其余 → en),读机器可读的 master DB(metadata.pjsk.moe/<region>/master/.json),优先取离今天最近的活动,再按同组合补关系网。
- 其它作品、原创角色:走宿主自带的联网搜索(ctx.web)。插件把「角色设定 / 作品世界观 / 角色关系 / 最近动态」拆成 4 条查询,读前 3 篇能打开正文的页面,再让模型抽成结构化事实写进世界观和关系网。识别不出作品时只按角色名搜;一条都读不到就不编,改成攒一句想当面问你的话。
- 怎么认作品:先让模型读人格卡判断,判断不出再用搜索结果里的线索兜底(标题、摘要里出现「世界计划 / プロセカ / 原神 / 明日方舟…」之类)。你嫌它认错,可以在设置里直接填作品名,或把研究方式改成「只联网搜索」。

角色档案只补空字段,关系网已存在的人不会被覆盖;所有读过的页面都记在 knowledge.json,设置页里能点开看。

4. 收尾语长在费用行右边,而不是正文最后一行

插件接管正文结尾:系统提示词要求正文不要再写“晚安”式的独立收尾,turn/end 之后单独生成一句,塞进 dsh-cost-meter 的 ,和「本轮费用 ≈ ¥…」同一行、同样的灰色小字。费用条被关掉时会退回自己的一行。

5. 她真的会主动找你

每天在你的时间线里随机挑 1–3 个时间点(默认 2 个),通过宿主的 schedule 服务发出,绑定在专用的人格会话上。重启后计划仍在。到点时她会用自己的人设开口——问你在做什么、提醒你吃饭、说说自己今天有点累,或者问起某位同伴的近况。

安装

需要 DeepSeek Harness 0.2.0 或更新版本,以及一个可用的模型。仓库内没有构建产物,装完即可用。

桌面端

打开 插件 → 添加插件,填入仓库地址,安装后重启桌面端:

https://github.com/yimengsuper2432/dsh-agent-personality.git

Web / CLI

dsh plugin --profile web add github:yimengsuper2432/dsh-agent-personality
dsh web

装完打开 设置 → 人格与情感。插件会自己在工作区旁建一个 agent-personality/ 数据目录,不会写进源码或 npm 包。

快速上手

1. 导入人格卡 「人格卡」页点「导入 .md 文件」,或者用「从 AGENT.md 导入」直接沿用你已经在用的 ~/.dsh/AGENT.md。保存后下一轮生效。
2. 补世界观和角色档案 世界观单独一栏;「关系网」里填名字、别名、性别、外观、爱好、所属,再添几个人。这些会写进每一轮的提示词。
3. 等一轮对话 正文结束后,费用行右侧会出现这一轮的收尾语;「记忆」页会多一行日记,情感数字会小幅变化。
4. 放着不管 45 分钟后她会自己去学最近活动的资料;每天随机时间她会主动敲你。想立刻看效果,在「设置」里点「测试一条主动对话」。

每一轮发生了什么

flowchart LR
U["你的消息"] --> P["系统提示词人格卡 → 世界观 → 角色档案→ 情绪阶段 → 说话特点"]
P --> R["角色回复(宿主模型)"]
R --> T["turn/end"]
T --> M["一次模型调用收尾语 / 心情 / 好感增减 / 精力 / 日记 / 长期记忆"]
M --> C["写入费用行右侧"]
M --> D["diary.json + emotion.json"]
M --> W["子进程只改 persona.md 的管理块"]
W --> N["下一轮提示词"]

提示词分层拼装,顺序固定:

人格卡(第一依据)世界观角色档案 + 关系网已知设定与最近活动情感变量(当前阶段 + 该阶段的语气规则)你自己的状态(会累、有判断、提醒休息)说话特点(最后套用,优先级最高)收尾语由插件接管

设置页

| 我想做什么 | 在哪里 |
| 改人格、导人格卡、看情感 | 人格与情感 → 人格卡 |
| 看每轮日记、删记忆 | 记忆(只看角色会话,也能切到全部) |
| 加关系、看关系图 | 关系网 |
| 单独改世界设定 | 关系网 → 世界设定(在最下面) |
| 换资料源、加学习网址、试搜一次、立即学习 | 资料源 |
| 看学习节奏和学习结果 | 资料源 |
| 给角色单独指定工作区 | 设置 → 角色工作区 |
| 开关插件、主动会话、服务器 | 设置 |

设置页一共五页:人格卡 / 记忆 / 关系网 / 资料源 / 设置。

「设置」里的开关都是即时保存的:启用插件、显示收尾语、注入人格、正文不写收尾语、每轮整理记忆、空闲自主学习、主动找你说话;还有每天主动次数、记忆上限、时区和服务器。

「角色工作区」可以点「选择目录…」直接弹资源管理器,也可以手填绝对路径,新开的角色会话就建在那个目录里;留空或点「用默认工作区」就回到 DSH 的默认工作区。卡片里会显示当前生效目录、DSH 默认目录和会话标题,也有「重建角色会话」按钮。

角色会话的标题固定是「中文名 + 英文名」,例如 晓山瑞希Mizuki Akiyama。英文名在「关系网 → 会话标题」里填(留空会自动从英文别名推出来,比如别名 AKIYAMA MIZUKI 会变成 Mizuki Akiyama);改完,已存在的角色会话会被自动改名。

「资料源」里可以填作品名(留空自动判断)、贴一行一个的学习网址(会优先读这些页面,读够了才去搜索)、把研究方式切成「自动 / 只联网 / 关闭」;点「试搜一次」只搜索不写入,点「立即学习」才落盘。下面分「学习节奏」和「学习结果」两块,学习结果里的条目可以直接点开原始资料页。

数据目录

<workspace>/agent-personality/
├── persona.md # 人格卡(你写,子进程只改管理块) ├── worldview.md # 世界观(你写 + 自动学习的管理块) ├── character.json # 名字 / 别名 / 性别 / 外观 / 爱好 / 所属 / 关系网 ├── diary.json # 每轮一行,最多 500 条 ├── knowledge.json # 学到的事实与活动,最多 400 条 ├── emotion.json # 好感 -10..10、心情、精力、每日增量 ├── config.json # 开关与节奏 ├── closings.json # 收尾语缓存(sessionId:seq) ├── schedule.json # 今天的主动对话计划 ├── requests.json # 她想问你的话(学习失败时攒的) └── last-boot.json # 最近一次启动诊断

备份只需要拷这个目录;删掉也不影响插件运行,会重新生成默认人格卡。

子进程与「自我完善」

每轮结束,宿主会把这一轮的结果交给一个独立子进程(persona-worker.js)。子进程只做三件事:

- 往 ## 相处记忆 追加一条带日期的具体小事(去重、合并近义、超过上限丢最旧);
- 用最新的心情、精力、好感重写 ## 当前情绪;
- 原子写回,并留一份 .bak。

它不会碰管理块以外的任何字节。人格卡正文始终由你掌控。

隐私与联网

- 所有数据都在本机数据目录,不上传,不收集遥测;
- 联网只发生在两处:模型调用走宿主已有的通道;自主学习走宿主配置的联网服务(搜索 + 抓取网页,Project SEKAI 角色直接读 metadata.pjsk.moe 的 master 数据);
- 关掉「空闲自主学习」后,除了模型调用之外不再有任何外部请求;
- 搜索什么、读了哪几页都写在 knowledge.json 的 sources 里,设置页可见,随时能查。

开发

index.js # Host:提示词、情感、日记、学习、定时提醒、HTTP API client.js # Client:turnTail 收尾语 + 设置页四个 Tab persona-worker.js # 子进程:只改 persona.md 的管理块 cordis.patch.yml # 插件在 bundle 里的挂载点 locale/ # zh / en

Host 不热重载:改完 index.js 后在插件页关掉再打开;改完 client.js 刷新页面即可。HTTP API 都在 /api/agent-personality-v1/(state、persona、worldview、character、diary、emotion、config、optimize、preview、research、session、closing)。

License

MIT © 2026 SugarOriginal
预览分享卡片长什么样 ↓yimengsuper2432/dsh-agent-personality
分享 · DeepSeek Harness Hub
yimengsuper2432/dsh-agent-personality

让角色记住你、会累会主动开口,情感随相处真实变化

回到顶部