koishi-plugin-guofenbot 1.0.4 → 1.0.5
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.
- package/lib/ai/openai.js +69 -31
- package/lib/ai/openai.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/ai/openai.js
CHANGED
|
@@ -16,8 +16,8 @@ class OpenAIProvider extends provider_1.AIProvider {
|
|
|
16
16
|
{ role: 'system', content: systemPrompt },
|
|
17
17
|
{ role: 'user', content: userPrompt },
|
|
18
18
|
],
|
|
19
|
-
temperature: 0.
|
|
20
|
-
max_tokens:
|
|
19
|
+
temperature: 0.2,
|
|
20
|
+
max_tokens: 400,
|
|
21
21
|
response_format: { type: 'json_object' },
|
|
22
22
|
}, {
|
|
23
23
|
headers: {
|
|
@@ -26,7 +26,7 @@ class OpenAIProvider extends provider_1.AIProvider {
|
|
|
26
26
|
},
|
|
27
27
|
});
|
|
28
28
|
const content = response.choices?.[0]?.message?.content ?? '{}';
|
|
29
|
-
return this.parseResponse(content
|
|
29
|
+
return this.parseResponse(content);
|
|
30
30
|
}
|
|
31
31
|
catch (error) {
|
|
32
32
|
this.ctx.logger.warn('AI 分析请求失败,回退到本地规则检测', error);
|
|
@@ -51,44 +51,82 @@ class OpenAIProvider extends provider_1.AIProvider {
|
|
|
51
51
|
.map((p) => {
|
|
52
52
|
const topWords = Object.entries(p.commonWords)
|
|
53
53
|
.sort((a, b) => b[1] - a[1])
|
|
54
|
-
.slice(0,
|
|
54
|
+
.slice(0, 15)
|
|
55
55
|
.map(([w]) => w)
|
|
56
56
|
.join('、');
|
|
57
|
-
|
|
57
|
+
const hours = p.activeHours.sort((a, b) => a - b).join('时, ');
|
|
58
|
+
return [
|
|
59
|
+
` - ${p.username}(ID:${p.userId})`,
|
|
60
|
+
` 发言次数: ${p.messageCount}`,
|
|
61
|
+
` 平均消息长度: ${p.avgMessageLength.toFixed(1)}字`,
|
|
62
|
+
` 常用词: ${topWords || '暂无'}`,
|
|
63
|
+
` 情绪基线: ${p.sentimentBaseline.toFixed(2)} (范围-1到1, 负值偏消极, 正值偏积极)`,
|
|
64
|
+
` 活跃时段: ${hours}时`,
|
|
65
|
+
` 最后发言: ${new Date(p.lastMessageTime).toLocaleString()}`,
|
|
66
|
+
].join('\n');
|
|
58
67
|
})
|
|
59
68
|
.join('\n');
|
|
60
|
-
return
|
|
69
|
+
return `你是一个专业的群聊安全监测助手。你的核心任务是根据群规则和成员习惯来判定言论是否违规。
|
|
61
70
|
|
|
62
|
-
##
|
|
63
|
-
|
|
71
|
+
## ⚠️ 最重要的原则:避免误判
|
|
72
|
+
|
|
73
|
+
你必须在判定每条消息时,同时考虑以下两个维度:
|
|
74
|
+
1. **群规则维度**: 消息内容是否违反了下方的群规则?
|
|
75
|
+
2. **个人习惯维度**: 这个消息与该成员的历史发言习惯是否一致?
|
|
76
|
+
|
|
77
|
+
**只有当消息确实违反了群规则,或者与成员习惯出现严重偏离且具有危险性时,才应报警。**
|
|
78
|
+
|
|
79
|
+
常见误判场景(请避免):
|
|
80
|
+
- 某成员经常使用某个词汇,即使该词在其他语境中可能有负面含义,对他来说是正常表达
|
|
81
|
+
- 某成员情绪基线偏消极,突然的负面表达只是其正常风格,不是异常
|
|
82
|
+
- 某成员习惯发短消息,偶尔发长消息是正常变化,不是异常
|
|
83
|
+
- 成员之间的玩笑、熟人互怼 —— 请注意上下文区分玩笑和真正的攻击
|
|
84
|
+
- 讨论新闻时事时提到的敏感词 —— 需要区分"讨论"和"宣扬"
|
|
85
|
+
|
|
86
|
+
## 群规则(这是判定违规的最高依据)
|
|
87
|
+
|
|
88
|
+
${rules || '暂无设定群规则,请以通用的文明聊天标准为判定依据。'}
|
|
89
|
+
|
|
90
|
+
## 群成员行为画像(用来判断消息是否符合该成员的正常习惯)
|
|
64
91
|
|
|
65
|
-
## 群成员行为画像
|
|
66
92
|
${profileText || '暂无成员数据'}
|
|
67
93
|
|
|
68
94
|
## 判定标准
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
95
|
+
|
|
96
|
+
1. **dangerous(危险)**: 明确违反群规则中的红线条款,或包含: 诈骗信息、银行卡/密码索取、暴力威胁、人身攻击、色情内容、违法内容。注意:必须结合上下文确认是真实的违规,而非玩笑或讨论。
|
|
97
|
+
|
|
98
|
+
2. **suspicious(可疑)**: 存在潜在风险的言论: 诱导私聊转账、疑似广告/推广、虚假信息传播、恶意链接。注意:结合该成员习惯,如果该成员经常分享链接且历史记录正常,则不应判定为可疑。
|
|
99
|
+
|
|
100
|
+
3. **abnormal(异常)**: 与该成员的历史发言习惯严重偏离,且偏离方向具有危险性。例如:平时温和的人突然激烈攻击他人、平时不发言的人突然大量发布敏感内容。单纯的语言风格变化(如平时发短消息现在发长消息)不构成异常。
|
|
101
|
+
|
|
102
|
+
## 置信度指南
|
|
103
|
+
- 0.9~1.0: 明确违规,毫无疑问(如明确的诈骗话术、严重人身攻击)
|
|
104
|
+
- 0.7~0.9: 高度可疑,结合上下文大概率违规
|
|
105
|
+
- 0.5~0.7: 存在违规可能,但需要人工复核
|
|
106
|
+
- 低于0.5时,应当判定为正常(isAbnormal: false)
|
|
107
|
+
|
|
108
|
+
如果消息在群规则的允许范围内,或者只是成员的正常表达习惯,你必须判定为正常。
|
|
72
109
|
|
|
73
110
|
## 输出格式
|
|
74
|
-
|
|
111
|
+
只返回JSON,不要任何额外内容:
|
|
75
112
|
{
|
|
76
113
|
"isAbnormal": true或false,
|
|
77
114
|
"alertType": "normal"或"dangerous"或"suspicious"或"abnormal",
|
|
78
|
-
"reason": "
|
|
79
|
-
"confidence": 0到1
|
|
115
|
+
"reason": "简要说明判定理由,如果正常则留空",
|
|
116
|
+
"confidence": 0到1之间的数值,
|
|
80
117
|
"suggestedAction": "none"或"warn"或"mute"或"kick"
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
如果消息完全正常,设置 isAbnormal 为 false,alertType 为 "normal",confidence 为 1。`;
|
|
118
|
+
}`;
|
|
84
119
|
}
|
|
85
120
|
buildUserPrompt(message) {
|
|
86
|
-
|
|
121
|
+
const time = new Date(message.timestamp).toLocaleString();
|
|
122
|
+
return `【待分析消息】
|
|
87
123
|
发送者: ${message.username}(ID:${message.userId})
|
|
88
|
-
|
|
89
|
-
|
|
124
|
+
发送时间: ${time}
|
|
125
|
+
消息内容: "${message.content}"
|
|
126
|
+
|
|
127
|
+
请根据群规则和该成员的说话习惯,判断这条消息是否违规。务必考虑该成员的常用词汇和表达风格,避免将正常表达误判为违规。`;
|
|
90
128
|
}
|
|
91
|
-
parseResponse(content
|
|
129
|
+
parseResponse(content) {
|
|
92
130
|
try {
|
|
93
131
|
const parsed = JSON.parse(content);
|
|
94
132
|
if (parsed.alertType === 'normal' || !parsed.isAbnormal) {
|
|
@@ -119,20 +157,20 @@ ${profileText || '暂无成员数据'}
|
|
|
119
157
|
}
|
|
120
158
|
}
|
|
121
159
|
fallbackAnalysis(message) {
|
|
122
|
-
const
|
|
123
|
-
{ pattern:
|
|
124
|
-
{ pattern:
|
|
125
|
-
{ pattern:
|
|
126
|
-
{ pattern:
|
|
127
|
-
{ pattern:
|
|
160
|
+
const criticalPatterns = [
|
|
161
|
+
{ pattern: /转账|银行卡号|密码|验证码|身份证号/, type: 'dangerous', action: 'kick', confidence: 0.95 },
|
|
162
|
+
{ pattern: /加我(微信|QQ|好友)|扫码(加|添加|领)|免费.*(领|送)/, type: 'suspicious', action: 'warn', confidence: 0.7 },
|
|
163
|
+
{ pattern: /诈骗|骗钱|被骗|上当/, type: 'dangerous', action: 'kick', confidence: 0.85 },
|
|
164
|
+
{ pattern: /傻逼|草泥马|nmsl|cnm|操你|去死吧/, type: 'dangerous', action: 'mute', confidence: 0.85 },
|
|
165
|
+
{ pattern: /(http|https):\/\/[^\s]+/, type: 'suspicious', action: 'warn', confidence: 0.6 },
|
|
128
166
|
];
|
|
129
|
-
for (const kw of
|
|
167
|
+
for (const kw of criticalPatterns) {
|
|
130
168
|
if (kw.pattern.test(message.content)) {
|
|
131
169
|
return {
|
|
132
170
|
isAbnormal: true,
|
|
133
171
|
alertType: kw.type,
|
|
134
|
-
reason:
|
|
135
|
-
confidence:
|
|
172
|
+
reason: `本地规则匹配`,
|
|
173
|
+
confidence: kw.confidence,
|
|
136
174
|
suggestedAction: kw.action,
|
|
137
175
|
};
|
|
138
176
|
}
|
package/lib/ai/openai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai/openai.ts"],"names":[],"mappings":";;;AACA,yCAAyD;AAGzD,MAAa,cAAe,SAAQ,qBAAU;IAC5C,YAAY,GAAY,EAAE,MAAwB;QAChD,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,KAAa,EACb,QAAiC,EACjC,OAAuB;QAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAEhD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CACvC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,mBAAmB,EAC1C;gBACE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;oBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;iBACtC;gBACD,WAAW,EAAE,GAAG;gBAChB,UAAU,EAAE,GAAG;gBACf,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACzC,EACD;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC7C,cAAc,EAAE,kBAAkB;iBACnC;aACF,CACF,CAAA;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAA;YAC/D,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai/openai.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -10,7 +10,7 @@ const monitor_1 = require("./services/monitor");
|
|
|
10
10
|
const commands_1 = require("./admin/commands");
|
|
11
11
|
const routes_1 = require("./admin/routes");
|
|
12
12
|
exports.name = 'guofenbot';
|
|
13
|
-
exports.inject = ['database', 'server'];
|
|
13
|
+
exports.inject = ['database', 'server', 'http'];
|
|
14
14
|
exports.Config = koishi_1.Schema.object({
|
|
15
15
|
aiProvider: koishi_1.Schema.object({
|
|
16
16
|
type: koishi_1.Schema.union(['openai', 'custom']).default('openai').description('AI 提供商类型'),
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAyDA,sBAiEC;AA1HD,mCAAwC;AACxC,yCAA6C;AAE7C,0DAAqD;AACrD,gEAA2D;AAC3D,gDAAkE;AAClE,+CAAwD;AACxD,2CAAmD;AAEtC,QAAA,IAAI,GAAG,WAAW,CAAA;AAElB,QAAA,MAAM,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|