@zhin.js/adapter-napcat 3.0.0 → 3.0.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 (187) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +0 -1
  3. package/{skills/napcat → agent}/PERMITS.md +3 -3
  4. package/{skills/napcat/SKILL.md → agent/skills/napcat.md} +2 -2
  5. package/agent/tools/ai_tts.ts +21 -0
  6. package/agent/tools/del_group_notice.ts +22 -0
  7. package/agent/tools/delete_essence_msg.ts +21 -0
  8. package/agent/tools/delete_friend.ts +20 -0
  9. package/agent/tools/download_file.ts +19 -0
  10. package/agent/tools/forward_single_msg.ts +32 -0
  11. package/agent/tools/get_ai_characters.ts +19 -0
  12. package/agent/tools/get_essence_list.ts +19 -0
  13. package/agent/tools/get_friend_msg_history.ts +20 -0
  14. package/agent/tools/get_group_file_url.ts +21 -0
  15. package/agent/tools/get_group_info_ex.ts +19 -0
  16. package/agent/tools/get_group_msg_history.ts +21 -0
  17. package/agent/tools/get_group_notice.ts +19 -0
  18. package/agent/tools/get_group_root_files.ts +19 -0
  19. package/agent/tools/get_group_shut_list.ts +19 -0
  20. package/agent/tools/get_mini_app_ark.ts +22 -0
  21. package/agent/tools/get_user_status.ts +18 -0
  22. package/agent/tools/group_sign.ts +20 -0
  23. package/agent/tools/mark_msg_as_read.ts +19 -0
  24. package/agent/tools/ocr_image.ts +18 -0
  25. package/agent/tools/send_forward_msg.ts +31 -0
  26. package/agent/tools/send_group_notice.ts +23 -0
  27. package/agent/tools/send_like.ts +20 -0
  28. package/agent/tools/send_poke.ts +20 -0
  29. package/agent/tools/set_avatar.ts +19 -0
  30. package/agent/tools/set_emoji_reaction.ts +20 -0
  31. package/agent/tools/set_essence_msg.ts +21 -0
  32. package/agent/tools/set_group_portrait.ts +22 -0
  33. package/agent/tools/set_online_status.ts +20 -0
  34. package/agent/tools/set_profile.ts +23 -0
  35. package/agent/tools/set_signature.ts +19 -0
  36. package/agent/tools/set_title.ts +23 -0
  37. package/agent/tools/translate.ts +18 -0
  38. package/agent/tools/upload_group_file.ts +23 -0
  39. package/dist/index.js +2 -2
  40. package/lib/agent/tools/ai_tts.js +21 -0
  41. package/lib/agent/tools/ai_tts.js.map +1 -0
  42. package/lib/agent/tools/del_group_notice.js +22 -0
  43. package/lib/agent/tools/del_group_notice.js.map +1 -0
  44. package/lib/agent/tools/delete_essence_msg.js +21 -0
  45. package/lib/agent/tools/delete_essence_msg.js.map +1 -0
  46. package/lib/agent/tools/delete_friend.js +20 -0
  47. package/lib/agent/tools/delete_friend.js.map +1 -0
  48. package/lib/agent/tools/download_file.js +19 -0
  49. package/lib/agent/tools/download_file.js.map +1 -0
  50. package/lib/agent/tools/forward_single_msg.js +24 -0
  51. package/lib/agent/tools/forward_single_msg.js.map +1 -0
  52. package/lib/agent/tools/get_ai_characters.js +19 -0
  53. package/lib/agent/tools/get_ai_characters.js.map +1 -0
  54. package/lib/agent/tools/get_essence_list.js +19 -0
  55. package/lib/agent/tools/get_essence_list.js.map +1 -0
  56. package/lib/agent/tools/get_friend_msg_history.js +20 -0
  57. package/lib/agent/tools/get_friend_msg_history.js.map +1 -0
  58. package/lib/agent/tools/get_group_file_url.js +21 -0
  59. package/lib/agent/tools/get_group_file_url.js.map +1 -0
  60. package/lib/agent/tools/get_group_info_ex.js +19 -0
  61. package/lib/agent/tools/get_group_info_ex.js.map +1 -0
  62. package/lib/agent/tools/get_group_msg_history.js +21 -0
  63. package/lib/agent/tools/get_group_msg_history.js.map +1 -0
  64. package/lib/agent/tools/get_group_notice.js +19 -0
  65. package/lib/agent/tools/get_group_notice.js.map +1 -0
  66. package/lib/agent/tools/get_group_root_files.js +19 -0
  67. package/lib/agent/tools/get_group_root_files.js.map +1 -0
  68. package/lib/agent/tools/get_group_shut_list.js +19 -0
  69. package/lib/agent/tools/get_group_shut_list.js.map +1 -0
  70. package/lib/agent/tools/get_mini_app_ark.js +22 -0
  71. package/lib/agent/tools/get_mini_app_ark.js.map +1 -0
  72. package/lib/agent/tools/get_user_status.js +18 -0
  73. package/lib/agent/tools/get_user_status.js.map +1 -0
  74. package/lib/agent/tools/group_sign.js +20 -0
  75. package/lib/agent/tools/group_sign.js.map +1 -0
  76. package/lib/agent/tools/mark_msg_as_read.js +19 -0
  77. package/lib/agent/tools/mark_msg_as_read.js.map +1 -0
  78. package/lib/agent/tools/ocr_image.js +18 -0
  79. package/lib/agent/tools/ocr_image.js.map +1 -0
  80. package/lib/agent/tools/send_forward_msg.js +21 -0
  81. package/lib/agent/tools/send_forward_msg.js.map +1 -0
  82. package/lib/agent/tools/send_group_notice.js +23 -0
  83. package/lib/agent/tools/send_group_notice.js.map +1 -0
  84. package/lib/agent/tools/send_like.js +20 -0
  85. package/lib/agent/tools/send_like.js.map +1 -0
  86. package/lib/agent/tools/send_poke.js +20 -0
  87. package/lib/agent/tools/send_poke.js.map +1 -0
  88. package/lib/agent/tools/set_avatar.js +19 -0
  89. package/lib/agent/tools/set_avatar.js.map +1 -0
  90. package/lib/agent/tools/set_emoji_reaction.js +20 -0
  91. package/lib/agent/tools/set_emoji_reaction.js.map +1 -0
  92. package/lib/agent/tools/set_essence_msg.js +21 -0
  93. package/lib/agent/tools/set_essence_msg.js.map +1 -0
  94. package/lib/agent/tools/set_group_portrait.js +22 -0
  95. package/lib/agent/tools/set_group_portrait.js.map +1 -0
  96. package/lib/agent/tools/set_online_status.js +20 -0
  97. package/lib/agent/tools/set_online_status.js.map +1 -0
  98. package/lib/agent/tools/set_profile.js +23 -0
  99. package/lib/agent/tools/set_profile.js.map +1 -0
  100. package/lib/agent/tools/set_signature.js +19 -0
  101. package/lib/agent/tools/set_signature.js.map +1 -0
  102. package/lib/agent/tools/set_title.js +23 -0
  103. package/lib/agent/tools/set_title.js.map +1 -0
  104. package/lib/agent/tools/translate.js +18 -0
  105. package/lib/agent/tools/translate.js.map +1 -0
  106. package/lib/agent/tools/upload_group_file.js +23 -0
  107. package/lib/agent/tools/upload_group_file.js.map +1 -0
  108. package/lib/{adapter.js → src/adapter.js} +14 -7
  109. package/lib/src/adapter.js.map +1 -0
  110. package/lib/src/agent-prompt.js.map +1 -0
  111. package/lib/{endpoint-base.js → src/endpoint-base.js} +34 -53
  112. package/lib/src/endpoint-base.js.map +1 -0
  113. package/lib/{endpoint-http.js → src/endpoint-http.js} +2 -15
  114. package/lib/src/endpoint-http.js.map +1 -0
  115. package/lib/{endpoint-ws-client.js → src/endpoint-ws-client.js} +2 -28
  116. package/lib/src/endpoint-ws-client.js.map +1 -0
  117. package/lib/{endpoint-ws-server.js → src/endpoint-ws-server.js} +3 -16
  118. package/lib/src/endpoint-ws-server.js.map +1 -0
  119. package/lib/{index.js → src/index.js} +7 -9
  120. package/lib/src/index.js.map +1 -0
  121. package/lib/src/napcat-agent-deps.js +19 -0
  122. package/lib/src/napcat-agent-deps.js.map +1 -0
  123. package/lib/src/napcat-inbound.js.map +1 -0
  124. package/lib/src/onebot-get-msg.js.map +1 -0
  125. package/lib/src/routes.js.map +1 -0
  126. package/lib/src/segment-mapper.js +2 -0
  127. package/lib/src/segment-mapper.js.map +1 -0
  128. package/lib/src/types.js.map +1 -0
  129. package/package.json +20 -15
  130. package/src/adapter.ts +14 -7
  131. package/src/agent-prompt.ts +1 -2
  132. package/src/endpoint-base.ts +42 -55
  133. package/src/endpoint-http.ts +2 -16
  134. package/src/endpoint-ws-client.ts +2 -29
  135. package/src/endpoint-ws-server.ts +3 -17
  136. package/src/index.ts +11 -17
  137. package/src/napcat-agent-deps.ts +29 -0
  138. package/src/segment-mapper.ts +1 -0
  139. package/src/types.ts +0 -13
  140. package/lib/adapter.d.ts +0 -29
  141. package/lib/adapter.d.ts.map +0 -1
  142. package/lib/adapter.js.map +0 -1
  143. package/lib/agent-prompt.d.ts +0 -3
  144. package/lib/agent-prompt.d.ts.map +0 -1
  145. package/lib/agent-prompt.js.map +0 -1
  146. package/lib/endpoint-base.d.ts +0 -143
  147. package/lib/endpoint-base.d.ts.map +0 -1
  148. package/lib/endpoint-base.js.map +0 -1
  149. package/lib/endpoint-http.d.ts +0 -18
  150. package/lib/endpoint-http.d.ts.map +0 -1
  151. package/lib/endpoint-http.js.map +0 -1
  152. package/lib/endpoint-ws-client.d.ts +0 -21
  153. package/lib/endpoint-ws-client.d.ts.map +0 -1
  154. package/lib/endpoint-ws-client.js.map +0 -1
  155. package/lib/endpoint-ws-server.d.ts +0 -21
  156. package/lib/endpoint-ws-server.d.ts.map +0 -1
  157. package/lib/endpoint-ws-server.js.map +0 -1
  158. package/lib/index.d.ts +0 -22
  159. package/lib/index.d.ts.map +0 -1
  160. package/lib/index.js.map +0 -1
  161. package/lib/napcat-inbound.d.ts +0 -21
  162. package/lib/napcat-inbound.d.ts.map +0 -1
  163. package/lib/napcat-inbound.js.map +0 -1
  164. package/lib/onebot-get-msg.d.ts +0 -3
  165. package/lib/onebot-get-msg.d.ts.map +0 -1
  166. package/lib/onebot-get-msg.js.map +0 -1
  167. package/lib/routes.d.ts +0 -4
  168. package/lib/routes.d.ts.map +0 -1
  169. package/lib/routes.js.map +0 -1
  170. package/lib/tools.d.ts +0 -8
  171. package/lib/tools.d.ts.map +0 -1
  172. package/lib/tools.js +0 -605
  173. package/lib/tools.js.map +0 -1
  174. package/lib/types.d.ts +0 -293
  175. package/lib/types.d.ts.map +0 -1
  176. package/lib/types.js.map +0 -1
  177. package/lib/typing-indicator.d.ts +0 -45
  178. package/lib/typing-indicator.d.ts.map +0 -1
  179. package/lib/typing-indicator.js +0 -132
  180. package/lib/typing-indicator.js.map +0 -1
  181. package/src/tools.ts +0 -632
  182. package/src/typing-indicator.ts +0 -184
  183. /package/lib/{agent-prompt.js → src/agent-prompt.js} +0 -0
  184. /package/lib/{napcat-inbound.js → src/napcat-inbound.js} +0 -0
  185. /package/lib/{onebot-get-msg.js → src/onebot-get-msg.js} +0 -0
  186. /package/lib/{routes.js → src/routes.js} +0 -0
  187. /package/lib/{types.js → src/types.js} +0 -0
