dsh-lifecard

uimounts, not registerednpmMIT

Local-first character archive in the DSH sidebar: it interviews you about someone and writes the answers into Markdown cards, imports SillyTavern character cards, writes a novel chapter by chapter, and roleplays with a card plus its world book; anything written into a card has to be quotable from ma

下载量 / Downloads
2,032
依赖体积 / node_modules
1.76 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-lifecard

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

LifeCard(DSH 插件)

本地优先的人物档案库。把现实里的人、虚构角色和他们之间的关系写成可读的 Markdown,放在你可以随时打开、随时带走的一个文件夹里。

三十秒看懂:把家里人、老朋友、你自己,一件一件问清楚——他做过什么、怎么说话、你们之间发生过什么——写成一张能一直改的卡。卡就在你自己的文件夹里,用记事本就能打开,换台电脑也能带走。不联网、不上传,也不替你编:每条都要能在你写过的话里找到出处,找不到就丢掉。

打开先选一扇门。 三扇门是三件不同的事,进去之后随时能换(右上角「换门」),卡和世界书都在同一个文件夹里,不会因为换门丢掉:

门 · 用来做什么 · 里面有什么

真实人物记录 · 记现实里的人:家里人、朋友、你自己 · 访谈、材料整理、导角色卡、简历与规划、求职、写日记、人物关系网

写小说 · 立虚构角色、写一本书 · 边聊边立角色、大纲、逐章写、盲审(只看正文挑毛病)、把酒馆一场对话或游戏一段变成一章

酒馆(角色扮演) · 拿一张卡,和 TA 你一句我一句地演 · 角色卡 + 世界书命中、开场白、收尾备忘(记到「到这儿为止」)、挑几句进卡的「对话示例」

真实人物记录那扇门里,五个入口组成两条链路:

① 导入        角色卡 PNG / JSON / CHARX → 直接出卡        (纯格式搬运,不调模型)

② 聊着建      它问,你答 → materials/ ─┤
③ 一段文字    访谈稿/聊天记录/日记 → materials/ ─┤
④ 从记忆里认人  DSH 记过的人和事 → materials/ ─┤
                                  ↓
        整理材料 → 引文校验 → 提案 → 你勾选 → 写进卡
                                  ↑
⑤ 新建        手写,不经过 AI           (这条路没有闸门,因为句句都是你说的)

②、③、④ 产出同一种东西(材料),之后走完全相同的一条链。这是它能成立的原因:一套闸门,三个进料口。

④ 从记忆里认人:DSH 的记忆功能记过你和身边人的事,这里能认出「父亲=张三」「师傅王先生」这类明确写了的人和关系。认出来的人先给你看一眼,标清每个人缺什么(名字 / 出生时间 / 做什么的),勾上的人才变成材料。

它不会直接建卡。记忆里关于一个人的话往往只有一两句,直接建卡会造出一排空卡。先落成材料、走正常的分析勾选,你能看见每条是从哪句话来的,也能拒绝。从记忆来的卡如果还缺东西,打开时名字旁边会挂一个红色「还缺 N 样」——那是提醒你「接着聊」专门问这几样。

界面上的按钮名:首页「新建」「聊着建」「导入」;导入页里分「角色卡文件」和「一段文字」两个标签;有材料后首页右边会出现「整理 N 份材料」;右上角「检查一下」。本文档里说的「访谈」= 聊着建、「分析」= 整理材料、「体检」= 检查一下。

安装

这是一个 DeepSeek Harness 插件,跑在侧边栏里。

# 从本地目录装进你的 profile(替换成实际路径)
dsh plugin --profile desktop add /path/to/LifeCard/plugin
⚠️ 这条命令底层是 pnpm,会重新解析整棵依赖树、把 profile 里所有插件按锁文件重装一遍。
如果你的 profile 里有手工改过代码的插件,它会被覆盖。这种情况请手动装:把整个目录复制成
~/.dsh/profiles/<profile>/node_modules/dsh-lifecard,再在 cordis.patch.yml 末尾加
- insert: [{ id: lifecard, name: dsh-lifecard }]。

装完重启 DSH App(桌面版的 profile 被它独占,改了文件也不会热更新,必须重启)。

