@zhin.js/adapter-napcat 1.0.1 → 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.
Files changed (202) hide show
  1. package/CHANGELOG.md +757 -0
  2. package/{skills/napcat/PERMITS.md → PERMITS.md} +3 -3
  3. package/README.md +63 -95
  4. package/adapters/napcat/index.js +47 -0
  5. package/adapters/napcat/index.ts +64 -0
  6. package/agents/napcat/agent.json +20 -0
  7. package/agents/napcat/boundaries.md +3 -0
  8. package/agents/napcat/conventions.md +3 -0
  9. package/agents/napcat/skills/napcat-account/SKILL.md +25 -0
  10. package/agents/napcat/skills/napcat-account/tools/delete_friend/index.js +18 -0
  11. package/agents/napcat/skills/napcat-account/tools/delete_friend/index.ts +18 -0
  12. package/agents/napcat/skills/napcat-account/tools/get_user_status/index.js +16 -0
  13. package/agents/napcat/skills/napcat-account/tools/get_user_status/index.ts +16 -0
  14. package/agents/napcat/skills/napcat-account/tools/send_like/index.js +18 -0
  15. package/agents/napcat/skills/napcat-account/tools/send_like/index.ts +18 -0
  16. package/agents/napcat/skills/napcat-account/tools/set_avatar/index.js +17 -0
  17. package/agents/napcat/skills/napcat-account/tools/set_avatar/index.ts +17 -0
  18. package/agents/napcat/skills/napcat-account/tools/set_online_status/index.js +18 -0
  19. package/agents/napcat/skills/napcat-account/tools/set_online_status/index.ts +18 -0
  20. package/agents/napcat/skills/napcat-account/tools/set_profile/index.js +21 -0
  21. package/agents/napcat/skills/napcat-account/tools/set_profile/index.ts +21 -0
  22. package/agents/napcat/skills/napcat-account/tools/set_signature/index.js +17 -0
  23. package/agents/napcat/skills/napcat-account/tools/set_signature/index.ts +17 -0
  24. package/agents/napcat/skills/napcat-files-history/SKILL.md +22 -0
  25. package/agents/napcat/skills/napcat-files-history/tools/download_file/index.js +17 -0
  26. package/agents/napcat/skills/napcat-files-history/tools/download_file/index.ts +17 -0
  27. package/agents/napcat/skills/napcat-files-history/tools/get_friend_msg_history/index.js +18 -0
  28. package/agents/napcat/skills/napcat-files-history/tools/get_friend_msg_history/index.ts +18 -0
  29. package/agents/napcat/skills/napcat-files-history/tools/get_group_file_url/index.js +19 -0
  30. package/agents/napcat/skills/napcat-files-history/tools/get_group_file_url/index.ts +19 -0
  31. package/agents/napcat/skills/napcat-files-history/tools/get_group_msg_history/index.js +19 -0
  32. package/agents/napcat/skills/napcat-files-history/tools/get_group_msg_history/index.ts +19 -0
  33. package/agents/napcat/skills/napcat-files-history/tools/get_group_root_files/index.js +17 -0
  34. package/agents/napcat/skills/napcat-files-history/tools/get_group_root_files/index.ts +17 -0
  35. package/agents/napcat/skills/napcat-files-history/tools/upload_group_file/index.js +21 -0
  36. package/agents/napcat/skills/napcat-files-history/tools/upload_group_file/index.ts +21 -0
  37. package/agents/napcat/skills/napcat-group-content/SKILL.md +21 -0
  38. package/agents/napcat/skills/napcat-group-content/tools/del_group_notice/index.js +20 -0
  39. package/agents/napcat/skills/napcat-group-content/tools/del_group_notice/index.ts +20 -0
  40. package/agents/napcat/skills/napcat-group-content/tools/delete_essence_msg/index.js +19 -0
  41. package/agents/napcat/skills/napcat-group-content/tools/delete_essence_msg/index.ts +19 -0
  42. package/agents/napcat/skills/napcat-group-content/tools/get_essence_list/index.js +17 -0
  43. package/agents/napcat/skills/napcat-group-content/tools/get_essence_list/index.ts +17 -0
  44. package/agents/napcat/skills/napcat-group-content/tools/get_group_notice/index.js +17 -0
  45. package/agents/napcat/skills/napcat-group-content/tools/get_group_notice/index.ts +17 -0
  46. package/agents/napcat/skills/napcat-group-content/tools/send_group_notice/index.js +21 -0
  47. package/agents/napcat/skills/napcat-group-content/tools/send_group_notice/index.ts +21 -0
  48. package/agents/napcat/skills/napcat-group-content/tools/set_essence_msg/index.js +19 -0
  49. package/agents/napcat/skills/napcat-group-content/tools/set_essence_msg/index.ts +19 -0
  50. package/agents/napcat/skills/napcat-group-settings/SKILL.md +23 -0
  51. package/agents/napcat/skills/napcat-group-settings/tools/get_group_info_ex/index.js +17 -0
  52. package/agents/napcat/skills/napcat-group-settings/tools/get_group_info_ex/index.ts +17 -0
  53. package/agents/napcat/skills/napcat-group-settings/tools/get_group_shut_list/index.js +17 -0
  54. package/agents/napcat/skills/napcat-group-settings/tools/get_group_shut_list/index.ts +17 -0
  55. package/agents/napcat/skills/napcat-group-settings/tools/group_sign/index.js +18 -0
  56. package/agents/napcat/skills/napcat-group-settings/tools/group_sign/index.ts +18 -0
  57. package/agents/napcat/skills/napcat-group-settings/tools/set_group_portrait/index.js +20 -0
  58. package/agents/napcat/skills/napcat-group-settings/tools/set_group_portrait/index.ts +20 -0
  59. package/agents/napcat/skills/napcat-group-settings/tools/set_title/index.js +21 -0
  60. package/agents/napcat/skills/napcat-group-settings/tools/set_title/index.ts +21 -0
  61. package/agents/napcat/skills/napcat-media/SKILL.md +23 -0
  62. package/agents/napcat/skills/napcat-media/tools/ai_tts/index.js +19 -0
  63. package/agents/napcat/skills/napcat-media/tools/ai_tts/index.ts +19 -0
  64. package/agents/napcat/skills/napcat-media/tools/get_ai_characters/index.js +17 -0
  65. package/agents/napcat/skills/napcat-media/tools/get_ai_characters/index.ts +17 -0
  66. package/agents/napcat/skills/napcat-media/tools/get_mini_app_ark/index.js +20 -0
  67. package/agents/napcat/skills/napcat-media/tools/get_mini_app_ark/index.ts +20 -0
  68. package/agents/napcat/skills/napcat-media/tools/ocr_image/index.js +16 -0
  69. package/agents/napcat/skills/napcat-media/tools/ocr_image/index.ts +16 -0
  70. package/agents/napcat/skills/napcat-media/tools/translate/index.js +16 -0
  71. package/agents/napcat/skills/napcat-media/tools/translate/index.ts +16 -0
  72. package/agents/napcat/skills/napcat-messaging/SKILL.md +22 -0
  73. package/agents/napcat/skills/napcat-messaging/tools/forward_single_msg/index.js +22 -0
  74. package/agents/napcat/skills/napcat-messaging/tools/forward_single_msg/index.ts +28 -0
  75. package/agents/napcat/skills/napcat-messaging/tools/mark_msg_as_read/index.js +17 -0
  76. package/agents/napcat/skills/napcat-messaging/tools/mark_msg_as_read/index.ts +17 -0
  77. package/agents/napcat/skills/napcat-messaging/tools/send_forward_msg/index.js +19 -0
  78. package/agents/napcat/skills/napcat-messaging/tools/send_forward_msg/index.ts +27 -0
  79. package/agents/napcat/skills/napcat-messaging/tools/send_poke/index.js +18 -0
  80. package/agents/napcat/skills/napcat-messaging/tools/send_poke/index.ts +18 -0
  81. package/agents/napcat/skills/napcat-messaging/tools/set_emoji_reaction/index.js +18 -0
  82. package/agents/napcat/skills/napcat-messaging/tools/set_emoji_reaction/index.ts +18 -0
  83. package/agents/napcat/system.md +3 -0
  84. package/commands/napcat/endpoint/add/[id]/index.js +3 -0
  85. package/commands/napcat/endpoint/add/[id]/index.ts +3 -0
  86. package/commands/napcat/endpoint/definition.js +29 -0
  87. package/commands/napcat/endpoint/definition.ts +26 -0
  88. package/commands/napcat/endpoint/list/index.js +3 -0
  89. package/commands/napcat/endpoint/list/index.ts +3 -0
  90. package/commands/napcat/endpoint/remove/[id]/index.js +3 -0
  91. package/commands/napcat/endpoint/remove/[id]/index.ts +3 -0
  92. package/lib/client.d.ts +52 -0
  93. package/lib/client.js +62 -0
  94. package/lib/endpoint-management.d.ts +15 -0
  95. package/lib/endpoint-management.js +47 -0
  96. package/lib/http-endpoint.d.ts +27 -0
  97. package/lib/http-endpoint.js +177 -0
  98. package/lib/index.d.ts +11 -22
  99. package/lib/index.js +10 -59
  100. package/lib/napcat-inbound.d.ts +12 -5
  101. package/lib/napcat-inbound.js +28 -13
  102. package/lib/napcat-runtime-state.d.ts +1 -0
  103. package/lib/napcat-runtime-state.js +6 -0
  104. package/lib/onebot-get-msg.d.ts +16 -3
  105. package/lib/onebot-get-msg.js +53 -1
  106. package/lib/protocol.d.ts +147 -0
  107. package/lib/protocol.js +318 -0
  108. package/lib/side-event-dispatch.d.ts +7 -0
  109. package/lib/side-event-dispatch.js +36 -0
  110. package/lib/webhook.d.ts +2 -0
  111. package/lib/webhook.js +14 -0
  112. package/lib/ws-endpoint.d.ts +27 -0
  113. package/lib/ws-endpoint.js +241 -0
  114. package/lib/ws-transport.d.ts +13 -0
  115. package/lib/ws-transport.js +75 -0
  116. package/lib/ws-types.d.ts +17 -0
  117. package/lib/ws-types.js +1 -0
  118. package/lib/wss-auth.d.ts +2 -0
  119. package/lib/wss-auth.js +16 -0
  120. package/lib/wss-endpoint.d.ts +29 -0
  121. package/lib/wss-endpoint.js +196 -0
  122. package/package.json +76 -34
  123. package/plugin.js +18 -0
  124. package/schema.json +131 -0
  125. package/src/client.ts +79 -0
  126. package/src/endpoint-management.ts +72 -0
  127. package/src/http-endpoint.ts +234 -0
  128. package/src/index.ts +62 -87
  129. package/src/napcat-inbound.ts +34 -10
  130. package/src/napcat-runtime-state.ts +7 -0
  131. package/src/onebot-get-msg.ts +69 -5
  132. package/src/protocol.ts +465 -0
  133. package/src/side-event-dispatch.ts +48 -0
  134. package/src/webhook.ts +16 -0
  135. package/src/ws-endpoint.ts +301 -0
  136. package/src/ws-transport.ts +105 -0
  137. package/src/ws-types.ts +20 -0
  138. package/src/wss-auth.ts +17 -0
  139. package/src/wss-endpoint.ts +247 -0
  140. package/client/NapCatManagement.tsx +0 -113
  141. package/client/index.tsx +0 -11
  142. package/client/tsconfig.json +0 -7
  143. package/client/utils/api.ts +0 -30
  144. package/dist/index.js +0 -27
  145. package/lib/adapter.d.ts +0 -28
  146. package/lib/adapter.d.ts.map +0 -1
  147. package/lib/adapter.js +0 -94
  148. package/lib/adapter.js.map +0 -1
  149. package/lib/agent-prompt.d.ts +0 -3
  150. package/lib/agent-prompt.d.ts.map +0 -1
  151. package/lib/agent-prompt.js +0 -105
  152. package/lib/agent-prompt.js.map +0 -1
  153. package/lib/endpoint-base.d.ts +0 -143
  154. package/lib/endpoint-base.d.ts.map +0 -1
  155. package/lib/endpoint-base.js +0 -334
  156. package/lib/endpoint-base.js.map +0 -1
  157. package/lib/endpoint-http.d.ts +0 -18
  158. package/lib/endpoint-http.d.ts.map +0 -1
  159. package/lib/endpoint-http.js +0 -119
  160. package/lib/endpoint-http.js.map +0 -1
  161. package/lib/endpoint-ws-client.d.ts +0 -21
  162. package/lib/endpoint-ws-client.d.ts.map +0 -1
  163. package/lib/endpoint-ws-client.js +0 -165
  164. package/lib/endpoint-ws-client.js.map +0 -1
  165. package/lib/endpoint-ws-server.d.ts +0 -21
  166. package/lib/endpoint-ws-server.d.ts.map +0 -1
  167. package/lib/endpoint-ws-server.js +0 -150
  168. package/lib/endpoint-ws-server.js.map +0 -1
  169. package/lib/index.d.ts.map +0 -1
  170. package/lib/index.js.map +0 -1
  171. package/lib/napcat-inbound.d.ts.map +0 -1
  172. package/lib/napcat-inbound.js.map +0 -1
  173. package/lib/onebot-get-msg.d.ts.map +0 -1
  174. package/lib/onebot-get-msg.js.map +0 -1
  175. package/lib/routes.d.ts +0 -4
  176. package/lib/routes.d.ts.map +0 -1
  177. package/lib/routes.js +0 -61
  178. package/lib/routes.js.map +0 -1
  179. package/lib/tools.d.ts +0 -8
  180. package/lib/tools.d.ts.map +0 -1
  181. package/lib/tools.js +0 -605
  182. package/lib/tools.js.map +0 -1
  183. package/lib/types.d.ts +0 -293
  184. package/lib/types.d.ts.map +0 -1
  185. package/lib/types.js +0 -6
  186. package/lib/types.js.map +0 -1
  187. package/lib/typing-indicator.d.ts +0 -45
  188. package/lib/typing-indicator.d.ts.map +0 -1
  189. package/lib/typing-indicator.js +0 -132
  190. package/lib/typing-indicator.js.map +0 -1
  191. package/plugin.yml +0 -3
  192. package/skills/napcat/SKILL.md +0 -311
  193. package/src/adapter.ts +0 -101
  194. package/src/agent-prompt.ts +0 -114
  195. package/src/endpoint-base.ts +0 -376
  196. package/src/endpoint-http.ts +0 -109
  197. package/src/endpoint-ws-client.ts +0 -164
  198. package/src/endpoint-ws-server.ts +0 -150
  199. package/src/routes.ts +0 -61
  200. package/src/tools.ts +0 -632
  201. package/src/types.ts +0 -279
  202. package/src/typing-indicator.ts +0 -184
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: napcat-files-history
3
+ platforms:
4
+ - napcat
5
+ description: NapCatQQ 群文件、下载地址和消息历史能力。
6
+ keywords:
7
+ - "napcat"
8
+ - "群文件"
9
+ - "下载"
10
+ - "消息历史"
11
+ tools:
12
+ - "upload_group_file"
13
+ - "get_group_file_url"
14
+ - "get_group_root_files"
15
+ - "download_file"
16
+ - "get_group_msg_history"
17
+ - "get_friend_msg_history"
18
+ ---
19
+
20
+ # napcat-files-history
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: '下载文件到 NapCat 缓存目录,返回本地路径。',
6
+ inputSchema: z.object({
7
+ url: z.string().describe('文件 URL'),
8
+ thread_count: z.number().optional().describe('下载线程数(可选,默认 1)'),
9
+ }),
10
+ adapter: 'napcat',
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['下载', 'download', '下载文件'],
13
+ async execute({ url, thread_count }, context) {
14
+ const endpoint = context.$client;
15
+ return endpoint.downloadFile(url, thread_count || 1);
16
+ },
17
+ });
@@ -0,0 +1,17 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ url: string; thread_count?: number }>({
5
+ description: '下载文件到 NapCat 缓存目录,返回本地路径。',
6
+ inputSchema: z.object({
7
+ url: z.string().describe('文件 URL'),
8
+ thread_count: z.number().optional().describe('下载线程数(可选,默认 1)'),
9
+ }),
10
+ adapter: 'napcat',
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['下载', 'download', '下载文件'],
13
+ async execute({ url, thread_count }: { url: string; thread_count?: number }, context) {
14
+ const endpoint = context.$client;
15
+ return endpoint.downloadFile(url, thread_count || 1);
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
+ user_id: z.number().describe('QQ 号'),
8
+ message_seq: z.number().optional().describe('起始消息序号(可选)'),
9
+ count: z.number().optional().describe('获取条数(可选)'),
10
+ }),
11
+ adapter: 'napcat',
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['私聊记录', '好友聊天记录', 'friend history'],
14
+ async execute({ user_id, message_seq, count }, context) {
15
+ const endpoint = context.$client;
16
+ return endpoint.getFriendMsgHistory(user_id, message_seq, count);
17
+ },
18
+ });
@@ -0,0 +1,18 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ user_id: number; message_seq?: number; count?: number }>({
5
+ description: '获取私聊消息历史记录。',
6
+ inputSchema: z.object({
7
+ user_id: z.number().describe('QQ 号'),
8
+ message_seq: z.number().optional().describe('起始消息序号(可选)'),
9
+ count: z.number().optional().describe('获取条数(可选)'),
10
+ }),
11
+ adapter: 'napcat',
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['私聊记录', '好友聊天记录', 'friend history'],
14
+ async execute({ user_id, message_seq, count }: { user_id: number; message_seq?: number; count?: number }, context) {
15
+ const endpoint = context.$client;
16
+ return endpoint.getFriendMsgHistory(user_id, message_seq, count);
17
+ },
18
+ });
@@ -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
+ group_id: z.number().describe('群号'),
8
+ file_id: z.string().describe('文件 ID'),
9
+ busid: z.number().describe('文件类型 ID'),
10
+ }),
11
+ adapter: 'napcat',
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['文件链接', 'file url', '下载文件'],
14
+ scopes: ['group'],
15
+ async execute({ group_id, file_id, busid }, context) {
16
+ const endpoint = context.$client;
17
+ return endpoint.getGroupFileUrl(group_id, file_id, busid);
18
+ },
19
+ });
@@ -0,0 +1,19 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number; file_id: string; busid: number }>({
5
+ description: '获取群文件下载链接。',
6
+ inputSchema: z.object({
7
+ group_id: z.number().describe('群号'),
8
+ file_id: z.string().describe('文件 ID'),
9
+ busid: z.number().describe('文件类型 ID'),
10
+ }),
11
+ adapter: 'napcat',
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['文件链接', 'file url', '下载文件'],
14
+ scopes: ['group'],
15
+ async execute({ group_id, file_id, busid }: { group_id: number; file_id: string; busid: number }, context) {
16
+ const endpoint = context.$client;
17
+ return endpoint.getGroupFileUrl(group_id, file_id, busid);
18
+ },
19
+ });
@@ -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
+ group_id: z.number().describe('群号'),
8
+ message_seq: z.number().optional().describe('起始消息序号(可选,不传从最新开始)'),
9
+ count: z.number().optional().describe('获取条数(可选)'),
10
+ }),
11
+ adapter: 'napcat',
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['群消息历史', '聊天记录', 'message history'],
14
+ scopes: ['group'],
15
+ async execute({ group_id, message_seq, count }, context) {
16
+ const endpoint = context.$client;
17
+ return endpoint.getGroupMsgHistory(group_id, message_seq, count);
18
+ },
19
+ });
@@ -0,0 +1,19 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number; message_seq?: number; count?: number }>({
5
+ description: '获取群消息历史记录。',
6
+ inputSchema: z.object({
7
+ group_id: z.number().describe('群号'),
8
+ message_seq: z.number().optional().describe('起始消息序号(可选,不传从最新开始)'),
9
+ count: z.number().optional().describe('获取条数(可选)'),
10
+ }),
11
+ adapter: 'napcat',
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['群消息历史', '聊天记录', 'message history'],
14
+ scopes: ['group'],
15
+ async execute({ group_id, message_seq, count }: { group_id: number; message_seq?: number; count?: number }, context) {
16
+ const endpoint = context.$client;
17
+ return endpoint.getGroupMsgHistory(group_id, message_seq, count);
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: ['群文件列表', '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,17 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number }>({
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 }: { group_id: number }, 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
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number; file: string; name: string; folder?: string }>({
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 }: { group_id: number; file: string; name: string; folder?: string }, 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,20 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number; notice_id: string }>({
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 }: { group_id: number; notice_id: string }, 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,19 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ message_id: number }>({
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 }: { message_id: number }, 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
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number }>({
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 }: { group_id: number }, 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,17 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number }>({
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 }: { group_id: number }, 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,21 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number; content: string; image?: string }>({
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 }: { group_id: number; content: string; image?: string }, 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,19 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ message_id: number }>({
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 }: { message_id: number }, 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
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number }>({
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 }: { group_id: number }, 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,17 @@
1
+ import { defineAgentTool } from '@zhin.js/tool';
2
+ import { z } from 'zod';
3
+
4
+ export default defineAgentTool<{ group_id: number }>({
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 }: { group_id: number }, 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
+ });