@@ -0,0 +1,19 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '获取群根目录文件列表。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ group_id: z.number().describe('群号'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['群文件列表', 'group files'],
13
+ scopes: ['group'],
14
+ async execute({ endpoint_id, group_id }) {
15
+ const endpoint = getEndpoint(endpoint_id);
16
+ return endpoint.getGroupRootFiles(group_id);
17
+ },
18
+ });
19
+ //# sourceMappingURL=get_group_root_files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_group_root_files.js","sourceRoot":"","sources":["../../../agent/tools/get_group_root_files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA4C;IACnE,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;KACpC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAClC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAA6C;QAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '获取群禁言列表。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ group_id: z.number().describe('群号'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['禁言列表', 'shut list', '被禁言'],
13
+ scopes: ['group'],
14
+ async execute({ endpoint_id, group_id }) {
15
+ const endpoint = getEndpoint(endpoint_id);
16
+ return endpoint.getGroupShutList(group_id);
17
+ },
18
+ });
19
+ //# sourceMappingURL=get_group_shut_list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_group_shut_list.js","sourceRoot":"","sources":["../../../agent/tools/get_group_shut_list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA4C;IACnE,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;KACpC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC;IACtC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAA6C;QAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '签名小程序卡片(如 B 站分享卡片等)。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ type: z.string().describe('卡片类型'),
9
+ title: z.string().describe('标题'),
10
+ desc: z.string().describe('描述'),
11
+ pic_url: z.string().describe('图片 URL'),
12
+ jump_url: z.string().describe('跳转 URL'),
13
+ }),
14
+ platforms: ['napcat'],
15
+ tags: ['napcat', 'qq'],
16
+ keywords: ['小程序', 'mini app', '卡片', 'ark'],
17
+ async execute({ endpoint_id, type, title, desc, pic_url, jump_url }) {
18
+ const endpoint = getEndpoint(endpoint_id);
19
+ return endpoint.getMiniAppArk(type, title, desc, pic_url, jump_url);
20
+ },
21
+ });
22
+ //# sourceMappingURL=get_mini_app_ark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_mini_app_ark.js","sourceRoot":"","sources":["../../../agent/tools/get_mini_app_ark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAAwG;IAC/H,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACxC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;IAC1C,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAyG;QACxK,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '获取用户在线状态。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ user_id: z.number().describe('目标 QQ 号'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['在线状态', '用户状态', 'online status'],
13
+ async execute({ endpoint_id, user_id }) {
14
+ const endpoint = getEndpoint(endpoint_id);
15
+ return endpoint.ncGetUserStatus(user_id);
16
+ },
17
+ });
18
+ //# sourceMappingURL=get_user_status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_user_status.js","sourceRoot":"","sources":["../../../agent/tools/get_user_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA2C;IAClE,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACxC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC;IAC3C,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,EAA4C;QAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '群签到/群打卡。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ group_id: z.number().describe('群号'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['签到', '打卡', 'sign', 'check in'],
13
+ scopes: ['group'],
14
+ async execute({ endpoint_id, group_id }) {
15
+ const endpoint = getEndpoint(endpoint_id);
16
+ await endpoint.sendGroupSign(group_id);
17
+ return { success: true };
18
+ },
19
+ });
20
+ //# sourceMappingURL=group_sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group_sign.js","sourceRoot":"","sources":["../../../agent/tools/group_sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA4C;IACnE,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;KACpC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC;IAC1C,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAA6C;QAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '标记消息为已读。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ message_id: z.number().describe('消息 ID'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['已读', 'mark read', '标记已读'],
13
+ async execute({ endpoint_id, message_id }) {
14
+ const endpoint = getEndpoint(endpoint_id);
15
+ await endpoint.markMsgAsRead(message_id);
16
+ return { success: true };
17
+ },
18
+ });
19
+ //# sourceMappingURL=mark_msg_as_read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark_msg_as_read.js","sourceRoot":"","sources":["../../../agent/tools/mark_msg_as_read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA8C;IACrE,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;KACzC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC;IACrC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,EAA+C;QACpF,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '图片 OCR 文字识别。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ image: z.string().describe('图片 file 参数(收到消息中的 file 字段或 URL)'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['OCR', '文字识别', '图片识别', 'ocr'],
13
+ async execute({ endpoint_id, image }) {
14
+ const endpoint = getEndpoint(endpoint_id);
15
+ return endpoint.ocrImage(image);
16
+ },
17
+ });
18
+ //# sourceMappingURL=ocr_image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ocr_image.js","sourceRoot":"","sources":["../../../agent/tools/ocr_image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAAyC;IAChE,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAC9D,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACxC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,EAA0C;QAC1E,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '发送合并转发消息(群聊或私聊)。messages 为转发节点数组。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ message_type: z.enum(['private', 'group']).describe('private 或 group'),
9
+ id: z.number().describe('群号或 QQ 号'),
10
+ messages: z.string().describe('转发节点 JSON(node 数组)'),
11
+ }),
12
+ platforms: ['napcat'],
13
+ tags: ['napcat', 'qq'],
14
+ keywords: ['合并转发', 'forward', '转发消息'],
15
+ async execute({ endpoint_id, message_type, id, messages }) {
16
+ const endpoint = getEndpoint(endpoint_id);
17
+ const nodes = typeof messages === 'string' ? JSON.parse(messages) : messages;
18
+ return endpoint.sendForwardMsg(message_type, id, nodes);
19
+ },
20
+ });
21
+ //# sourceMappingURL=send_forward_msg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send_forward_msg.js","sourceRoot":"","sources":["../../../agent/tools/send_forward_msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAKtB;IACD,WAAW,EAAE,mCAAmC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACtE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KACpD,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;IACrC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAKtD;QACC,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7E,OAAO,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '发送群公告。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ group_id: z.number().describe('群号'),
9
+ content: z.string().describe('公告内容'),
10
+ image: z.string().optional().describe('图片(URL 或 base64,可选)'),
11
+ }),
12
+ platforms: ['napcat'],
13
+ tags: ['napcat', 'qq'],
14
+ keywords: ['群公告', 'notice', '公告', '发公告'],
15
+ permissions: ['platform(napcat,scene_admin)'],
16
+ scopes: ['group'],
17
+ async execute({ endpoint_id, group_id, content, image }) {
18
+ const endpoint = getEndpoint(endpoint_id);
19
+ await endpoint.sendGroupNotice(group_id, content, image);
20
+ return { success: true };
21
+ },
22
+ });
23
+ //# sourceMappingURL=send_group_notice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send_group_notice.js","sourceRoot":"","sources":["../../../agent/tools/send_group_notice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA6E;IACpG,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KAC7D,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;IACxC,WAAW,EAAE,CAAC,8BAA8B,CAAC;IAC7C,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAA8E;QACjI,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '给好友点赞(每人每天最多 10 次)。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ user_id: z.number().describe('目标 QQ 号'),
9
+ times: z.number().optional().describe('点赞次数(1-10)'),
10
+ }),
11
+ platforms: ['napcat'],
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['点赞', 'like', '赞', '好友赞'],
14
+ async execute({ endpoint_id, user_id, times }) {
15
+ const endpoint = getEndpoint(endpoint_id);
16
+ await endpoint.sendLike(user_id, times || 1);
17
+ return { success: true, message: `已给 ${user_id} 点赞 ${times || 1} 次` };
18
+ },
19
+ });
20
+ //# sourceMappingURL=send_like.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send_like.js","sourceRoot":"","sources":["../../../agent/tools/send_like.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA2D;IAClF,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;KACpD,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC;IACpC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAA4D;QACrG,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1E,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '戳一戳(群聊或私聊)。group_id 不传时为私聊戳一戳。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ user_id: z.number().describe('目标用户 QQ 号'),
9
+ group_id: z.number().optional().describe('群号(不传则为私聊戳一戳)'),
10
+ }),
11
+ platforms: ['napcat'],
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['戳一戳', 'poke', '戳', '拍一拍'],
14
+ async execute({ endpoint_id, user_id, group_id }) {
15
+ const endpoint = getEndpoint(endpoint_id);
16
+ await endpoint.sendPoke(user_id, group_id);
17
+ return { success: true, message: `已戳 ${user_id}` };
18
+ },
19
+ });
20
+ //# sourceMappingURL=send_poke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send_poke.js","sourceRoot":"","sources":["../../../agent/tools/send_poke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA8D;IACrF,WAAW,EAAE,gCAAgC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;KAC1D,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC;IACrC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAA+D;QAC3G,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,EAAE,EAAE,CAAC;IACvD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '修改 QQ 头像。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ file: z.string().describe('图片(URL 或 base64)'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['头像', 'avatar', '设置头像', '换头像'],
13
+ async execute({ endpoint_id, file }) {
14
+ const endpoint = getEndpoint(endpoint_id);
15
+ await endpoint.setQQAvatar(file);
16
+ return { success: true };
17
+ },
18
+ });
19
+ //# sourceMappingURL=set_avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_avatar.js","sourceRoot":"","sources":["../../../agent/tools/set_avatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAAwC;IAC/D,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC9C,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;IACzC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAyC;QACxE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '为消息添加表情回应(贴表情)。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ message_id: z.number().describe('消息 ID'),
9
+ emoji_id: z.string().describe('表情 ID'),
10
+ }),
11
+ platforms: ['napcat'],
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['表情回应', 'reaction', '贴表情', 'emoji'],
14
+ async execute({ endpoint_id, message_id, emoji_id }) {
15
+ const endpoint = getEndpoint(endpoint_id);
16
+ await endpoint.setMsgEmojiLike(message_id, emoji_id);
17
+ return { success: true };
18
+ },
19
+ });
20
+ //# sourceMappingURL=set_emoji_reaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_emoji_reaction.js","sourceRoot":"","sources":["../../../agent/tools/set_emoji_reaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAAgE;IACvF,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;KACvC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;IAC9C,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAiE;QAChH,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '设置群精华消息。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ message_id: z.number().describe('消息 ID'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['精华', 'essence', '设精', '加精'],
13
+ permissions: ['platform(napcat,scene_admin)'],
14
+ scopes: ['group'],
15
+ async execute({ endpoint_id, message_id }) {
16
+ const endpoint = getEndpoint(endpoint_id);
17
+ await endpoint.setEssenceMsg(message_id);
18
+ return { success: true };
19
+ },
20
+ });
21
+ //# sourceMappingURL=set_essence_msg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_essence_msg.js","sourceRoot":"","sources":["../../../agent/tools/set_essence_msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA8C;IACrE,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;KACzC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;IACvC,WAAW,EAAE,CAAC,8BAA8B,CAAC;IAC7C,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,EAA+C;QACpF,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '设置群头像。file 为图片 URL 或 base64。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ group_id: z.number().describe('群号'),
9
+ file: z.string().describe('图片(URL 或 base64)'),
10
+ }),
11
+ platforms: ['napcat'],
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['群头像', 'group portrait', '设置群头像'],
14
+ permissions: ['platform(napcat,scene_admin)'],
15
+ scopes: ['group'],
16
+ async execute({ endpoint_id, group_id, file }) {
17
+ const endpoint = getEndpoint(endpoint_id);
18
+ await endpoint.setGroupPortrait(group_id, file);
19
+ return { success: true };
20
+ },
21
+ });
22
+ //# sourceMappingURL=set_group_portrait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_group_portrait.js","sourceRoot":"","sources":["../../../agent/tools/set_group_portrait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA0D;IACjF,WAAW,EAAE,8BAA8B;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC9C,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC;IAC5C,WAAW,EAAE,CAAC,8BAA8B,CAAC;IAC7C,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAA2D;QACpG,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '设置在线状态(在线、隐身、忙碌等)。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ status: z.number().describe('状态码(11=在线, 21=离开, 31=隐身, 41=忙碌, 50=请勿打扰, 60=Q我吧)'),
9
+ ext_status: z.number().optional().describe('扩展状态码'),
10
+ }),
11
+ platforms: ['napcat'],
12
+ tags: ['napcat', 'qq'],
13
+ keywords: ['在线状态', '隐身', '忙碌', 'online', 'status'],
14
+ async execute({ endpoint_id, status, ext_status }) {
15
+ const endpoint = getEndpoint(endpoint_id);
16
+ await endpoint.setOnlineStatus(status, ext_status || 0);
17
+ return { success: true };
18
+ },
19
+ });
20
+ //# sourceMappingURL=set_online_status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_online_status.js","sourceRoot":"","sources":["../../../agent/tools/set_online_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA+D;IACtF,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;KACpD,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAClD,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAgE;QAC7G,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '修改 QQ 资料(昵称等)。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ nickname: z.string().describe('昵称'),
9
+ company: z.string().optional().describe('公司(可选)'),
10
+ email: z.string().optional().describe('邮箱(可选)'),
11
+ college: z.string().optional().describe('学校(可选)'),
12
+ personal_note: z.string().optional().describe('个人说明(可选)'),
13
+ }),
14
+ platforms: ['napcat'],
15
+ tags: ['napcat', 'qq'],
16
+ keywords: ['修改资料', '设置昵称', 'profile', 'set profile'],
17
+ async execute({ endpoint_id, nickname, company, email, college, personal_note }) {
18
+ const endpoint = getEndpoint(endpoint_id);
19
+ await endpoint.setQQProfile(nickname, company, email, college, personal_note);
20
+ return { success: true };
21
+ },
22
+ });
23
+ //# sourceMappingURL=set_profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_profile.js","sourceRoot":"","sources":["../../../agent/tools/set_profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAAwH;IAC/I,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;KAC1D,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;IACpD,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAyH;QACpM,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '设置个人签名(个性签名)。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ signature: z.string().describe('签名内容'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['签名', '个性签名', 'signature', 'longnick'],
13
+ async execute({ endpoint_id, signature }) {
14
+ const endpoint = getEndpoint(endpoint_id);
15
+ await endpoint.setSelfLongnick(signature);
16
+ return { success: true };
17
+ },
18
+ });
19
+ //# sourceMappingURL=set_signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_signature.js","sourceRoot":"","sources":["../../../agent/tools/set_signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA6C;IACpE,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;IACjD,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAA8C;QAClF,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '设置群成员专属头衔。需要群主权限。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ group_id: z.number().describe('群号'),
9
+ user_id: z.number().describe('目标成员 QQ 号'),
10
+ title: z.string().describe('头衔文字'),
11
+ }),
12
+ platforms: ['napcat'],
13
+ tags: ['napcat', 'qq'],
14
+ keywords: ['头衔', 'title', '专属头衔', '设置头衔'],
15
+ permissions: ['platform(napcat,scene_owner)'],
16
+ scopes: ['group'],
17
+ async execute({ endpoint_id, group_id, user_id, title }) {
18
+ const endpoint = getEndpoint(endpoint_id);
19
+ await endpoint.setTitle(group_id, user_id, title);
20
+ return { success: true, message: `已设置 ${user_id} 头衔为 "${title}"` };
21
+ },
22
+ });
23
+ //# sourceMappingURL=set_title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set_title.js","sourceRoot":"","sources":["../../../agent/tools/set_title.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAA4E;IACnG,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;KACnC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,8BAA8B,CAAC;IAC7C,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAA6E;QAChI,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,OAAO,SAAS,KAAK,GAAG,EAAE,CAAC;IACvE,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '英译中翻译。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ text: z.string().describe('要翻译的英文文本'),
9
+ }),
10
+ platforms: ['napcat'],
11
+ tags: ['napcat', 'qq'],
12
+ keywords: ['翻译', 'translate', '英译中'],
13
+ async execute({ endpoint_id, text }) {
14
+ const endpoint = getEndpoint(endpoint_id);
15
+ return endpoint.translateEn2Zh(text);
16
+ },
17
+ });
18
+ //# sourceMappingURL=translate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate.js","sourceRoot":"","sources":["../../../agent/tools/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAAwC;IAC/D,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;KACtC,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;IACpC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAyC;QACxE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@zhin.js/agent/tools';
2
+ import { z } from 'zod';
3
+ import { getEndpoint } from '../../src/napcat-agent-deps.js';
4
+ export default defineTool({
5
+ description: '上传文件到群。file 为本地路径或 URL。',
6
+ inputSchema: z.object({
7
+ endpoint_id: z.string().describe('Endpoint 名称'),
8
+ group_id: z.number().describe('群号'),
9
+ file: z.string().describe('文件路径或 URL'),
10
+ name: z.string().describe('文件名'),
11
+ folder: z.string().optional().describe('目标文件夹 ID(可选)'),
12
+ }),
13
+ platforms: ['napcat'],
14
+ tags: ['napcat', 'qq'],
15
+ keywords: ['上传文件', 'upload file', '群文件'],
16
+ scopes: ['group'],
17
+ async execute({ endpoint_id, group_id, file, name, folder }) {
18
+ const endpoint = getEndpoint(endpoint_id);
19
+ await endpoint.uploadGroupFile(group_id, file, name, folder);
20
+ return { success: true };
21
+ },
22
+ });
23
+ //# sourceMappingURL=upload_group_file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload_group_file.js","sourceRoot":"","sources":["../../../agent/tools/upload_group_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,eAAe,UAAU,CAAyF;IAChH,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KACvD,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC;IACxC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAA0F;QACjJ,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC,CAAC"}