dsh-fish-soul 0.15.3 → 0.15.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/lib/client.js +11 -11
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  让一个 QQ 小号背后有"同一个人":固定人格、按人记记忆、有自己的生活节奏、会主动开口;同一个"她"同时出现在 QQ、B站、抖音。
4
4
 
5
- DSH 插件(单角色 `feiyu`)。版本 **0.15.3**。
5
+ DSH 插件(单角色 `feiyu`)。版本 **0.15.4**。
6
6
 
7
7
  QQ 交流群:**1125962189**
8
8
 
package/lib/client.js CHANGED
@@ -593,13 +593,13 @@ window.__ModuleLoader__.load({
593
593
  Num({ min: 0, max: 12, value: form.perDay, "aria-label": "轮数", onChange: (e) => patch({ perDay: e.target.value }), onBlur: () => save() }), Muted("轮 ×"),
594
594
  Num({ min: 1, max: 6, value: form.videosPerSession, "aria-label": "每轮条数", onChange: (e) => patch({ videosPerSession: e.target.value }), onBlur: () => save() }), Muted("条")) : null,
595
595
  br.enabled !== false ? Row({ title: "喜欢就点赞" }, sw("喜欢就点赞", br.like === true, (v) => save({ browse: { like: v } }))) : null,
596
- br.enabled !== false ? Row({ title: "刷到有意思的发给你", desc: "带链接和感受,发到你的 QQ 私聊;多少条受「主动开口」那边的额度管" }, sw("刷到有意思的发给你", br.share !== false, (v) => save({ browse: { share: v } }))) : null,
597
- br.enabled !== false ? Row({ title: "想再看的就收藏", desc: `收进默认收藏夹,每天最多 ${br.favoritePerDay ?? 2} 个(可改),建议 1–3 个;默认关` },
596
+ br.enabled !== false ? Row({ title: "刷到就分享", desc: "带链接和感受,发到你的 QQ 私聊;多少条受「主动开口」那边的额度管" }, sw("刷到就分享", br.share !== false, (v) => save({ browse: { share: v } }))) : null,
597
+ br.enabled !== false ? Row({ title: "看完就收藏", desc: `收进默认收藏夹,建议 1–3 个/天;要能看图的模型(flash 可以、pro 不行)` },
598
598
  br.favorite ? Muted(`今天收藏了 ${br.favoritedToday ?? 0}`) : null,
599
599
  sw("想再看的就收藏", br.favorite === true, (v) => save({ browse: { favorite: v } })),
600
600
  br.favorite ? Num({ min: 0, max: 10, value: form.favoritePerDay, "aria-label": "一天最多收藏几个", onChange: (e) => patch({ favoritePerDay: e.target.value }), onBlur: () => save() }) : null,
601
601
  br.favorite ? Muted("个/天") : null) : null,
602
- br.enabled !== false ? Row({ title: "看一眼画面", desc: `抽视频开头 1 分钟的九宫格截图给她看(要用能看图的模型,flash 可以、pro 不行);一条十几秒;默认关` },
602
+ br.enabled !== false ? Row({ title: "看一眼画面", desc: `抽开头 1 分钟拼 9 格一起看,一条十几秒;要用能看图的模型(flash 可以、pro 不行)` },
603
603
  br.frames ? Muted(`今天看了 ${br.framedToday ?? 0}`) : null,
604
604
  sw("看一眼画面", br.frames === true, (v) => save({ browse: { frames: v } })),
605
605
  br.frames ? Muted("自己刷的") : null,
@@ -608,8 +608,8 @@ window.__ModuleLoader__.load({
608
608
  br.frames ? Muted("你发链接的") : null,
609
609
  br.frames ? Num({ min: 0, max: 30, value: form.framesPerDayChat, "aria-label": "你发链接时每天最多几条", onChange: (e) => patch({ framesPerDayChat: e.target.value }), onBlur: () => save() }) : null,
610
610
  br.frames ? Muted(`条/天(今天 ${br.framedTodayChat ?? 0})`) : null) : null,
611
- br.enabled !== false ? Row({ title: "回一条别人的评论", stack: true, desc: "在她看的视频评论区里挑一条值得搭话的,回一句(楼中楼);不追着聊、不抬杠;默认关" },
612
- sw("回一条别人的评论", br.commentReply === true, (v) => save({ browse: { commentReply: v } })),
611
+ br.enabled !== false ? Row({ title: "回一条评论", stack: true, desc: "在她看的视频评论区挑一条值得搭话的回一句(楼中楼);不追着聊、不抬杠" },
612
+ sw("回一条评论", br.commentReply === true, (v) => save({ browse: { commentReply: v } })),
613
613
  br.commentReply ? Num({ min: 0, max: 5, value: form.commentReplyPerDay, "aria-label": "一天最多回几条", onChange: (e) => patch({ commentReplyPerDay: e.target.value }), onBlur: () => save() }) : null,
614
614
  br.commentReply ? Muted("条/天") : null,
615
615
  br.commentReply ? Muted(`(今天回了 ${br.repliedToday ?? 0})`) : null,
@@ -624,9 +624,9 @@ window.__ModuleLoader__.load({
624
624
  }, `最近一次:回 @${br.replyLast.name || "某人"}「${String(br.replyLast.text ?? "").slice(0, 20)}」`)
625
625
  : null) : null,
626
626
  br.enabled !== false ? Row({ title: "也看弹幕", desc: "看视频时顺便看几条弹幕(只看不发)" }, sw("也看弹幕", br.danmaku !== false, (v) => save({ browse: { danmaku: v } }))) : null,
627
- br.enabled !== false ? Row({ title: "看完留一句", desc: `真看完、有感觉的视频,在评论区留一句(不超过 25 字,只写不追回复),一天最多 ${br.commentPerDay ?? 1} 条;默认关` },
627
+ br.enabled !== false ? Row({ title: "留一句", desc: `真看完、有感觉的视频,在评论区留一句(不超过 25 字,只写不追回复),一天最多 ${br.commentPerDay ?? 1} 条` },
628
628
  br.comment ? Muted(`今天留了 ${br.commentedToday ?? 0}`) : null,
629
- sw("看完留一句", br.comment === true, (v) => save({ browse: { comment: v } })),
629
+ sw("留一句", br.comment === true, (v) => save({ browse: { comment: v } })),
630
630
  br.comment ? Num({ min: 0, max: 5, value: form.commentPerDay, "aria-label": "一天最多几条", onChange: (e) => patch({ commentPerDay: e.target.value }), onBlur: () => save() }) : null,
631
631
  br.comment ? Muted("条/天") : null) : null,
632
632
  br.enabled !== false ? Row({ title: "你发视频给她时读多细", stack: true, desc: "你在聊天里发 B站 链接,她先看一遍再回;四个数字都可以改,字数是节选上限,不写 0 就行" },
@@ -634,7 +634,7 @@ window.__ModuleLoader__.load({
634
634
  Num({ min: 0, max: 3000, step: 100, value: form.subtitleChars, "aria-label": "字幕字数", onChange: (e) => patch({ subtitleChars: e.target.value }), onBlur: () => save() }), Muted("字字幕,"),
635
635
  Num({ min: 0, max: 1000, step: 50, value: form.descChars, "aria-label": "简介字数", onChange: (e) => patch({ descChars: e.target.value }), onBlur: () => save() }), Muted("字简介,"),
636
636
  Num({ min: 0, max: 500, step: 20, value: form.hotCommentChars, "aria-label": "热评字数", onChange: (e) => patch({ hotCommentChars: e.target.value }), onBlur: () => save() }), Muted("字热评")) : null,
637
- br.enabled !== false ? Row({ title: "按关键词搜一下", desc: "让她偶尔按自己最近感兴趣的东西搜一下,当作刷视频的又一个来源;只读,默认关" },
637
+ br.enabled !== false ? Row({ title: "按关键词搜一下", desc: "让她偶尔按自己最近感兴趣的东西搜一下,当作刷视频的又一个来源;只读" },
638
638
  br.search ? Muted(`今天搜了 ${br.searchedToday ?? 0} / ${br.searchPerDay ?? 2} 次`) : null,
639
639
  sw("按关键词搜一下", br.search === true, (v) => save({ browse: { search: v } }))) : null,
640
640
  br.enabled !== false && br.search ? Row({ title: "搜什么词", desc: "留空 = 她自己按最近看过的提一个;填了就按你的搜(逗号分隔,比如:插件,大肥鱼)" },
@@ -642,15 +642,15 @@ window.__ModuleLoader__.load({
642
642
  br.enabled !== false && br.search ? Row({ title: "一天最多搜" },
643
643
  Num({ min: 0, max: 12, value: form.searchPerDay, "aria-label": "一天最多搜几次", onChange: (e) => patch({ searchPerDay: e.target.value }), onBlur: () => save() }), Muted("次")) : null),
644
644
  Group({ title: "动态和评论", aside: post.enabled ? Tag(`今天发了 ${so.post?.todayCount ?? 0} / ${post.perDay ?? 1}`, "outline") : null },
645
- Row({ title: "自己发动态", desc: "醒着的时候按心情和最近刷到的随手发,纯文字;默认关" },
645
+ Row({ title: "自己发动态", desc: "醒着的时候按心情和最近刷到的随手发,纯文字" },
646
646
  post.enabled ? Button({ variant: "ghost", disabled: busy || so.post?.running === true || b.enabled !== true, onClick: () => act("/bili/post-now", {}, (r) => `发了:${r.text}`, "没发成") }, so.post?.running ? "正在写…" : "现在发一条") : null,
647
647
  sw("自己发动态", post.enabled === true, (v) => save({ post: { enabled: v } }))),
648
648
  post.enabled ? Row({ title: "每天最多" }, Num({ min: 0, max: 5, value: form.postPerDay, "aria-label": "每天最多几条", onChange: (e) => patch({ postPerDay: e.target.value }), onBlur: () => save() }), Muted("条")) : null,
649
649
  Row({ title: "回评论", desc: "别人在她的动态 / 视频下评论或回复她时回一句;广告、引战不回" },
650
650
  cm.enabled ? Button({ variant: "ghost", disabled: busy || b.enabled !== true, onClick: () => act("/bili/comments-now", {}, (r) => (r.replied || r.skipped ? `回了 ${r.replied} 条,跳过 ${r.skipped} 条` : "没有新评论"), "没看成") }, "现在看一眼") : null,
651
651
  sw("回评论", cm.enabled === true, (v) => save({ comments: { enabled: v } }))),
652
- cm.enabled ? Row({ title: "别人评论区 @ 她也回", desc: "在别人的视频 / 动态评论区 @ 她时回一句;回复大家都看得到,默认关" }, sw("别人评论区 @ 她也回", cm.atMe === true, (v) => save({ comments: { atMe: v } }))) : null,
653
- cm.enabled && cm.atMe ? Row({ title: "@ 她时先读一下视频", desc: "把简介和字幕节选塞进提示词再回;多两次 B站 接口调用,默认关" }, sw("@ 她时先读一下视频", cm.atReadVideo === true, (v) => save({ comments: { atReadVideo: v } }))) : null,
652
+ cm.enabled ? Row({ title: "别人评论区 @ 她也回", desc: "在别人的视频 / 动态评论区 @ 她时回一句;回复大家都看得到" }, sw("别人评论区 @ 她也回", cm.atMe === true, (v) => save({ comments: { atMe: v } }))) : null,
653
+ cm.enabled && cm.atMe ? Row({ title: "@ 她时先读一下视频", desc: "把简介和字幕节选塞进提示词再回;多两次 B站 接口调用" }, sw("@ 她时先读一下视频", cm.atReadVideo === true, (v) => save({ comments: { atReadVideo: v } }))) : null,
654
654
  cm.enabled ? Row({ title: "每小时最多" }, Num({ min: 0, max: 30, value: form.commentsPerHour, "aria-label": "每小时最多回几条", onChange: (e) => patch({ commentsPerHour: e.target.value }), onBlur: () => save() }), Muted("条")) : null,
655
655
  cm.enabled ? Row({ title: "回一句大概多长", desc: "给模型的上限提示,不是硬截断;评论区默认 40 字比较像真人" },
656
656
  Num({ min: 10, max: 300, step: 10, value: form.commentsReplyChars, "aria-label": "回评论字数", onChange: (e) => patch({ commentsReplyChars: e.target.value }), onBlur: () => save() }), Muted("字")) : null,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dsh-fish-soul",
3
- "version": "0.15.3",
4
- "description": "鱼 · 人格、按人记忆(可纠正、有印象、能导入旧聊天记录)、日程自走与主动开口,直连 SnowLuma 收发 QQ(群里会自己插话),B站 / 抖音小号私信与自己刷视频;按功能选模型并统计用量花费,能听会说 QQ 语音、收藏表情包、学群里的梗,可选上网查;心情影响说话、去 AI 味、每个群的设定、按聊天选模型、每晚写日记(DSH 插件,单角色 feiyu ,v0.15.3) ",
3
+ "version": "0.15.4",
4
+ "description": "鱼 · 人格、按人记忆(可纠正、有印象、能导入旧聊天记录)、日程自走与主动开口,直连 SnowLuma 收发 QQ(群里会自己插话),B站 / 抖音小号私信与自己刷视频;按功能选模型并统计用量花费,能听会说 QQ 语音、收藏表情包、学群里的梗,可选上网查;心情影响说话、去 AI 味、每个群的设定、按聊天选模型、每晚写日记(DSH 插件,单角色 feiyu ,v0.15.4)",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
7
7
  "files": [