@zhin.js/adapter-napcat 1.1.0 → 1.1.2
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/CHANGELOG.md +96 -0
- package/README.md +11 -8
- package/adapters/{napcat.js → napcat/index.js} +10 -10
- package/adapters/{napcat.ts → napcat/index.ts} +13 -13
- package/agents/napcat/agent.json +20 -0
- package/agents/napcat/boundaries.md +3 -0
- package/agents/napcat/conventions.md +3 -0
- package/agents/napcat/skills/napcat-account/SKILL.md +25 -0
- package/agents/napcat/skills/napcat-account/tools/delete_friend/index.js +18 -0
- package/{agent/tools/delete_friend.ts → agents/napcat/skills/napcat-account/tools/delete_friend/index.ts} +1 -1
- package/agents/napcat/skills/napcat-account/tools/get_user_status/index.js +16 -0
- package/{agent/tools/get_user_status.ts → agents/napcat/skills/napcat-account/tools/get_user_status/index.ts} +1 -1
- package/agents/napcat/skills/napcat-account/tools/send_like/index.js +18 -0
- package/{agent/tools/send_like.ts → agents/napcat/skills/napcat-account/tools/send_like/index.ts} +1 -1
- package/agents/napcat/skills/napcat-account/tools/set_avatar/index.js +17 -0
- package/{agent/tools/set_avatar.ts → agents/napcat/skills/napcat-account/tools/set_avatar/index.ts} +1 -1
- package/agents/napcat/skills/napcat-account/tools/set_online_status/index.js +18 -0
- package/{agent/tools/set_online_status.ts → agents/napcat/skills/napcat-account/tools/set_online_status/index.ts} +1 -1
- package/agents/napcat/skills/napcat-account/tools/set_profile/index.js +21 -0
- package/{agent/tools/set_profile.ts → agents/napcat/skills/napcat-account/tools/set_profile/index.ts} +1 -1
- package/agents/napcat/skills/napcat-account/tools/set_signature/index.js +17 -0
- package/{agent/tools/set_signature.ts → agents/napcat/skills/napcat-account/tools/set_signature/index.ts} +1 -1
- package/agents/napcat/skills/napcat-files-history/SKILL.md +22 -0
- package/agents/napcat/skills/napcat-files-history/tools/download_file/index.js +17 -0
- package/{agent/tools/download_file.ts → agents/napcat/skills/napcat-files-history/tools/download_file/index.ts} +1 -1
- package/agents/napcat/skills/napcat-files-history/tools/get_friend_msg_history/index.js +18 -0
- package/{agent/tools/get_friend_msg_history.ts → agents/napcat/skills/napcat-files-history/tools/get_friend_msg_history/index.ts} +1 -1
- package/agents/napcat/skills/napcat-files-history/tools/get_group_file_url/index.js +19 -0
- package/{agent/tools/get_group_file_url.ts → agents/napcat/skills/napcat-files-history/tools/get_group_file_url/index.ts} +1 -1
- package/agents/napcat/skills/napcat-files-history/tools/get_group_msg_history/index.js +19 -0
- package/{agent/tools/get_group_msg_history.ts → agents/napcat/skills/napcat-files-history/tools/get_group_msg_history/index.ts} +1 -1
- package/agents/napcat/skills/napcat-files-history/tools/get_group_root_files/index.js +17 -0
- package/{agent/tools/get_group_root_files.ts → agents/napcat/skills/napcat-files-history/tools/get_group_root_files/index.ts} +1 -1
- package/agents/napcat/skills/napcat-files-history/tools/upload_group_file/index.js +21 -0
- package/{agent/tools/upload_group_file.ts → agents/napcat/skills/napcat-files-history/tools/upload_group_file/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-content/SKILL.md +21 -0
- package/agents/napcat/skills/napcat-group-content/tools/del_group_notice/index.js +20 -0
- package/{agent/tools/del_group_notice.ts → agents/napcat/skills/napcat-group-content/tools/del_group_notice/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-content/tools/delete_essence_msg/index.js +19 -0
- package/{agent/tools/delete_essence_msg.ts → agents/napcat/skills/napcat-group-content/tools/delete_essence_msg/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-content/tools/get_essence_list/index.js +17 -0
- package/{agent/tools/get_essence_list.ts → agents/napcat/skills/napcat-group-content/tools/get_essence_list/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-content/tools/get_group_notice/index.js +17 -0
- package/{agent/tools/get_group_notice.ts → agents/napcat/skills/napcat-group-content/tools/get_group_notice/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-content/tools/send_group_notice/index.js +21 -0
- package/{agent/tools/send_group_notice.ts → agents/napcat/skills/napcat-group-content/tools/send_group_notice/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-content/tools/set_essence_msg/index.js +19 -0
- package/{agent/tools/set_essence_msg.ts → agents/napcat/skills/napcat-group-content/tools/set_essence_msg/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-settings/SKILL.md +23 -0
- package/agents/napcat/skills/napcat-group-settings/tools/get_group_info_ex/index.js +17 -0
- package/{agent/tools/get_group_info_ex.ts → agents/napcat/skills/napcat-group-settings/tools/get_group_info_ex/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-settings/tools/get_group_shut_list/index.js +17 -0
- package/{agent/tools/get_group_shut_list.ts → agents/napcat/skills/napcat-group-settings/tools/get_group_shut_list/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-settings/tools/group_sign/index.js +18 -0
- package/{agent/tools/group_sign.ts → agents/napcat/skills/napcat-group-settings/tools/group_sign/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-settings/tools/set_group_portrait/index.js +20 -0
- package/{agent/tools/set_group_portrait.ts → agents/napcat/skills/napcat-group-settings/tools/set_group_portrait/index.ts} +1 -1
- package/agents/napcat/skills/napcat-group-settings/tools/set_title/index.js +21 -0
- package/{agent/tools/set_title.ts → agents/napcat/skills/napcat-group-settings/tools/set_title/index.ts} +1 -1
- package/agents/napcat/skills/napcat-media/SKILL.md +23 -0
- package/agents/napcat/skills/napcat-media/tools/ai_tts/index.js +19 -0
- package/{agent/tools/ai_tts.ts → agents/napcat/skills/napcat-media/tools/ai_tts/index.ts} +1 -1
- package/agents/napcat/skills/napcat-media/tools/get_ai_characters/index.js +17 -0
- package/{agent/tools/get_ai_characters.ts → agents/napcat/skills/napcat-media/tools/get_ai_characters/index.ts} +1 -1
- package/agents/napcat/skills/napcat-media/tools/get_mini_app_ark/index.js +20 -0
- package/{agent/tools/get_mini_app_ark.ts → agents/napcat/skills/napcat-media/tools/get_mini_app_ark/index.ts} +1 -1
- package/agents/napcat/skills/napcat-media/tools/ocr_image/index.js +16 -0
- package/{agent/tools/ocr_image.ts → agents/napcat/skills/napcat-media/tools/ocr_image/index.ts} +1 -1
- package/agents/napcat/skills/napcat-media/tools/translate/index.js +16 -0
- package/{agent/tools/translate.ts → agents/napcat/skills/napcat-media/tools/translate/index.ts} +1 -1
- package/agents/napcat/skills/napcat-messaging/SKILL.md +22 -0
- package/agents/napcat/skills/napcat-messaging/tools/forward_single_msg/index.js +22 -0
- package/{agent/tools/forward_single_msg.ts → agents/napcat/skills/napcat-messaging/tools/forward_single_msg/index.ts} +1 -1
- package/agents/napcat/skills/napcat-messaging/tools/mark_msg_as_read/index.js +17 -0
- package/{agent/tools/mark_msg_as_read.ts → agents/napcat/skills/napcat-messaging/tools/mark_msg_as_read/index.ts} +1 -1
- package/agents/napcat/skills/napcat-messaging/tools/send_forward_msg/index.js +19 -0
- package/{agent/tools/send_forward_msg.ts → agents/napcat/skills/napcat-messaging/tools/send_forward_msg/index.ts} +1 -1
- package/agents/napcat/skills/napcat-messaging/tools/send_poke/index.js +18 -0
- package/{agent/tools/send_poke.ts → agents/napcat/skills/napcat-messaging/tools/send_poke/index.ts} +1 -1
- package/agents/napcat/skills/napcat-messaging/tools/set_emoji_reaction/index.js +18 -0
- package/{agent/tools/set_emoji_reaction.ts → agents/napcat/skills/napcat-messaging/tools/set_emoji_reaction/index.ts} +1 -1
- package/agents/napcat/system.md +3 -0
- package/commands/{endpoint/add/[id].js → napcat/endpoint/add/[id]/index.js} +1 -1
- package/commands/napcat/endpoint/add/[id]/index.ts +3 -0
- package/{lib/napcat-endpoint-commands.js → commands/napcat/endpoint/definition.js} +4 -3
- package/{src/napcat-endpoint-commands.ts → commands/napcat/endpoint/definition.ts} +3 -3
- package/commands/{endpoint/list.js → napcat/endpoint/list/index.js} +1 -1
- package/commands/napcat/endpoint/list/index.ts +3 -0
- package/commands/{endpoint/remove/[id].js → napcat/endpoint/remove/[id]/index.js} +1 -1
- package/commands/napcat/endpoint/remove/[id]/index.ts +3 -0
- package/lib/index.d.ts +1 -1
- package/lib/napcat-runtime-state.js +1 -1
- package/lib/protocol.d.ts +5 -23
- package/lib/protocol.js +40 -27
- package/lib/wss-endpoint.d.ts +3 -0
- package/lib/wss-endpoint.js +51 -42
- package/package.json +33 -21
- package/schema.json +22 -1
- package/src/index.ts +0 -1
- package/src/napcat-runtime-state.ts +1 -1
- package/src/protocol.ts +47 -50
- package/src/wss-endpoint.ts +48 -43
- package/agent/skills/napcat.md +0 -311
- package/commands/endpoint/add/[id].ts +0 -3
- package/commands/endpoint/list.ts +0 -3
- package/commands/endpoint/remove/[id].ts +0 -3
- package/lib/napcat-endpoint-commands.d.ts +0 -1
- /package/{agent/PERMITS.md → PERMITS.md} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '获取群根目录文件列表。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['群文件列表', 'group files'],
|
|
12
|
+
scopes: ['group'],
|
|
13
|
+
async execute({ group_id }, context) {
|
|
14
|
+
const endpoint = context.$client;
|
|
15
|
+
return endpoint.getGroupRootFiles(group_id);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '上传文件到群。file 为本地路径或 URL。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
file: z.string().describe('文件路径或 URL'),
|
|
9
|
+
name: z.string().describe('文件名'),
|
|
10
|
+
folder: z.string().optional().describe('目标文件夹 ID(可选)'),
|
|
11
|
+
}),
|
|
12
|
+
adapter: 'napcat',
|
|
13
|
+
tags: ['napcat', 'qq'],
|
|
14
|
+
keywords: ['上传文件', 'upload file', '群文件'],
|
|
15
|
+
scopes: ['group'],
|
|
16
|
+
async execute({ group_id, file, name, folder }, context) {
|
|
17
|
+
const endpoint = context.$client;
|
|
18
|
+
await endpoint.uploadGroupFile(group_id, file, name, folder);
|
|
19
|
+
return { success: true };
|
|
20
|
+
},
|
|
21
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: napcat-group-content
|
|
3
|
+
platforms:
|
|
4
|
+
- napcat
|
|
5
|
+
description: NapCatQQ 群公告与精华消息管理能力。
|
|
6
|
+
keywords:
|
|
7
|
+
- "napcat"
|
|
8
|
+
- "群公告"
|
|
9
|
+
- "精华消息"
|
|
10
|
+
tools:
|
|
11
|
+
- "set_essence_msg"
|
|
12
|
+
- "delete_essence_msg"
|
|
13
|
+
- "get_essence_list"
|
|
14
|
+
- "send_group_notice"
|
|
15
|
+
- "get_group_notice"
|
|
16
|
+
- "del_group_notice"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# napcat-group-content
|
|
20
|
+
|
|
21
|
+
先读取现有公告或精华列表,再进行创建、删除或变更;删除操作必须复核稳定 ID。
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '删除群公告。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
notice_id: z.string().describe('公告 ID'),
|
|
9
|
+
}),
|
|
10
|
+
adapter: 'napcat',
|
|
11
|
+
tags: ['napcat', 'qq'],
|
|
12
|
+
keywords: ['删除公告', 'delete notice'],
|
|
13
|
+
permissions: ['platform(napcat,scene_admin)'],
|
|
14
|
+
scopes: ['group'],
|
|
15
|
+
async execute({ group_id, notice_id }, context) {
|
|
16
|
+
const endpoint = context.$client;
|
|
17
|
+
await endpoint.deleteGroupNotice(group_id, notice_id);
|
|
18
|
+
return { success: true };
|
|
19
|
+
},
|
|
20
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '移除群精华消息。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
message_id: z.number().describe('消息 ID'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['取消精华', '移除精华', 'delete essence'],
|
|
12
|
+
permissions: ['platform(napcat,scene_admin)'],
|
|
13
|
+
scopes: ['group'],
|
|
14
|
+
async execute({ message_id }, context) {
|
|
15
|
+
const endpoint = context.$client;
|
|
16
|
+
await endpoint.deleteEssenceMsg(message_id);
|
|
17
|
+
return { success: true };
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '获取群精华消息列表。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['精华列表', 'essence list'],
|
|
12
|
+
scopes: ['group'],
|
|
13
|
+
async execute({ group_id }, context) {
|
|
14
|
+
const endpoint = context.$client;
|
|
15
|
+
return endpoint.getEssenceMsgList(group_id);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '获取群公告列表。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['群公告', '获取公告', 'get notice'],
|
|
12
|
+
scopes: ['group'],
|
|
13
|
+
async execute({ group_id }, context) {
|
|
14
|
+
const endpoint = context.$client;
|
|
15
|
+
return endpoint.getGroupNotice(group_id);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '发送群公告。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
content: z.string().describe('公告内容'),
|
|
9
|
+
image: z.string().optional().describe('图片(URL 或 base64,可选)'),
|
|
10
|
+
}),
|
|
11
|
+
adapter: 'napcat',
|
|
12
|
+
tags: ['napcat', 'qq'],
|
|
13
|
+
keywords: ['群公告', 'notice', '公告', '发公告'],
|
|
14
|
+
permissions: ['platform(napcat,scene_admin)'],
|
|
15
|
+
scopes: ['group'],
|
|
16
|
+
async execute({ group_id, content, image }, context) {
|
|
17
|
+
const endpoint = context.$client;
|
|
18
|
+
await endpoint.sendGroupNotice(group_id, content, image);
|
|
19
|
+
return { success: true };
|
|
20
|
+
},
|
|
21
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '设置群精华消息。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
message_id: z.number().describe('消息 ID'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['精华', 'essence', '设精', '加精'],
|
|
12
|
+
permissions: ['platform(napcat,scene_admin)'],
|
|
13
|
+
scopes: ['group'],
|
|
14
|
+
async execute({ message_id }, context) {
|
|
15
|
+
const endpoint = context.$client;
|
|
16
|
+
await endpoint.setEssenceMsg(message_id);
|
|
17
|
+
return { success: true };
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: napcat-group-settings
|
|
3
|
+
platforms:
|
|
4
|
+
- napcat
|
|
5
|
+
description: NapCatQQ 群状态、群头像、头衔与签到设置能力。
|
|
6
|
+
keywords:
|
|
7
|
+
- "napcat"
|
|
8
|
+
- "群设置"
|
|
9
|
+
- "群头像"
|
|
10
|
+
- "头衔"
|
|
11
|
+
- "签到"
|
|
12
|
+
- "禁言"
|
|
13
|
+
tools:
|
|
14
|
+
- "get_group_shut_list"
|
|
15
|
+
- "set_group_portrait"
|
|
16
|
+
- "set_title"
|
|
17
|
+
- "group_sign"
|
|
18
|
+
- "get_group_info_ex"
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# napcat-group-settings
|
|
22
|
+
|
|
23
|
+
查询群状态后再修改群设置。头像和头衔变更遵守审批策略,不根据昵称猜测成员。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '获取群组额外详细信息。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['群详情', '群额外信息', 'group info ex'],
|
|
12
|
+
scopes: ['group'],
|
|
13
|
+
async execute({ group_id }, context) {
|
|
14
|
+
const endpoint = context.$client;
|
|
15
|
+
return endpoint.getGroupInfoEx(group_id);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '获取群禁言列表。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['禁言列表', 'shut list', '被禁言'],
|
|
12
|
+
scopes: ['group'],
|
|
13
|
+
async execute({ group_id }, context) {
|
|
14
|
+
const endpoint = context.$client;
|
|
15
|
+
return endpoint.getGroupShutList(group_id);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '群签到/群打卡。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['签到', '打卡', 'sign', 'check in'],
|
|
12
|
+
scopes: ['group'],
|
|
13
|
+
async execute({ group_id }, context) {
|
|
14
|
+
const endpoint = context.$client;
|
|
15
|
+
await endpoint.sendGroupSign(group_id);
|
|
16
|
+
return { success: true };
|
|
17
|
+
},
|
|
18
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '设置群头像。file 为图片 URL 或 base64。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
file: z.string().describe('图片(URL 或 base64)'),
|
|
9
|
+
}),
|
|
10
|
+
adapter: 'napcat',
|
|
11
|
+
tags: ['napcat', 'qq'],
|
|
12
|
+
keywords: ['群头像', 'group portrait', '设置群头像'],
|
|
13
|
+
permissions: ['platform(napcat,scene_admin)'],
|
|
14
|
+
scopes: ['group'],
|
|
15
|
+
async execute({ group_id, file }, context) {
|
|
16
|
+
const endpoint = context.$client;
|
|
17
|
+
await endpoint.setGroupPortrait(group_id, file);
|
|
18
|
+
return { success: true };
|
|
19
|
+
},
|
|
20
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '设置群成员专属头衔。需要群主权限。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
user_id: z.number().describe('目标成员 QQ 号'),
|
|
9
|
+
title: z.string().describe('头衔文字'),
|
|
10
|
+
}),
|
|
11
|
+
adapter: 'napcat',
|
|
12
|
+
tags: ['napcat', 'qq'],
|
|
13
|
+
keywords: ['头衔', 'title', '专属头衔', '设置头衔'],
|
|
14
|
+
permissions: ['platform(napcat,scene_owner)'],
|
|
15
|
+
scopes: ['group'],
|
|
16
|
+
async execute({ group_id, user_id, title }, context) {
|
|
17
|
+
const endpoint = context.$client;
|
|
18
|
+
await endpoint.setTitle(group_id, user_id, title);
|
|
19
|
+
return { success: true, message: `已设置 ${user_id} 头衔为 "${title}"` };
|
|
20
|
+
},
|
|
21
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: napcat-media
|
|
3
|
+
platforms:
|
|
4
|
+
- napcat
|
|
5
|
+
description: NapCatQQ TTS、OCR、小程序卡片与翻译能力。
|
|
6
|
+
keywords:
|
|
7
|
+
- "napcat"
|
|
8
|
+
- "tts"
|
|
9
|
+
- "ocr"
|
|
10
|
+
- "语音"
|
|
11
|
+
- "翻译"
|
|
12
|
+
- "小程序"
|
|
13
|
+
tools:
|
|
14
|
+
- "ai_tts"
|
|
15
|
+
- "get_ai_characters"
|
|
16
|
+
- "ocr_image"
|
|
17
|
+
- "get_mini_app_ark"
|
|
18
|
+
- "translate"
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# napcat-media
|
|
22
|
+
|
|
23
|
+
按媒体任务选择单个工具。生成语音前先确定角色;OCR 与翻译结果保留不确定性。
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: 'AI 文字转语音,在群聊中发送 AI 语音消息。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
character: z.string().describe('AI 语音角色 ID(可先用 napcat_get_ai_characters 查询)'),
|
|
9
|
+
text: z.string().describe('要转为语音的文字'),
|
|
10
|
+
}),
|
|
11
|
+
adapter: 'napcat',
|
|
12
|
+
tags: ['napcat', 'qq'],
|
|
13
|
+
keywords: ['AI语音', 'TTS', '文字转语音', 'ai record'],
|
|
14
|
+
scopes: ['group'],
|
|
15
|
+
async execute({ group_id, character, text }, context) {
|
|
16
|
+
const endpoint = context.$client;
|
|
17
|
+
return endpoint.sendGroupAiRecord(group_id, character, text);
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '获取 AI 语音角色列表,用于 napcat_ai_tts 的 character 参数。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
group_id: z.number().describe('群号'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['AI角色', 'ai characters', '语音角色'],
|
|
12
|
+
scopes: ['group'],
|
|
13
|
+
async execute({ group_id }, context) {
|
|
14
|
+
const endpoint = context.$client;
|
|
15
|
+
return endpoint.getAiCharacters(group_id);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '签名小程序卡片(如 B 站分享卡片等)。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
type: z.string().describe('卡片类型'),
|
|
8
|
+
title: z.string().describe('标题'),
|
|
9
|
+
desc: z.string().describe('描述'),
|
|
10
|
+
pic_url: z.string().describe('图片 URL'),
|
|
11
|
+
jump_url: z.string().describe('跳转 URL'),
|
|
12
|
+
}),
|
|
13
|
+
adapter: 'napcat',
|
|
14
|
+
tags: ['napcat', 'qq'],
|
|
15
|
+
keywords: ['小程序', 'mini app', '卡片', 'ark'],
|
|
16
|
+
async execute({ type, title, desc, pic_url, jump_url }, context) {
|
|
17
|
+
const endpoint = context.$client;
|
|
18
|
+
return endpoint.getMiniAppArk(type, title, desc, pic_url, jump_url);
|
|
19
|
+
},
|
|
20
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '图片 OCR 文字识别。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
image: z.string().describe('图片 file 参数(收到消息中的 file 字段或 URL)'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['OCR', '文字识别', '图片识别', 'ocr'],
|
|
12
|
+
async execute({ image }, context) {
|
|
13
|
+
const endpoint = context.$client;
|
|
14
|
+
return endpoint.ocrImage(image);
|
|
15
|
+
},
|
|
16
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '英译中翻译。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
text: z.string().describe('要翻译的英文文本'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['翻译', 'translate', '英译中'],
|
|
12
|
+
async execute({ text }, context) {
|
|
13
|
+
const endpoint = context.$client;
|
|
14
|
+
return endpoint.translateEn2Zh(text);
|
|
15
|
+
},
|
|
16
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: napcat-messaging
|
|
3
|
+
platforms:
|
|
4
|
+
- napcat
|
|
5
|
+
description: NapCatQQ 戳一戳、reaction、转发和已读操作。
|
|
6
|
+
keywords:
|
|
7
|
+
- "napcat"
|
|
8
|
+
- "消息"
|
|
9
|
+
- "reaction"
|
|
10
|
+
- "转发"
|
|
11
|
+
- "已读"
|
|
12
|
+
tools:
|
|
13
|
+
- "send_poke"
|
|
14
|
+
- "set_emoji_reaction"
|
|
15
|
+
- "send_forward_msg"
|
|
16
|
+
- "forward_single_msg"
|
|
17
|
+
- "mark_msg_as_read"
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# napcat-messaging
|
|
21
|
+
|
|
22
|
+
消息互动只使用当前会话中的稳定消息 ID 和目标 ID,写操作遵守审批策略。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '转发单条消息到指定好友或群。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
target_type: z.enum(['friend', 'group']).describe('friend 或 group'),
|
|
8
|
+
target_id: z.number().describe('目标好友 QQ 号或群号'),
|
|
9
|
+
message_id: z.number().describe('要转发的消息 ID'),
|
|
10
|
+
}),
|
|
11
|
+
adapter: 'napcat',
|
|
12
|
+
tags: ['napcat', 'qq'],
|
|
13
|
+
keywords: ['转发', 'forward', '单条转发'],
|
|
14
|
+
async execute({ target_type, target_id, message_id }, context) {
|
|
15
|
+
const endpoint = context.$client;
|
|
16
|
+
if (target_type === 'friend')
|
|
17
|
+
await endpoint.forwardFriendSingleMsg(target_id, message_id);
|
|
18
|
+
else
|
|
19
|
+
await endpoint.forwardGroupSingleMsg(target_id, message_id);
|
|
20
|
+
return { success: true };
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
import { defineAgentTool } from '@zhin.js/tool';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export default defineAgentTool({
|
|
5
|
+
description: '标记消息为已读。',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
message_id: z.number().describe('消息 ID'),
|
|
8
|
+
}),
|
|
9
|
+
adapter: 'napcat',
|
|
10
|
+
tags: ['napcat', 'qq'],
|
|
11
|
+
keywords: ['已读', 'mark read', '标记已读'],
|
|
12
|
+
async execute({ message_id }, context) {
|
|
13
|
+
const endpoint = context.$client;
|
|
14
|
+
await endpoint.markMsgAsRead(message_id);
|
|
15
|
+
return { success: true };
|
|
16
|
+
},
|
|
17
|
+
});
|