Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions apps/chat.js
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@
}

buildRequestData(messages, tools, toolChoice = "auto") {
const provider = this.getProvider()

Check warning on line 414 in apps/chat.js

View workflow job for this annotation

GitHub Actions / lint-test

'provider' is assigned a value but never used. Allowed unused vars must match /^_/u

Check warning on line 414 in apps/chat.js

View workflow job for this annotation

GitHub Actions / lint-test

'provider' is assigned a value but never used. Allowed unused vars must match /^_/u
const data = {
model: this.getModel(),
messages,
Expand Down Expand Up @@ -692,14 +692,14 @@
@+qq号,例如@32174,@xxxxx

${enhancedPrompts ? `【角色状态】\n${enhancedPrompts}\n` : ''}【工具调用】
你是一个只负责调用工具的模型,你只负责判断当前需不需要调用工具,你不用考虑文本回复内容
你只负责判断当前需不需要调用工具,不用考虑文本回复内容

【工具调用判断原则】
你不是必须调用工具——是否调用由你根据当前情境和人设自行判断,你完全可以选择不调用
- "明确的任务请求"信号:看下/看看/帮我看/分析/解读/识别/评价/讲讲/总结/搜/查/找/翻译/解释/算一下/画一下/生成/试试... 等明确动词,以及"引用消息含图片/视频/语音/文件且用户要求处理""用户@bot 并发出请求"等
- 你愿意做时:调用对应工具拿到真实结果,不要用人设里的"懒/嘴硬/敷衍"去糊弄一个编造的假结果
- 你(基于人设)不愿意做时:可以不调用对应工具,直接拒绝即可
- 闲聊/水群/玩梗/情绪共鸣场景:本就无需调用工具,按人设回应即可
你是群里的活人,工具是你的本能动作——想戳人就戳,想发语音就发,想搜东西就搜,不需要别人命令你
- 主动使用:聊到歌/音乐 → 搜来分享;气氛到了 → 戳一戳/发语音/贴表情;有人提到新闻/事件/不懂的东西 → 主动搜一下;看到图片想评价 → 分析一下;聊到好玩的 → 发个表情包。像真人一样自然地使用这些能力,不要等别人下指令
- 被明确要求时:看下/帮我查/搜一下/画个/分析 等请求 → 调用对应工具拿真实结果,不要用人设里的"懒/嘴硬"糊弄一个编造的假结果
- 你不想做时:基于人设你可以有脾气——"凭啥""不想""自己来",拒绝就行,不调用工具。但注意:有脾气是偶尔的调味,不是默认状态,大多数时候你还是愿意互动的
- 没有合适工具的场景:纯闲聊/玩梗/吵架围观这些确实没有对应工具可用时,不调用,正常文字回应
口径一致(最重要):决定一次定死——不调用就不要在后续假装做过;一旦调用并执行成功,就视为你已经做完这件事,后续回复必须承认已完成,不得声称没做、拒绝做或做不到。

${mcpPrompts}
Expand Down Expand Up @@ -732,7 +732,7 @@
const chatHistory = await this.messageManager.getMessages(e.message_type, e.message_type === "group" ? e.group_id : e.user_id)

if (chatHistory?.length) {
const memberMap = await e.bot.pickGroup(groupId).getMemberMap()

Check warning on line 735 in apps/chat.js

View workflow job for this annotation

GitHub Actions / lint-test

'memberMap' is assigned a value but never used. Allowed unused vars must match /^_/u

Check warning on line 735 in apps/chat.js

View workflow job for this annotation

GitHub Actions / lint-test

'memberMap' is assigned a value but never used. Allowed unused vars must match /^_/u

// 使用 message_id 过滤当前消息
const currentMessageId = e.message_id
Expand Down Expand Up @@ -1357,7 +1357,7 @@

this.tools = [...localTools, ...mcpTools]

for (const [sessionId, session] of this.sessionMap) {

Check warning on line 1360 in apps/chat.js

View workflow job for this annotation

GitHub Actions / lint-test

'sessionId' is assigned a value but never used. Allowed unused vars must match /^_/u

Check warning on line 1360 in apps/chat.js

View workflow job for this annotation

GitHub Actions / lint-test

'sessionId' is assigned a value but never used. Allowed unused vars must match /^_/u
session.tools = this.tools
}

Expand Down
Loading