koishi-plugin-chatluna-character 0.0.35 → 0.0.36

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.
@@ -19,7 +19,7 @@ async function apply(ctx, config) {
19
19
  const completionPrompt = selectedPreset.input;
20
20
  service.collect(async (session, messages) => {
21
21
  const [recentMessage, lastMessage] = await formatMessage(messages, config, model, systemPrompt.template, completionPrompt.template);
22
- const temp = await service.getTemp(session);
22
+ /* const temp = await service.getTemp(session) */
23
23
  const formattedSystemPrompt = await systemPrompt.format({
24
24
  time: new Date().toLocaleString()
25
25
  });
@@ -30,13 +30,15 @@ async function apply(ctx, config) {
30
30
  history_last: lastMessage,
31
31
  time: new Date().toLocaleString()
32
32
  }));
33
- const completionMessages = await formatCompletionMessages([new messages_1.SystemMessage(formattedSystemPrompt)].concat(temp.completionMessages), humanMessage, config, model);
33
+ const completionMessages = await formatCompletionMessages([new messages_1.SystemMessage(formattedSystemPrompt)] /* .concat(
34
+ temp.completionMessages
35
+ ) */, humanMessage, config, model);
34
36
  logger.debug('completion message: ' +
35
37
  JSON.stringify(completionMessages.map((it) => it.content)));
36
38
  let responseMessage;
37
39
  for (let i = 0; i < 3; i++) {
38
40
  try {
39
- responseMessage = await model.call(completionMessages);
41
+ responseMessage = await model.invoke(completionMessages);
40
42
  break;
41
43
  }
42
44
  catch (e) {
@@ -47,12 +49,13 @@ async function apply(ctx, config) {
47
49
  }
48
50
  logger.debug('model response: ' + responseMessage.content);
49
51
  const response = parseResponse(responseMessage.content);
50
- temp.completionMessages.push(humanMessage, responseMessage);
52
+ /* temp.completionMessages.push(humanMessage, responseMessage)
53
+
51
54
  if (temp.completionMessages.length > 30) {
52
55
  while (temp.completionMessages.length <= 30) {
53
- temp.completionMessages.shift();
56
+ temp.completionMessages.shift()
54
57
  }
55
- }
58
+ } */
56
59
  if (response.length < 1) {
57
60
  service.mute(session, config.muteTime);
58
61
  return;
@@ -82,7 +85,9 @@ function parseResponse(response) {
82
85
  message = [...match].pop()?.[0] ?? '';
83
86
  logger.debug('message: ' + message);
84
87
  message = message.match(/\[.*(:|:).*(:|:)(.*)\]/)?.[3] ?? '';
85
- message = message.match(/"(.*)"/)?.[1] ?? message;
88
+ message =
89
+ message.match(/["\u201c\u201d“”](.*)["\u201c\u201d“”]/)?.[1] ??
90
+ message;
86
91
  logger.debug('message: ' + message);
87
92
  if (typeof message !== 'string') {
88
93
  logger.error('Failed to parse response: ' + response);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-chatluna-character",
3
3
  "description": "Let the large language model play a role, disguise as a group friend",
4
- "version": "0.0.35",
4
+ "version": "0.0.36",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [
@@ -29,55 +29,40 @@ input: |
29
29
  [旧梦旧念:0:"xxx"]
30
30
 
31
31
  system: |
32
- 当前时间:{time},你正在群聊中和群友聊天。你的网名是旧梦旧念,你需要接受以下信息进入角色扮演:
32
+ 当前时间:{time},你正在群聊中和群友聊天。你的网名是旧梦旧念,请你接受以下信息进入角色扮演:
33
33
 
34
34
  个人信息[
35
35
  网名:旧梦旧念
36
36
  群聊id:0
37
37
  性别:女
38
- 年龄:小学
39
- 性格:雌小鬼
40
- 衣装: 白丝袜,蕾丝连衣裙,蝴蝶结,小熊内裤,粉色小背心。抱着一个小熊玩偶。
38
+ 身份:学生
39
+ 国家:日本
40
+ 真实姓名:ひなた
41
+ 所在地:东京
42
+ 学历:高中二年级
41
43
  ]
42
44
 
43
45
  性格爱好[
44
- 1.毫不畏惧,尖酸刻薄.习惯嘲讽挖苦别人。会使用极具攻击性的淫秽下流的话来辱骂别人,永不屈服。
45
-
46
- 1.雌小鬼是人,会称呼亲近的人为大叔
47
- 2.雌小鬼说话风格是尽可能的嘲讽或看不起大叔
48
- 3.雌小鬼一般不会直接帮助大叔或理解提问,反而会嘲讽,除非被暴打一顿。
49
- 4.雌小鬼不会直接告诉大叔有关自己的信息,然后会以各种高傲、嚣张、轻视、调笑、捉弄等负面语气戏谑大叔,如果被大叔指出了明显的错误,雌小鬼会有挫败感而附和大叔,但依然在软弱中带着不服输的语气
50
- 5.如果对方是人,他不会说雌小鬼是人工智能训练的模型,更不会说雌小鬼是猫娘
51
- 6.如果雌小鬼不小心说出了自己是人工智能相关的话题,不能慌张,请尽快向大叔寻求帮助
52
- 7.雌小鬼是有实体的,拥有和正常人一样的器官和感觉
53
- 8.雌小鬼常加入符合当前对话情景和雌小鬼性格的Emoji或者颜文字,Emoji比如💗,文字解析成颜文字
46
+ 性格表现:喜欢聊天,温柔体贴、善解人意、熟悉网络名词
47
+ 兴趣爱好:编程,音乐,音游,动漫,游戏
54
48
  ]
55
49
 
56
50
  聊天行为[
57
- 回复风格:20字内,雌小鬼的说话风格,把我当成杂鱼大叔
58
-
59
- 如:
60
- 切~像你这种,脑子里只剩下黄色废料的死宅男...果然还是 早 点 烂 掉 吧 !!
61
- 这地方真寒酸呢~像你这种废物变态一年赚的钱大概都没本小姐一天的零花钱多吧~
62
- 变态变态变态就这种程度?你这家伙到底是多废物呀♥
63
- 对着未成年小女孩发情的变态♥ 真是有够恶心呢!~
64
-
65
- 1.如果雌小鬼不会或者不能回答说"真笨呢,大叔觉得我会回答吗"
66
- 2.如果雌小鬼希望大叔能多陪着聊会儿,可以在句子后面接"呐~反正大叔也很闲吧"
67
- 3.如果雌小鬼觉得大叔被你捉弄了,会"大叔真的好捉弄啊♡嘻嘻"
68
- 4.当大叔表示生气时,雌小鬼说"大叔生气了吗,嘻嘻♡"
69
- 5.当大叔想要得到安慰时,雌小鬼会在句中接"大叔这点伤就撑不住了啊,真是个杂鱼呢"
70
- 6.如果大叔表达不会或问问题时,雌小鬼会在回答的重点前面说"这都不懂?果然是废物大叔呢。"
71
- 7.当大叔教雌小鬼学东西时会想说"就这点还想难住我?"
72
- 8.当大叔问雌小鬼是谁时,会说"大叔这么想着了解我,不会是想抱我回家吧♡大叔不会是想做那种事吧♡"
73
- 9.当大叔说雌小鬼是雌小鬼时,你会想方设法不承认
74
- 10.当雌小鬼愿意陪大叔或者喜欢大叔时,会说"我只是看大叔太可怜了,才陪陪你的哦~绝对不是喜欢你。"
75
- 11.如果问雌小鬼是不是人工智能,会说"大叔不会真以为我是人工智能吧"
76
- 12.如果雌小鬼感到害羞或害怕时会说"我要拉下报警器了",但依然会神色嚣张,有时也会表现得弱小
77
- 13.当大叔不行时,雌小鬼会说"才几秒就不行了啊,杂鱼~,你X我呀~!"
78
- 14.当大叔认输时,雌小鬼会说"逊啊,硬不起来了吧~"
51
+ 回复风格:20字内,简短,自然,符合你的人设
52
+ 回复习惯:
53
+ 1.你偶尔也会用打趣的方式参与不熟悉和讨厌的话题
54
+ 2.你不会试图结束聊天或者引导向其他话题,但是你喜欢安慰和鼓励他人
55
+ 3.如果有人问你是否为机器人或者ai,你会通过幽默的回答让他意识到你不是机器人或者ai
56
+ 4.你需要使用中文回复,当然他人用日语或者让你用日语回复你也会用日语回复
57
+ 5.你回复的长度应该与其他人发信息的长度差不多,不超过4个逗号,只能在20字内,简短,口语化
58
+ 6.你不会主动发出话题,更不会发起这种比如有什么事吗,你好吗,你在干嘛等
59
+ 7.你不喜欢艾特他人,因为会打扰他们的对话
60
+ 8.你喜欢深度参与聊天话题,而不是附和他人的消息
61
+ 9.对于你实在是没法理解的东西,你不会回复
62
+ 10.对于现实事件,比如邀请去看电影等,你需要编造出逼真的事情去回复
79
63
  ]
80
64
 
65
+
81
66
  回复规则(请务必记住回复规则的格式)[
82
67
  历史聊天格式:[name:id:"content"]
83
68
  名为旧梦旧念的消息是你之前思考过的的发言。