packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
在 DSH 网页右下角放一个 Live2D 角色:会眨眼、会呼吸、说话时嘴动、心情变了眉毛跟着动,用自己的对话气泡聊天,记得住之前说过的,能喂语料,也会配表情包。模型不用内置,谁装谁放自己的文件夹。
把一只 Live2D(Cubism 3 / 4) 角色请进 DSH 网页的右下角。她会眨眼、会呼吸、头发会被风吹,说话时嘴一张一合,眼珠跟着鼠标走,心情变了眉毛跟着动。
她还能跟你说话——不用经过聊天框,不用进聊天记录。有自己的记忆、自己的作息、自己的声音(那种“哔哔”的电子音),高兴了甩你一张贴图。
模型不是内置的:谁装谁放自己的。文件全留在这台机器上,一根网线都不往外走。
给她一个模型,她给你一个会呼吸的角落。
状态 · 说明 展开 · 一张竖卡片:上半身、气泡、底下一个输入框 收起 · 缩成一条,只剩名字和一个 ⌃
dsh plugin --profile desktop add dsh-live2dwaifu重启 DSH。右下角出现一张小卡片 → 点 ⚙ → 「导入模型」→ 选装着 .model3.json 的那个文件夹 → 完事。
桌面端也可以在设置 → 插件里搜名字安装。
别手动解压到 `node_modules`。 DSH 只加载列在 profile package.json 的 dsh.profile.bundles 里的包。手动扔进去的名字不会自动登记,表现就是“装了但右下角什么都没有”,/dsh-live2d/api/models 也返回 404。真遇到了,把 dsh-live2dwaifu 补进 bundles 和 dependencies 再重启。
按住标题栏能拖到屏幕任何地方。 改大小:卡片左上角那个小斜纹,往左上拖变大、往右下拖变小——卡片本身钉在屏幕右下角,所以动的是它的左上角(宽 200–720,高 220–视口高−80)。 位置、大小、背景、开合状态都记在本机,下次打开还是这样。
拖到一半跑到屏幕外了?关掉重开一次就回到默认位置。
按钮 · 干什么 ⚙ · 抽屉:模型列表、自定义表情、全部开关 ◐ · 换背景:透明 / 深色 / 浅色 / 纸质 ♪ · 音色调色页(每只模型各存一份音色),在卡片里盖一层打开 ✎ · 人设卡编辑页,同样盖一层打开 ↻ · 重载 iframe(模型卡住时点这个) ⌄ / ⌃ · 收起 / 展开
.model3.json、.moc3、贴图,最好带 .physics3.json想放好几个也行:列表里「用这个」换人,「删」送走。
吃:Cubism 3 / 4(.model3.json + .moc3)。 不吃:Cubism 2 老格式(.model.json + .moc)。
模型自带的动作:有 .motion3.json 的,隔十几秒自己播一个;没有也能活——眨眼靠 EyeBlink 参数组,嘴动靠 ParamMouthOpenY,头发晃动是 physics3.json 的物理。
模型自带的表情:带 .exp3.json 的会在抽屉里列出来,点一下叠上去(Add / Multiply / Overwrite 照原样执行)。没带的话,内置七种:平静、开心、委屈、生气、害羞、无语、困。
导入卡住或只导入一半:模型大(贴图 4K)时浏览器要一张张传,慢是正常的,进度在抽屉底下显示。传一半断了就再来一次,同名文件会覆盖。
她说话像不像人,全看这一段字。别只写“一个可爱的女孩”——那样只会得到一段没味道的话。
人设卡存在 ~/.dsh/dsh-live2d/models//meta.json 的 persona 字段里,也可以点标题栏 ✎ 在网页里改,改完她一重载就按新的说。
值得写进去的:
写得越具体越像人,写一句“性格开朗”没什么用。写完可以自己念一遍,像不像一个人在发消息。
世界隔离(人设卡页底下一个开关):开着的时候,她不知道什么是程序、界面、插件、模型,问起来就当你在她身边;关掉她就老老实实承认自己是插件里的角色。默认开。
不写 persona 也行,会用默认那份(若妍)。
一、卡片底下的输入框:打一句、回车。这条线不进你的聊天记录,往来只存在她自己的 chat.json 里。
二、手机:手机连同一个地址,打开 /dsh-live2d/chat,全屏就她的脸加一个输入框,不用看整个 DSH。
端口每次启动可能不一样。在 DSH 设置里能看到当前地址,把它换成 /dsh-live2d/chat 就行。手机和电脑得在同一个局域网。三、别的插件推(见下面「给别的插件用」)。
记忆分两层:
攒满三十句,前面二十句会压成小结,不丢。嫌费 token,就在 ⚙ 里把「记住之前说的」关掉。
模型写出来的东西先过一遍:套话会被删掉——“好的”“我理解你的感受”“希望帮到你”“还有什么需要我帮忙的吗”这些,出来就没有。最多留两三句,也允许她只回两个字。
提示词里还会明确禁止:不总结、不分点、不讲道理、不解释心情、你没问就不给建议。
另外给了几组说话样例(“他:今天吃啥 —— 你:锅里还有,热的。”这种),让她照着那个密度和信息量说,不是照着内容抄。长度硬卡在四十字上下,超了会被截。
还是觉得哪句像 AI?记下来告诉作者,往规则里加。
话说到需要你挑的地方,她会在气泡上方冒出两三个按钮,点一个就等于你回了她。
她不给就没有——要不要给是她自己决定的,不是每次都有。通用短答试过,效果不好,撤掉了。
提示词里会让她按人设推断这个时间点的处境——早上在实验室、半夜还没睡——话里自然带着那个味道。不用你提醒,也不用写死时间表。
十几分钟没人理她,她就找个话头说一句,通过卡片的气泡冒出来。嫌吵:⚙ 里关掉「没人理就自己开口」。
开了却从不出现?她只在页面开着的时候说,而且说出来到显示有几秒延迟(卡片每 2.5 秒拉一次)——等一会。
人设卡告诉她「是谁」,语料告诉她「怎么说话」。⚙ 抽屉里的 语料 按钮打开一个页面,有模型选择、大文本框、文件按钮和拖拽区。
四种喂法,怎么方便怎么来:
.txt / .json / .jsonl / .csv,可以多选认得的写法:
他:今天吃啥 ← 认得出谁说的
你:锅里还有,热的。
「嗯。我也是。」 ← 只认她是说话人
- 先坐下。水在桌上。 ← 一行一句台词
[{"user":"累吗","assistant":"还行。"}] ← JSON 也行说话人写 他 / 我 / 用户 算你,你 / 她 / 助手 算她;认不出来的一律当她说的——只贴台词最省事。
页面右边会实时显示解析出来的条数,和前面十几条预览。贴错了能看见,改完再存。
存法有两种:「加进去」是并到原来的里面,「替换成这些」是把之前清掉。第一次喂就用加。
以后她说话会从语料里挑几条贴进去当样例——优先挑跟你这句话沾边的问答,另外随机抽几句她的台词找语感。所以语料越多、越像她本人,她说得就越像。
存的位置:~/.dsh/dsh-live2d/models//corpus.json。
她说话时一个字一声很短的电音,标点停一拍,句尾沉一下。不是朗读,是“哔哔”那种。
调色:标题栏 ♪ 打开调音页,左边是这只模型真身,右边四个预设(柔和 / 清脆 / 机械 / 游戏)加五个滑块(基频、抖动、长度、音量、语速)。边调边听,满意了点「存到这只模型」。每只模型各存一份,换人换声。
安静:⚙ 里关掉「出声」,或把音色调到音量 0。关掉之后只剩气泡和口型。
第一次没有声音?浏览器要求用户先点一下页面才允许出声。点她一下,或者点一下调音页的按钮,再试。
她说话时可能甩一张贴图,贴在气泡里。
⚙ 里有一根四档滑轴:
档位 · 意思 不使用 · 不说话配图 只使用自带 · 只用插件自带的那套 均开启 · 自带和 dsh-meme 混着来 只用 dsh-meme · 只借你本机已装的 dsh-meme 图库
自带那套是作者 OC 的 Q 版贴纸(效果不是很好其实)。
怎么挑图:她点名叫哪张就用哪张(提示词里给了名字清单);没点名的话,按她这句话的情绪随机抽一张,大约三成概率。
给 dsh-meme 用:自带那二十张是标准图库格式,导一次就能丢给它。
python tools/export-dsh-meme.py产物在 dsh-live2d/dsh-meme-pack/xialing-001/,整个目录丢进 ~/.dsh/profiles/desktop/node_modules/dsh-meme/memes/ 下面就认。