重启后,左边那排图标里会多一个 Life Cards(一个打开的小本子)。点一下,中间主区域就是它。

另外,如果你装了 dsh-better-sidebar(侧边栏底座),右边那栏的「+ / 新标签页」列表里也会有一条 Life Cards,可以把它开在右边长期看着。左边那个入口不依赖它——没装底座也照样能用,只是少了右边这个。


第一次打开

它会问你要一个文件夹。选一个空目录,或者一个已经有 lifecard.config.json 的旧库。

这个文件夹就是全部数据:

我的档案/
├── lifecard.config.json     名字、语言、上次选的分析模型、你写的「想要什么样的人」
├── people/                  主世界的人          妈妈.card.md
├── self/                    我自己 + 偏好透镜
├── relations/               有向关系边          mama--self.relation.md
├── worlds/                  世界观;导进来的世界书落成 worlds/<名字>/world.md
├── systems/                 消费协议(扮演 / 访谈 / 写作素材)
├── materials/               原始材料,只追加、不编辑;可整份删除
├── interviews/              访谈账本(问答过程,不是结果)
├── proposals/               建议清单 + 你勾的那几项
│                            两份文件:.md 给人看,.json 给程序读,
│                            还有一个 .checked.json 记你在界面上勾了哪几条
├── story/                   小说章节与状态账本
│   ├── chapters/
│   ├── state/ledger.jsonl
│   ├── state/snapshots/
│   └── threads.jsonl
├── redactions.jsonl         删除墓碑,只追加
├── assets/                  头像(<卡 id>.png)和插图,导出时打进卡里
├── jobs/                    求职
│   ├── evaluations/         每看一份招聘说明存一份报告
│   ├── applications.md      投递记录(一张表,你能自己打开改)
│   ├── story-bank.md        面试用的故事
│   ├── resumes/             按招聘说明改出来的简历
│   └── covers/              求职信
└── .lifecard/
    ├── index.json           派生索引,删了能重建
    ├── raw/                 导入的原件
    ├── drafts/              写到一半的卡(存成功后自动删掉)
    └── snapshots/           每次保存前的全文快照

排法在 SPEC.md §1 里定死了,不要自己加目录。

jobs/ 那一套是求职时的记录,不是简历生成器:它能照一份招聘说明把你已经写过的经历重排一版,但不会替你编一个数字。改出来的简历里每个数字都能在你材料里找到同一个数字,找不到的会在页面上单独列出来告诉你「这几个数字在你材料里没有」——投之前自己核一遍。

它就是一个普通文件夹。 用 Obsidian 打开,全文搜、双链、标签、手机版全都有——不需要本插件也能读写。


怎么用

从零建一张卡(最常用的路)

点 聊着建,填名字、选关系类型,然后开始答。

也可以在自己对话里用 lifecard-interview 这个 skill 问同样的问题——它产出同样的材料,只是跑在对话框里而不是侧栏里。
1 / 12  你妈最像哪一种?
        ① 嘴上嫌弃,手上不停
        ② 很少说,但记性极好
        ③ 什么都问,问完自己拿主意
        ④ 都不像,我自己说

选完它会追问一件具体的事:

那么「嘴上嫌弃、手上不停」——最近一次这样,是什么时候?
(要一件具体的事,不是评价。跳过也行)

四条规矩:

1. 每题都有「都不像,我自己说」。 没有这一项,你会被逼着从四个错的里挑一个最近的,最后得到一张写着别人妈性格的卡。

2. 随时可以跳过。 说「不想说」的题记进账本,以后永不再问。

3. 一次最多 3 个问题。 答完一句就能停,下次接着来——它记得停在哪。

4. 它不替你总结。 不会给你「她是一个温柔而坚韧的母亲」这种句子。原话进 materials/,概括由你自己写。

导入已有的酒馆卡

点 导入,把 PNG / JSON / CHARX 拖进去,可以一次拖多张、也能拖整个文件夹。

  • 不认识的字段原样保存(V2 规范要求「绝不能销毁」),导出时写回
  • 原始文件复制到 .lifecard/raw/,方便核对
  • 不执行宏、不跑 decorator —— 这是编辑器,不是播放器
  • 整个导入过程不联网、不调模型
  • 支持 .png(带 chara / ccv3 两种标签)、.json(CCv2 / CCv3 / V1)、.charx(zip)

