feat: 优化助手逻辑

This commit is contained in:
digua
2026-03-10 21:35:53 +08:00
parent 60be78b767
commit 6edb3e3b95
33 changed files with 246 additions and 333 deletions

View File

@@ -13,7 +13,7 @@ const schema = Type.Object({
...timeParamProperties,
})
/** 获取两个群成员之间的对话记录。适用于回答"A和B之间聊了什么"、"查看两人的对话"等问题。需要先通过 get_group_members 获取成员 ID。支持精确到分钟级别的时间查询。 */
/** 获取两个群成员之间的对话记录。适用于回答"A和B之间聊了什么"、"查看两人的对话"等问题。需要先通过 get_members 获取成员 ID。支持精确到分钟级别的时间查询。 */
export function createTool(context: ToolContext): AgentTool<typeof schema> {
return {
name: 'get_conversation_between',

View File

@@ -5,16 +5,16 @@ import * as workerManager from '../../../worker/workerManager'
import { isChineseLocale, t } from '../utils/format'
const schema = Type.Object({
search: Type.Optional(Type.String({ description: 'ai.tools.get_group_members.params.search' })),
limit: Type.Optional(Type.Number({ description: 'ai.tools.get_group_members.params.limit' })),
search: Type.Optional(Type.String({ description: 'ai.tools.get_members.params.search' })),
limit: Type.Optional(Type.Number({ description: 'ai.tools.get_members.params.limit' })),
})
/** 获取成员列表,包括成员的基本信息、别名和消息统计。适用于查询"群里有哪些人"、"某人的别名是什么"、"谁的QQ号是xxx"等问题。 */
/** 获取成员列表,包括成员的基本信息、别名和消息统计。适用于查询"有哪些人"、"某人的别名是什么"、"谁的QQ号是xxx"等问题。 */
export function createTool(context: ToolContext): AgentTool<typeof schema> {
return {
name: 'get_group_members',
label: 'get_group_members',
description: 'ai.tools.get_group_members.desc',
name: 'get_members',
label: 'get_members',
description: 'ai.tools.get_members.desc',
parameters: schema,
execute: async (_toolCallId, params) => {
const { sessionId, locale } = context

View File

@@ -8,7 +8,7 @@ const schema = Type.Object({
member_id: Type.Number({ description: 'ai.tools.get_member_name_history.params.member_id' }),
})
/** 获取成员的昵称变更历史记录。适用于回答"某人以前叫什么名字"、"某人的昵称变化"、"某人曾用名"等问题。需要先通过 get_group_members 工具获取成员 ID。 */
/** 获取成员的昵称变更历史记录。适用于回答"某人以前叫什么名字"、"某人的昵称变化"、"某人曾用名"等问题。需要先通过 get_members 工具获取成员 ID。 */
export function createTool(context: ToolContext): AgentTool<typeof schema> {
return {
name: 'get_member_name_history',

View File

@@ -7,7 +7,7 @@ export { createTool as createSearchMessages } from './search-messages'
export { createTool as createGetRecentMessages } from './get-recent-messages'
export { createTool as createGetMemberStats } from './get-member-stats'
export { createTool as createGetTimeStats } from './get-time-stats'
export { createTool as createGetGroupMembers } from './get-group-members'
export { createTool as createGetMembers } from './get-group-members'
export { createTool as createGetMemberNameHistory } from './get-member-name-history'
export { createTool as createGetConversationBetween } from './get-conversation-between'
export { createTool as createGetMessageContext } from './get-message-context'
@@ -22,7 +22,7 @@ export const TS_TOOL_NAMES = [
'get_recent_messages',
'get_member_stats',
'get_time_stats',
'get_group_members',
'get_members',
'get_member_name_history',
'get_conversation_between',
'get_message_context',

View File

@@ -35,11 +35,11 @@ const SQL_TOOL_DEFS: CustomSqlToolDef[] = [
{
name: 'peak_chat_hours_by_member',
description:
'分析指定成员在近 N 天内每小时的发言量分布,找出其最活跃的时段。需要先通过 get_group_members 获取 member_id。',
'分析指定成员在近 N 天内每小时的发言量分布,找出其最活跃的时段。需要先通过 get_members 获取 member_id。',
parameters: {
type: 'object',
properties: {
member_id: { type: 'number', description: '成员 ID通过 get_group_members 获取)' },
member_id: { type: 'number', description: '成员 ID通过 get_members 获取)' },
days: { type: 'number', description: '统计最近多少天的数据', default: 30 },
},
required: ['member_id'],
@@ -58,11 +58,11 @@ const SQL_TOOL_DEFS: CustomSqlToolDef[] = [
{
name: 'member_activity_trend',
description:
'查看指定成员近 N 天的每日发言数量变化趋势。适用于观察某人是否变得更活跃或更沉默。需要先通过 get_group_members 获取 member_id。',
'查看指定成员近 N 天的每日发言数量变化趋势。适用于观察某人是否变得更活跃或更沉默。需要先通过 get_members 获取 member_id。',
parameters: {
type: 'object',
properties: {
member_id: { type: 'number', description: '成员 ID通过 get_group_members 获取)' },
member_id: { type: 'number', description: '成员 ID通过 get_members 获取)' },
days: { type: 'number', description: '查看最近多少天的趋势' },
},
required: ['member_id', 'days'],

View File

@@ -12,7 +12,7 @@ import {
createGetRecentMessages,
createGetMemberStats,
createGetTimeStats,
createGetGroupMembers,
createGetMembers,
createGetMemberNameHistory,
createGetConversationBetween,
createGetMessageContext,
@@ -37,7 +37,7 @@ const coreFactories: ToolFactory[] = [
createGetRecentMessages,
createGetMemberStats,
createGetTimeStats,
createGetGroupMembers,
createGetMembers,
createGetMemberNameHistory,
createGetConversationBetween,
createGetMessageContext,