把材料变成卡

点 整理材料(首页右边那个按钮),选一张卡和要用哪些材料,然后:

1. 模型读材料,产出每一条都带原文引文的建议

2. 程序做机械校验:引文必须在材料里逐字出现,对不上的整条丢弃

3. 你在清单上勾选,点「就用这 N 条」

AI 全程不能直接写卡。 它只能写 proposals/,勾选和落盘是你的动作。这不是流程偏好——模型会把「它推断的」说成「材料里有的」,而且说得比人更自信。三个月后你分不清哪句是本人说的,就再也救不回来了。

导出

  • 导出 PNG:chara(V2)与 ccv3(V3)两个 chunk 来自同一个源对象,V3 是 V2 的严格超集。SillyTavern 的 read() 以 ccv3 优先,两份独立投影会让同一张卡在两个前端里变成两个人。
  • 导出 JSON:CCv3 格式。

写小说

写小说 那扇门里先选一本(或新建一本),一本书就是三个文件:

books/<书名>/book.md          书名、题材、一句话
books/<书名>/outline.md       大纲:主线、结局、第 N 章各写什么(这一个人能直接改)
books/<书名>/chapters/001.md  正文,一章一个文件

三步:

1. 先想清楚这本书怎么走——点「让 AI 想大纲」,或者自己在 outline.md 里写。大纲是纯文本,你想怎么改就怎么改。

2. 写第 N 章——点「让 AI 写这一章」。它一次会拿到四样东西:这一章的计划(大纲里对应的那一句)、整本大纲、上一章结尾、挂在这本书上的角色卡。出来的是一份草稿,你看了点「收下,写进这一章」才落盘。

3. 挑挑毛病——只把正文给它,不给书名、不给大纲、不给「本来想写什么」。这样它挑的是「写出来是什么」,而不是按你的意图夸你写得对。四条固定要求:卡在哪、哪不信、哪想跳过、哪句是空话(要引原句)。

章号不重排:删了第 3 章,第 4 章还是第 4 章。你手里说的「第四章」不会突然变成第三章。

一本书还能挂「文字小说游戏」:挑一章当起点,它写这一刻发生了什么,给你 A/B/C 三个方向,你选一个,它接着往下推。玩出来的东西也能一键变成小说的一章,你选过的那几步会保住。

酒馆(角色扮演)

酒馆 那扇门里挑一张虚构角色卡,点一张就开一场。开场白是第一条,之后你说一句它回一句。

  • 世界书按关键词进:常驻条目每轮都带;其余条目只有最近六句话里出现了它的关键词才带。不像写小说那样整本设定全塞进去——演的时候塞满了,它就只会复述设定。
  • 现实里的卡默认收起来。真人有真人的记录,拿去演会复制一份独立的角色卡(-role 后缀),之后你把副本的性格改成完全相反都动不到原来那张。
  • 收个尾:聊到一段落点「收个尾」,它把到这儿为止发生的事、定下来的事、还没解决的事记成一段备忘,存进这场对话的 ## 到这儿为止。不满八句不收,因为三句话总结出来的东西比没有更误导。下次接着说,这段备忘每轮都带着。
  • 挑几句进卡里:演出来好用的说话方式,可以挑 4~8 句写回那张卡的「对话示例」小节,下次演就更像。
  • 变成小说的一章:一场对话可以整段改写成小说正文,存进某本书的下一章。

对话存在 chats/ 下,一个 Markdown 文件一场,用记事本就能打开看。

简历与规划

真实人物记录 门里的工具行有「简历与规划」。两边分开:

  • 左半边是你自己:基本情况、学过什么、做过什么、会用哪些工具、想去哪、还差什么。照这个可以直接写一份简历(它会按你填的「想投哪儿」调重点),也能看「差在哪」。
  • 右半边是路

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::8,最后更新 2026-11-01

Links

GitHub · Homepage · npm

Same category