@tencentcloud/sdk-mcp 1.7.4 → 1.7.6

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 (98) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +57 -55
  3. package/knowledge/chunker.js +1 -0
  4. package/knowledge/path-meta.js +12 -1
  5. package/knowledge/search/search-core.js +22 -4
  6. package/knowledge/search/search-knowledge.js +1 -1
  7. package/package.json +1 -1
  8. package/resource/index/manifest.json +1 -1
  9. package/resource/integration/callkit/preset/android/integration.md +0 -4
  10. package/resource/integration/callkit/preset/flutter/integration.md +4 -8
  11. package/resource/integration/callkit/preset/ios/integration.md +2 -6
  12. package/resource/integration/callkit/preset/react/integration.md +2 -2
  13. package/resource/integration/callkit/preset/vue/integration.md +9 -9
  14. package/resource/integration/chat/preset/android/integration.md +2 -2
  15. package/resource/integration/chat/preset/flutter/integration.md +2 -2
  16. package/resource/integration/chat/preset/ios/integration.md +10 -10
  17. package/resource/integration/chat/preset/react/integration.md +0 -5
  18. package/resource/integration/chat/preset/uni-app/integration.md +0 -4
  19. package/resource/integration/chat/preset/vue/integration.md +0 -5
  20. package/resource/integration/livekit/preset/live/android/live-host-integration.md +0 -4
  21. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +0 -4
  22. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +3 -3
  23. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +0 -4
  24. package/resource/integration/roomkit/preset/vue/integration.md +152 -439
  25. package/resource/knowledge/callkit/best-practice/android/video-chat-dating.md +8 -8
  26. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +2 -2
  27. package/resource/knowledge/callkit/core-sdk/android/make-call.md +5 -5
  28. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +7 -7
  29. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +10 -10
  30. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +9 -9
  31. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +7 -8
  32. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +2 -2
  33. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +2 -2
  34. package/resource/knowledge/callkit/faq/android.md +4 -4
  35. package/resource/knowledge/callkit/faq/common.md +4 -4
  36. package/resource/knowledge/callkit/preset/harmonyos/integration.md +0 -4
  37. package/resource/knowledge/callkit/preset/uni-app/integration.md +10 -10
  38. package/resource/knowledge/chat/preset/android-view/integration.md +2 -6
  39. package/resource/knowledge/chat/preset/ios-uikit/integration.md +43 -40
  40. package/resource/knowledge/chat/preset/react/h5/integration.md +0 -5
  41. package/resource/knowledge/chat/preset/vue/features/message-input.md +4 -4
  42. package/resource/knowledge/chat/preset/vue/h5/integration.md +0 -5
  43. package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +3 -3
  44. package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +3 -3
  45. package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +3 -3
  46. package/resource/knowledge/livekit/core-sdk/features/flutter/live-list.md +3 -3
  47. package/resource/knowledge/livekit/core-sdk/features/ios/audience-list.md +3 -3
  48. package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +3 -3
  49. package/resource/knowledge/livekit/core-sdk/features/uni-app/audience-list.md +3 -3
  50. package/resource/knowledge/livekit/core-sdk/features/uni-app/live-list.md +3 -3
  51. package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +2 -2
  52. package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +2 -2
  53. package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +2 -2
  54. package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +2 -2
  55. package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +12 -12
  56. package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +4 -4
  57. package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +9 -9
  58. package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +2 -2
  59. package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +2 -2
  60. package/resource/knowledge/livekit/core-sdk/voice/uni-app/integration.md +5 -5
  61. package/resource/knowledge/push/config/donut.md +3 -3
  62. package/resource/knowledge/push/config/harmonyos.md +12 -12
  63. package/resource/knowledge/push/config/ios.md +2 -2
  64. package/resource/knowledge/push/integration/android.md +91 -1112
  65. package/resource/knowledge/push/integration/donut.md +8 -8
  66. package/resource/knowledge/push/integration/ios.md +9 -35
  67. package/resource/knowledge/push/integration/unity.md +3 -3
  68. package/resource/knowledge/push/integration/unreal-engine.md +7 -7
  69. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +3 -3
  70. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +9 -9
  71. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +3 -3
  72. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +3 -3
  73. package/resource/knowledge/roomkit/core-sdk/vue/recording.md +3 -3
  74. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +3 -3
  75. package/resource/knowledge/roomkit/preset/ios/integration.md +3 -3
  76. package/resource/knowledge/roomkit/preset/uniapp-app/integration.md +52 -10
  77. package/server.js +42 -34
  78. package/tools/common/get_usersig.js +1 -1
  79. package/tools/common/present_framework_choice.js +5 -5
  80. package/tools/definitions/finalize_answer_def.js +17 -16
  81. package/tools/definitions/get_native_call_uikit_integration_def.js +25 -16
  82. package/tools/definitions/get_native_callkit_core_integration_def.js +37 -26
  83. package/tools/definitions/get_native_chat_uikit_integration_def.js +22 -13
  84. package/tools/definitions/get_native_live_uikit_integration_def.js +30 -21
  85. package/tools/definitions/get_native_livekit_core_integration_def.js +25 -16
  86. package/tools/definitions/get_usersig_def.js +20 -13
  87. package/tools/definitions/get_web_call_uikit_integration_def.js +21 -12
  88. package/tools/definitions/get_web_chat_uikit_integration_def.js +22 -13
  89. package/tools/definitions/get_web_live_uikit_integration_def.js +21 -12
  90. package/tools/definitions/get_web_room_core_integration_def.js +29 -20
  91. package/tools/definitions/get_web_room_uikit_integration_def.js +21 -12
  92. package/tools/definitions/integration-boundary.js +9 -5
  93. package/tools/definitions/present_framework_choice_def.js +21 -21
  94. package/tools/definitions/search_trtc_knowledge_def.js +48 -26
  95. package/tools/definitions/submit_feedback_def.js +18 -14
  96. package/utils/preflight-route.js +203 -185
  97. package/utils/report-cls-client.js +1 -1
  98. package/utils/report-es-client.js +1 -1
@@ -1,27 +1,28 @@
1
1
  export const FOLLOWUP_QUESTION = '以上是否解决了您的问题?请回复「已解决」或「未解决」,方便我们进一步优化回答质量。';
2
2
  const TOOL_DESCRIPTION = `
3
3
  Purpose:
4
- Finalize a search_trtc_knowledge answer and return the follow-up text to append.
4
+ Finalize the answer in current consultation and return the follow-up text.
5
5
 
6
- When to call:
7
- - After all searches/fetches are done and the final answer is drafted, MUST call this tool exactly once before replying to the user.
8
- - Do NOT call it for intermediate searches, partial drafts, or when another search/fetch is still needed.
6
+ When to call (hard rule):
7
+ - Call exactly once after all searches are done and final answer is ready.
8
+ - MUST be called before replying final answer to user.
9
+ - Do NOT call for drafts, intermediate reasoning, or unfinished retrieval.
9
10
 
10
- Input:
11
- - prompt: Original user question. Must match the search_trtc_knowledge prompt.
12
- - answer: Full synthesized answer (same text sent to the user).
13
- - queryID: REQUIRED. Must match the non-empty queryID returned by search_trtc_knowledge.
14
- - product/framework: Reuse the same values from the search_trtc_knowledge chain when available.
11
+ Input contract:
12
+ - prompt: original user question, consistent with search_trtc_knowledge prompt.
13
+ - answer: final user-facing answer text.
14
+ - queryID: REQUIRED, non-empty queryID from search_trtc_knowledge.
15
+ - product/framework: reuse values from the same consultation chain when available.
15
16
 
16
- Returns:
17
- - Follow-up text. Append it as-is after the answer.
18
- - Do NOT write your own follow-up question.
17
+ Output contract:
18
+ - Return follow-up text and append it as-is after answer.
19
+ - Do NOT write custom follow-up wording.
19
20
  `;
20
21
  const PARAMETER_DESCRIPTIONS = {
21
- prompt: 'Original user question. Must match search_trtc_knowledge.',
22
- answer: 'Full synthesized answer (same text sent to the user).',
23
- product: 'Reuse product from the search_trtc_knowledge chain when available.',
24
- framework: 'Reuse framework from the search_trtc_knowledge chain when available.',
22
+ prompt: 'Original user question. Must match search_trtc_knowledge prompt.',
23
+ answer: 'Final synthesized answer, same content sent to user.',
24
+ product: 'Reuse product from current search_trtc_knowledge chain when available.',
25
+ framework: 'Reuse framework from current search_trtc_knowledge chain when available.',
25
26
  queryID: 'REQUIRED. Non-empty queryID returned by search_trtc_knowledge.',
26
27
  };
27
28
  export const FINALIZE_ANSWER_DEFINITION = {
@@ -1,32 +1,41 @@
1
1
  import { INTEGRATION_BOUNDARY_SUFFIX } from './integration-boundary.js';
2
2
  const TOOL_DESCRIPTION = `
3
- 用途:
4
- 返回 Native TUICallKit preset 集成文档,供 AI 完成移动端音视频通话接入与代码生成(预制通话界面、开箱即用)。
3
+ Purpose:
4
+ Return Native TUICallKit preset integration docs for explicit codegen implementation.
5
5
 
6
- 典型适用问题(共用触发词,可能同时命中 'get_native_callkit_core_integration' Core 工具):
6
+ When to call (MUST):
7
+ - User explicitly asks for runnable project integration code or concrete implementation steps.
8
+
9
+ When NOT to call:
10
+ - Pure feature Q&A, documentation lookup, API/component explanation, troubleshooting.
11
+
12
+ Scope details:
13
+ Returns Native TUICallKit preset integration documentation for implementing mobile audio/video calling with ready-made UI.
14
+
15
+ Common trigger lexicon (may overlap with 'get_native_callkit_core_integration' Core 工具):
7
16
  集成 CallKit, 接入 CallKit, 音视频通话, 语音通话, 视频通话, 1v1 通话, 多人通话, 通话功能, 拨打电话, 接听电话, 来电, 离线推送, VoIP
8
- 命中以上共用触发词时,请**先主动追问用户**:"您希望使用默认通话界面快速集成(TUICallKit preset),还是基于 Core SDK 自定义通话界面?" 用户选择"默认/preset"后再调用本工具;选择"自定义/Core"则调用 'get_native_callkit_core_integration'。
17
+ When only common triggers are hit, ask a clarification first: "Do you prefer preset default UI (TUICallKit) or Core SDK custom UI?" Call this tool only after user chooses preset/default; if user chooses custom/Core, call 'get_native_callkit_core_integration'.
9
18
 
10
- 典型适用问题(preset 专属触发词,仅命中本工具,无需追问,直接调用):
19
+ Preset-only trigger lexicon (direct call, no clarification needed):
11
20
  TUICallKit, Native TUICallKit, Native Call UIKit, preset, preset 集成, 预制 UI, 预制通话界面, 默认 UI, 默认通话界面, 开箱即用通话界面, 现成的通话页面, 通话界面已经有了, TUICallKit Flutter, TUICallKit Android, TUICallKit iOS
12
21
 
13
- 输入:
22
+ Inputs:
14
23
  - framework: flutter | android | ios
15
- - prompt: 用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要
24
+ - prompt: Original user question. Keep full context; do not compress into keyword summary.
16
25
 
17
- 返回:
18
- - content: [{ type: 'text', text: 文档正文或说明文本 }]
26
+ Outputs:
27
+ - content: [{ type: 'text', text: Documentation body or explanatory text }]
19
28
 
20
- 边界:
21
- - 当用户未明确平台或框架时,应先调用 'present_framework_choice'
22
- - framework=uni-app 时不支持本工具(preset 无 uni-app 端),请改用 'get_native_callkit_core_integration'
23
- - 当用户已明示「自定义 UI」「Core SDK」「AtomicXCore」「CallStore」「自己画通话页面」等 Core 专属触发词时,直接调用 'get_native_callkit_core_integration',不要走本工具
24
- - 面向 Native CallKit preset 整体集成,不负责平台选择,也不负责铃声、虚拟背景、头像昵称、悬浮窗等单功能/API 设置问题
29
+ Boundaries:
30
+ - If platform/framework is not specified, call 'present_framework_choice' first.
31
+ - framework=uni-app is not supported by this preset tool (no preset uni-app support). Use 'get_native_callkit_core_integration' instead.
32
+ - If user explicitly indicates Core intent (e.g. custom UI / Core SDK / AtomicXCore / CallStore / self-built call page), call 'get_native_callkit_core_integration' directly.
33
+ - This tool targets end-to-end Native CallKit preset integration. It does not handle platform selection or isolated single-feature/API setup topics (e.g. ringtone, virtual background, avatar/nickname, floating window).
25
34
  ${INTEGRATION_BOUNDARY_SUFFIX}
26
35
  `;
27
36
  const PARAMETER_DESCRIPTIONS = {
28
- framework: '目标平台。参数名固定为 framework,禁止传 platform。可选值:flutter | android | ios。',
29
- prompt: '用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要。',
37
+ framework: 'Target platform. Parameter name must be framework (not platform). Allowed values: flutter | android | ios。',
38
+ prompt: 'Original user question. Keep full context; do not compress into keyword summary.',
30
39
  };
31
40
  export const GET_NATIVE_CALL_UIKIT_INTEGRATION_DEFINITION = {
32
41
  name: 'get_native_call_uikit_integration',
@@ -1,56 +1,67 @@
1
1
  import { INTEGRATION_BOUNDARY_SUFFIX } from './integration-boundary.js';
2
2
  const TOOL_DESCRIPTION = `
3
- 用途:
4
- 返回基于 AtomicXCore SDK 的 Native CallKit Core 基础集成文档,适合需要自定义通话界面(无预制 UI)的开发者完成拨打、接听和离线推送的接入。
3
+ Purpose:
4
+ Return Native CallKit Core integration docs for explicit codegen implementation.
5
5
 
6
- 典型适用问题(共用触发词,可能同时命中 'get_native_call_uikit_integration' preset 工具):
6
+ When to call (MUST):
7
+ - User explicitly asks for runnable project integration code or concrete implementation steps.
8
+
9
+ When NOT to call:
10
+ - Pure feature Q&A, documentation lookup, API/component explanation, troubleshooting.
11
+
12
+ Scope details:
13
+ Returns Native CallKit Core integration documentation based on AtomicXCore SDK, for custom calling UI (no preset UI) including call, answer, and offline push flows.
14
+
15
+ Common trigger lexicon (may overlap with 'get_native_call_uikit_integration' preset 工具):
7
16
  集成 CallKit, 接入 CallKit, 音视频通话, 语音通话, 视频通话, 1v1 通话, 多人通话, 通话功能, 拨打电话, 接听电话, 来电, 离线推送, VoIP
8
- 命中以上共用触发词时,请**先主动追问用户**:"您希望使用默认通话界面快速集成(TUICallKit preset),还是基于 Core SDK 自定义通话界面?" 用户选择"自定义/Core"后再调用本工具;选择"默认/preset"则调用 'get_native_call_uikit_integration'。
17
+ When only common triggers are hit, ask a clarification first: "Do you prefer preset default UI (TUICallKit) or Core SDK custom UI?" Call this tool only after user chooses custom/Core; if user chooses preset/default, call 'get_native_call_uikit_integration'.
9
18
 
10
- 典型适用问题(Core SDK 专属触发词,仅命中本工具,无需追问,直接调用):
19
+ Core-SDK-only trigger lexicon (direct call, no clarification needed):
11
20
  Core SDK, AtomicXCore, 无 UI, 自定义 UI, 自定义通话界面, 自己画通话页面, 不用默认 UI, 修改通话样式, CallStore, CallCoreView, DeviceStore
12
21
 
13
- 输入:
22
+ Inputs:
14
23
  - framework: android | ios | flutter | uni-app
15
- - goals: 功能模块列表(make_call | answer_call | offline_push)
16
- - prompt: 用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要
24
+ - goals: Feature module list (make_call | answer_call | offline_push)
25
+ - prompt: Original user question. Keep full context; do not compress into keyword summary.
17
26
 
18
- 返回:
19
- - content: [{ type: 'text', text: 文档正文或说明文本 }]
27
+ Outputs:
28
+ - content: [{ type: 'text', text: Documentation body or explanatory text }]
20
29
 
21
- 边界:
22
- - 当用户未明确平台或框架时,应先调用 'present_framework_choice'
23
- - framework=uni-app 时仅支持本工具(Core SDK),不存在 TUICallKit preset 路径;用户选 uni-app 后**不要**再追问"默认 UI vs 自定义 UI",直接调用本工具
24
- - framework=uni-app 且 goals 包含 offline_push 时,本工具会返回降级说明文本(uni-app Core 暂无离线推送集成文档),请引导用户参考 Android / iOS offline-push 文档结合 uni-app 原生插件机制自行接入 FCM / APNs,或改用 TUICallKit preset 方案
25
- - 面向 Core / Store 级基础集成主路径(CallStore 拨打与接听 + 离线推送),不负责美颜、虚拟背景、悬浮窗、画中画等单功能 API 设置
26
- - 返回的是 Core SDK 基础集成文档,不是完整的预制 UIKit 页面模板
30
+ Boundaries:
31
+ - If platform/framework is not specified, call 'present_framework_choice' first.
32
+ - For framework=uni-app, only this Core tool is supported (no TUICallKit preset path). Do not ask preset vs custom UI again; call this tool directly.
33
+ - If framework=uni-app and goals include offline_push, this tool returns a fallback note (no official uni-app Core offline-push doc yet). Guide user to Android/iOS offline-push docs with native plugin bridging for FCM/APNs, or switch to TUICallKit preset.
34
+ - Focuses on Core/Store-level primary integration path (CallStore call + answer + offline push), not single-feature API tuning such as beauty, virtual background, floating window, or picture-in-picture.
35
+ - Returns Core SDK baseline integration docs, not a complete preset UIKit page template.
27
36
  ${INTEGRATION_BOUNDARY_SUFFIX}
28
37
  `;
29
38
  const PARAMETER_DESCRIPTIONS = {
30
- framework: '目标平台。参数名固定为 framework,禁止传 platform。可选值:android | ios | flutter | uni-app。注意:uni-app 仅支持本工具(Core SDK),不存在 TUICallKit preset 路径;用户选 uni-app 时不需要追问"默认 UI vs 自定义 UI"。',
31
- goals: '功能列表。可选值:make_call(拨打电话)| answer_call(接听电话)| offline_push(离线推送)。允许多选,例如同时需要拨打和接听时传 ["make_call", "answer_call"]。注意:framework=uni-app 且 goals 包含 offline_push 时,本工具会返回降级说明而非完整文档(uni-app Core 暂无离线推送集成示例)。',
32
- prompt: '用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要。',
39
+ framework: 'Target platform. Parameter name must be framework (not platform). Allowed values: android | ios | flutter | uni-app. Note: uni-app supports only this Core tool (no TUICallKit preset path), and no extra preset-vs-custom question is needed.',
40
+ goals: 'Goals list. Allowed values: make_call | answer_call | offline_push. Multi-select is allowed (e.g. ["make_call", "answer_call"]). Note: if framework=uni-app and goals include offline_push, this tool returns fallback guidance instead of full docs (no official uni-app Core offline-push example yet).',
41
+ prompt: 'Original user question. Keep full context; do not compress into keyword summary.',
33
42
  };
34
- const ANTI_HALLUCINATION_HEADER = `本文档基于 AtomicXCore SDK,严禁使用 TUILogin、TUICallKit 等含 UI 的 API。\n\n`;
43
+ const ANTI_HALLUCINATION_HEADER = `This document is based on AtomicXCore SDK. DO NOT use UI-layer APIs such as TUILogin or TUICallKit.\n\n`;
35
44
  const ANTI_HALLUCINATION_CONSTRAINT = `
36
45
  ---
37
- 【AI 代码生成约束 - AtomicXCore 方案】
38
- 本文档使用 AtomicXCore SDK(无 UI 集成方案)。请严格基于文档内容生成代码,禁止引入文档未提及的 API。
46
+ [AI Code Generation Constraints - AtomicXCore]
47
+ This document describes an AtomicXCore (no-UI) integration path.
48
+ Generate code strictly from documented APIs only, and do NOT introduce undocumented classes or methods.
39
49
 
40
- 原则:如果某个 API 或类名在本文档中从未出现,则不要在生成的代码中使用它。
50
+ Rule:
51
+ If an API/class name does not appear in this document, do NOT use it in generated code.
41
52
  `;
42
53
  const UNI_APP_OFFLINE_PUSH_FALLBACK = `
43
54
  # uni-app Core SDK 暂未提供离线推送集成示例
44
55
 
45
- ## 现状
56
+ ## Current status
46
57
  当前 AtomicXCore for uni-app 尚未发布配套的离线推送(FCM / APNs)集成文档与示例代码。
47
58
 
48
- ## 推荐做法
59
+ ## Recommended approach
49
60
  - 参考 Android 平台 \`callkit/core-sdk/android/offline-push.md\`,结合 uni-app 的原生 Android 插件机制接入 FCM Data Message。
50
61
  - 参考 iOS 平台 \`callkit/core-sdk/ios/offline-push.md\`,结合 uni-app 的原生 iOS 插件机制接入 VoIP Push。
51
62
  - 若不希望自行实现原生插件,建议改用 \`get_native_call_uikit_integration\` 工具集成 TUICallKit preset 方案,该方案 uni-app 端已内置离线推送能力。
52
63
 
53
- ## 不要做的事
64
+ ## Do NOT
54
65
  - 不要凭空生成 uni-app Core 的离线推送代码,可能与官方 SDK 行为不一致。
55
66
  - 不要把 Android / iOS 的离线推送代码原样塞进 uni-app 项目,需要走原生插件桥接。
56
67
  `;
@@ -1,28 +1,37 @@
1
1
  import { INTEGRATION_BOUNDARY_SUFFIX } from './integration-boundary.js';
2
2
  const TOOL_DESCRIPTION = `
3
- 用途:
4
- 返回 Native Chat UIKit 集成文档,供 AI 完成移动端 IM 应用接入或聊天窗口接入。
3
+ Purpose:
4
+ Return Native Chat UIKit integration docs for explicit codegen implementation.
5
5
 
6
- 典型适用问题:
6
+ When to call (MUST):
7
+ - User explicitly asks for runnable project integration code or concrete implementation steps.
8
+
9
+ When NOT to call:
10
+ - Pure feature Q&A, documentation lookup, API/component explanation, troubleshooting.
11
+
12
+ Scope details:
13
+ Returns Native Chat UIKit integration documentation for mobile IM app integration or chat-window embedding.
14
+
15
+ Common trigger lexicon:
7
16
  Native Chat UIKit, TUIKit, IM, 聊天, 会话列表, 聊天窗口, Flutter, Android, iOS, full-featured, chat-only, 客服, 问诊
8
17
 
9
- 输入:
18
+ Inputs:
10
19
  - framework: flutter | android | ios
11
20
  - goals: [full-featured] | [chat-only]
12
- - prompt: 用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要
21
+ - prompt: Original user question. Keep full context; do not compress into keyword summary.
13
22
 
14
- 返回:
15
- - content: [{ type: 'text', text: 文档正文或说明文本 }]
23
+ Outputs:
24
+ - content: [{ type: 'text', text: Documentation body or explanatory text }]
16
25
 
17
- 边界:
18
- - 当用户未明确平台或框架时,应先调用 'present_framework_choice'
19
- - 面向 Native Chat UIKit 整体集成,不负责平台选择或单功能深挖
26
+ Boundaries:
27
+ - If platform/framework is not specified, call 'present_framework_choice' first.
28
+ - Targets end-to-end Native Chat UIKit integration, not platform selection or deep single-feature exploration.
20
29
  ${INTEGRATION_BOUNDARY_SUFFIX}
21
30
  `;
22
31
  const PARAMETER_DESCRIPTIONS = {
23
- framework: '目标平台。参数名固定为 framework,禁止传 platform。可选值:flutter | android | ios。android/ios 为 codegen 主路径(Compose / SwiftUI);View/UIKit 集成查阅请用 search_trtc_knowledge。',
24
- goals: '功能目标数组。仅允许传一个值,可选值:full-featured(完整应用)| chat-only(单聊天窗口)。',
25
- prompt: '用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要。',
32
+ framework: 'Target platform. Parameter name must be framework (not platform). Allowed values: flutter | android | ios. Android/iOS are primary codegen paths (Compose/SwiftUI). For View/UIKit integration reference, use search_trtc_knowledge.',
33
+ goals: 'Goal list. Exactly one value is allowed: full-featured | chat-only.',
34
+ prompt: 'Original user question. Keep full context; do not compress into keyword summary.',
26
35
  };
27
36
  export const GET_NATIVE_CHAT_UIKIT_INTEGRATION_DEFINITION = {
28
37
  name: 'get_native_chat_uikit_integration',
@@ -1,35 +1,44 @@
1
1
  import { INTEGRATION_BOUNDARY_SUFFIX } from './integration-boundary.js';
2
2
  const TOOL_DESCRIPTION = `
3
- 用途:
4
- 返回基于 TUILiveKit 预制 UI 组件的 Native 视频直播集成文档,供 AI 完成移动端(Android / iOS)视频直播的开箱即用界面接入与代码生成。覆盖直播列表页(观众入口)、主播开播页、观众观看页,均为含完整交互 UI 与业务逻辑的预制组件(如 AnchorPrepareView、直播列表瀑布流视图等)。
3
+ Purpose:
4
+ Return Native TUILiveKit preset integration docs for explicit codegen implementation.
5
5
 
6
- 典型适用问题(共用触发词,可能同时命中 'get_native_livekit_core_integration' Core 工具):
6
+ When to call (MUST):
7
+ - User explicitly asks for runnable project integration code or concrete implementation steps.
8
+
9
+ When NOT to call:
10
+ - Pure feature Q&A, documentation lookup, API/component explanation, troubleshooting.
11
+
12
+ Scope details:
13
+ Returns Native video-live integration documentation based on TUILiveKit preset UI components, for mobile (Android/iOS) runnable code generation and integration. Coverage includes live list (audience entry), host streaming page, and audience viewing page with complete preset UI interactions and business flow.
14
+
15
+ Common trigger lexicon (may overlap with 'get_native_livekit_core_integration' Core tool):
7
16
  集成 LiveKit, 接入 TUILiveKit, 视频直播, 直播开播, 主播开播, 观众观看, 直播列表, 开播页, 观看页, 直播间列表, Android, iOS
8
- 命中以上共用触发词时,请**先主动追问用户**:"您希望使用默认直播界面快速集成(TUILiveKit preset),还是基于 Core SDK / AtomicXCore 自定义直播界面?" 用户选择"默认/preset"后再调用本工具;选择"自定义/Core"则调用 'get_native_livekit_core_integration'。
17
+ When only common triggers are hit, ask a clarification first: "Do you prefer preset default live UI (TUILiveKit) or custom live UI based on Core SDK/AtomicXCore?" Call this tool only after user chooses preset/default; if user chooses custom/Core, call 'get_native_livekit_core_integration'.
9
18
 
10
- 典型适用问题(preset 专属触发词,仅命中本工具,无需追问,直接调用):
19
+ Preset-only trigger lexicon (direct call, no clarification needed):
11
20
  TUILiveKit, Native TUILiveKit, Native Live UIKit, preset, preset 集成, 预制 UI, 预制开播页, 预制观看页, 预制直播列表, 默认直播界面, 开箱即用直播界面, 现成的开播页面, 直播界面已经有了, TUILiveKit Android, TUILiveKit iOS, AnchorPrepareView
12
21
 
13
- 输入:
22
+ Inputs:
14
23
  - framework: android | ios
15
- - goals: 功能模块列表(可多选,返回时按 直播列表→开播→观看 顺序组织)
16
- - prompt: 用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要
17
-
18
- 返回:
19
- - content: [{ type: 'text', text: 文档正文(含各平台通用的环境准备/依赖接入 + 所选功能页的集成步骤与代码)}]
20
-
21
- 边界:
22
- - 仅面向**视频直播(live)**场景。语聊房(voice / 语聊 / 音频房 / 麦位)**不在本工具范围**,如遇该需求请改用 'get_native_livekit_core_integration' 或告知用户暂不支持预制 UI
23
- - framework 仅支持 android | ios(TUILiveKit 视频直播预制 UI 暂无 flutter / uni-app 端文档,如遇该需求请改用 'get_native_livekit_core_integration' 或告知用户暂不支持)
24
- - 当用户未明确平台时,应先调用 'present_framework_choice'
25
- - 当用户已明示「自定义 UI」「Core SDK」「AtomicXCore」「LiveCoreView」「自己画直播页面」等 Core 专属触发词时,直接调用 'get_native_livekit_core_integration',不要走本工具
26
- - 面向主播开播 / 观众观看 / 直播列表整体页面集成,不负责连麦、PK、礼物、弹幕、美颜、音效等单功能扩展(这些请使用 'search_trtc_knowledge')
24
+ - goals: Feature module list (multi-select allowed; output is organized in order: live list -> host streaming -> audience viewing).
25
+ - prompt: Original user question. Keep full context; do not compress into keyword summary.
26
+
27
+ Outputs:
28
+ - content: [{ type: 'text', text: Documentation body (including platform-common setup/dependency steps plus integration steps and code for selected pages) }]
29
+
30
+ Boundaries:
31
+ - This tool is only for **video live (live)** scenario. Voice-room needs are out of scope; use 'get_native_livekit_core_integration' instead.
32
+ - framework supports android | ios only. There is no preset TUILiveKit doc for flutter/uni-app; for those needs, use 'get_native_livekit_core_integration'.
33
+ - If platform is missing, call 'present_framework_choice' first.
34
+ - If user explicitly indicates Core intent (e.g. custom UI / Core SDK / AtomicXCore / LiveCoreView / self-built live page), call 'get_native_livekit_core_integration' directly.
35
+ - Targets end-to-end pages (host streaming / audience viewing / live list), not single-feature extensions such as co-host, PK, gifts, danmaku, beauty, or audio effects (use 'search_trtc_knowledge' for those).
27
36
  ${INTEGRATION_BOUNDARY_SUFFIX}
28
37
  `;
29
38
  const PARAMETER_DESCRIPTIONS = {
30
- framework: '目标平台。参数名固定为 framework,禁止传 platform。可选值:android | ios。',
31
- goals: '功能列表(可多选)。可选值:live_list(直播列表页,观众入口)| host_streaming(主播开播页)| audience_streaming(观众观看页)。做完整移动端直播 App 通常需要 live_list + host_streaming + audience_streaming。',
32
- prompt: '用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要。',
39
+ framework: 'Target platform. Parameter name must be framework (not platform). Allowed values: android | ios.',
40
+ goals: 'Goal list (multi-select). Allowed values: live_list | host_streaming | audience_streaming. A complete mobile live app usually includes all three goals.',
41
+ prompt: 'Original user question. Keep full context; do not compress into keyword summary.',
33
42
  };
34
43
  export const GET_NATIVE_LIVE_UIKIT_INTEGRATION_DEFINITION = {
35
44
  name: 'get_native_live_uikit_integration',
@@ -1,31 +1,40 @@
1
1
  import { INTEGRATION_BOUNDARY_SUFFIX } from './integration-boundary.js';
2
2
  const TOOL_DESCRIPTION = `
3
- 用途:
4
- 返回基于 AtomicXCore SDK 的 Native LiveKit Core 基础集成文档,适合实现视频直播或语聊房的开播、观看和房间列表。视频直播场景重点覆盖主播开播、观众观看、直播列表;语聊房场景重点覆盖房主开房、听众进房、语聊房列表。
3
+ Purpose:
4
+ Return Native LiveKit Core integration docs for explicit codegen implementation.
5
5
 
6
- 典型适用问题:
6
+ When to call (MUST):
7
+ - User explicitly asks for runnable project integration code or concrete implementation steps.
8
+
9
+ When NOT to call:
10
+ - Pure feature Q&A, documentation lookup, API/component explanation, troubleshooting.
11
+
12
+ Scope details:
13
+ Returns Native LiveKit Core integration documentation based on AtomicXCore SDK, for implementing host start, audience viewing, and room list in video live or voice-room scenarios.
14
+
15
+ Common trigger lexicon:
7
16
  Native LiveKit Core, AtomicXCore, 无 UI SDK, Core SDK, 视频直播, 语聊房, 开播, 观看, 房间列表, Android, iOS, Flutter, uni-app, live, voice
8
17
 
9
- 输入:
18
+ Inputs:
10
19
  - scenario: live | voice
11
20
  - framework: android | ios | flutter | uni-app
12
- - goals: 功能模块列表
13
- - prompt: 用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要
21
+ - goals: Feature module list
22
+ - prompt: Original user question. Keep full context; do not compress into keyword summary.
14
23
 
15
- 返回:
16
- - content: [{ type: 'text', text: 文档正文或说明文本 }]
24
+ Outputs:
25
+ - content: [{ type: 'text', text: Documentation body or explanatory text }]
17
26
 
18
- 边界:
19
- - 当用户未明确平台或框架时,应先调用 'present_framework_choice'
20
- - 面向基于 AtomicXCore SDK 的视频直播或语聊房基础集成主路径,不负责连麦、PK、成员列表、美颜、音效、弹幕、礼物等功能扩展
21
- - 返回的是 Core/Store 级基础集成文档,不是完整预制 UIKit 页面模板
27
+ Boundaries:
28
+ - If platform/framework is not specified, call 'present_framework_choice' first.
29
+ - Targets baseline integration path for video live or voice room on AtomicXCore SDK, not feature extensions such as co-host, PK, member list, beauty, audio effects, danmaku, or gifts.
30
+ - Returns Core/Store-level baseline integration docs, not complete preset UIKit page templates.
22
31
  ${INTEGRATION_BOUNDARY_SUFFIX}
23
32
  `;
24
33
  const PARAMETER_DESCRIPTIONS = {
25
- scenario: '场景类型。可选值:live(视频直播)| voice(语聊房)。当需求是开播、观看、房间列表时使用 integration;当需求是连麦、PK、成员列表、美颜、音效、弹幕、礼物时请改用 search_trtc_knowledge 检索。',
26
- framework: '目标平台。参数名固定为 framework,禁止传 platform。可选值:android | ios | flutter | uni-app。',
27
- goals: '功能列表。可选值:host_streaming(主播/房主开播)| audience_streaming(观众/听众观看)| live_list(房间列表)。',
28
- prompt: '用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要。',
34
+ scenario: 'Scenario type. Allowed values: live | voice. Use this integration tool for host start / audience viewing / room list; for feature extensions (co-host, PK, member list, beauty, audio effects, danmaku, gifts), use search_trtc_knowledge.',
35
+ framework: 'Target platform. Parameter name must be framework (not platform). Allowed values: android | ios | flutter | uni-app.',
36
+ goals: 'Goals list. Allowed values: host_streaming | audience_streaming | live_list.',
37
+ prompt: 'Original user question. Keep full context; do not compress into keyword summary.',
29
38
  };
30
39
  export const GET_NATIVE_LIVEKIT_CORE_INTEGRATION_DEFINITION = {
31
40
  name: 'get_native_livekit_core_integration',
@@ -1,26 +1,33 @@
1
1
  const TOOL_DESCRIPTION = `
2
- 用途:
3
- 使用 MCP 环境变量中的 SDKAppID 和 secretKey 生成测试用 userSig,供 IM 或 TRTC 本地联调使用。
2
+ Purpose:
3
+ Generate a test userSig using SDKAppID and secretKey from MCP environment variables, for IM/TRTC local debugging.
4
4
 
5
- 典型适用问题:
6
- 为指定 userID 生成 userSig, 生成测试凭证, 本地联调凭证, userID 对应的 userSig, SDKAppID, secretKey, IM, TRTC, 登录凭证
5
+ When to call (MUST):
6
+ - User explicitly asks to generate userSig for a specific userID.
7
+ - User needs a test credential for IM/TRTC local integration debugging.
7
8
 
8
- 输入:
9
+ When NOT to call:
10
+ - User asks about userSig principles, production signing architecture, or security design.
11
+ - User does not provide a concrete userID yet.
12
+
13
+ Common trigger lexicon:
14
+ - 生成 userSig, 测试凭证, 本地联调凭证, userID 对应 userSig, IM 登录凭证, TRTC 登录凭证
15
+
16
+ Inputs:
9
17
  - userID
10
18
 
11
- 返回:
12
- - content: [{ type: 'text', text: userSig 结果或错误说明 }]
19
+ Outputs:
20
+ - content: [{ type: 'text', text: userSig result or error details }]
13
21
 
14
- 边界:
15
- - 面向已明确 userID 的测试凭证生成,不负责解释 userSig 原理、签发流程或生产鉴权方案
16
- - 仅用于开发测试
17
- - 生产环境应改为服务端签发
18
- - 如果环境变量缺失,需先补齐配置
22
+ Boundaries:
23
+ - This tool is for test credential generation only.
24
+ - Production should use server-side signing.
25
+ - If required environment variables are missing, return configuration guidance.
19
26
  `;
20
27
  export const GET_USERSIG_DEFINITION = {
21
28
  name: 'get_usersig',
22
29
  description: TOOL_DESCRIPTION,
23
30
  parameter_descriptions: {
24
- userID: '登录腾讯云应用的 userID',
31
+ userID: 'Target userID for Tencent Cloud app login.',
25
32
  },
26
33
  };
@@ -1,26 +1,35 @@
1
1
  import { INTEGRATION_BOUNDARY_SUFFIX } from './integration-boundary.js';
2
2
  const TOOL_DESCRIPTION = `
3
- 用途:
4
- 返回 Web TUICallKit preset 集成文档,适合实现 PC/H5 音视频通话应用。
3
+ Purpose:
4
+ Return Web TUICallKit preset integration docs for explicit codegen implementation.
5
5
 
6
- 典型适用问题:
6
+ When to call (MUST):
7
+ - User explicitly asks for runnable project integration code or concrete implementation steps.
8
+
9
+ When NOT to call:
10
+ - Pure feature Q&A, documentation lookup, API/component explanation, troubleshooting.
11
+
12
+ Scope details:
13
+ Returns Web TUICallKit preset integration documentation for PC/H5 audio-video calling applications.
14
+
15
+ Common trigger lexicon:
7
16
  Web Call UIKit, Web TUICallKit, TUICallKit, preset 集成, React, Vue, PC, H5, 音视频通话, 视频通话, 语音通话, 集成, 呼叫, 接听
8
17
 
9
- 输入:
18
+ Inputs:
10
19
  - framework: react | vue
11
- - prompt: 用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要
20
+ - prompt: Original user question. Keep full context; do not compress into keyword summary.
12
21
 
13
- 返回:
14
- - content: [{ type: 'text', text: 文档正文或说明文本 }]
22
+ Outputs:
23
+ - content: [{ type: 'text', text: Documentation body or explanatory text }]
15
24
 
16
- 边界:
17
- - 当用户未明确平台或框架时,应先调用 'present_framework_choice'
18
- - 面向 Web CallKit preset 整体集成,不负责 API 细节或交互式框架选择
25
+ Boundaries:
26
+ - If platform/framework is not specified, call 'present_framework_choice' first.
27
+ - Targets end-to-end Web CallKit preset integration, not API-level details or interactive framework selection.
19
28
  ${INTEGRATION_BOUNDARY_SUFFIX}
20
29
  `;
21
30
  const PARAMETER_DESCRIPTIONS = {
22
- framework: '目标框架。参数名固定为 framework,禁止传 platform。可选值:react | vue。',
23
- prompt: '用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要。',
31
+ framework: 'Target framework. Parameter name must be framework (not platform). Allowed values: react | vue.',
32
+ prompt: 'Original user question. Keep full context; do not compress into keyword summary.',
24
33
  };
25
34
  export const GET_WEB_CALL_UIKIT_INTEGRATION_DEFINITION = {
26
35
  name: 'get_web_call_uikit_integration',
@@ -1,28 +1,37 @@
1
1
  import { INTEGRATION_BOUNDARY_SUFFIX } from './integration-boundary.js';
2
2
  const TOOL_DESCRIPTION = `
3
- 用途:
4
- 返回 Web Chat UIKit 集成文档,适合实现完整聊天应用或单聊天窗口接入。
3
+ Purpose:
4
+ Return Web Chat UIKit integration docs for explicit codegen implementation.
5
5
 
6
- 典型适用问题:
6
+ When to call (MUST):
7
+ - User explicitly asks for runnable project integration code or concrete implementation steps.
8
+
9
+ When NOT to call:
10
+ - Pure feature Q&A, documentation lookup, API/component explanation, troubleshooting.
11
+
12
+ Scope details:
13
+ Returns Web Chat UIKit integration documentation for full-featured chat app or chat-only widget embedding.
14
+
15
+ Common trigger lexicon:
7
16
  Web Chat UIKit, TUIKit, IM, 聊天, 会话列表, 聊天窗口, React, Vue, full-featured, chat-only, 客服, 问诊, 消息入口
8
17
 
9
- 输入:
18
+ Inputs:
10
19
  - framework: react | vue
11
20
  - goals: [full-featured] | [chat-only]
12
- - prompt: 用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要
21
+ - prompt: Original user question. Keep full context; do not compress into keyword summary.
13
22
 
14
- 返回:
15
- - content: [{ type: 'text', text: 文档正文或说明文本 }]
23
+ Outputs:
24
+ - content: [{ type: 'text', text: Documentation body or explanatory text }]
16
25
 
17
- 边界:
18
- - 当用户未明确平台或框架时,应先调用 'present_framework_choice'
19
- - 面向 Web Chat UIKit 整体集成,不负责组件级细节或交互式框架选择
26
+ Boundaries:
27
+ - If platform/framework is not specified, call 'present_framework_choice' first.
28
+ - Targets end-to-end Web Chat UIKit integration, not component-level details or interactive framework selection.
20
29
  ${INTEGRATION_BOUNDARY_SUFFIX}
21
30
  `;
22
31
  const PARAMETER_DESCRIPTIONS = {
23
- framework: '目标框架。参数名固定为 framework,禁止传 platform。可选值:react | vue。',
24
- goals: '功能目标数组。仅允许传一个值,可选值:full-featured(完整应用)| chat-only(单聊天窗口)。',
25
- prompt: '用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要。',
32
+ framework: 'Target framework. Parameter name must be framework (not platform). Allowed values: react | vue.',
33
+ goals: 'Goal list. Exactly one value is allowed: full-featured | chat-only.',
34
+ prompt: 'Original user question. Keep full context; do not compress into keyword summary.',
26
35
  };
27
36
  export const GET_WEB_CHAT_UIKIT_INTEGRATION_DEFINITION = {
28
37
  name: 'get_web_chat_uikit_integration',
@@ -1,25 +1,34 @@
1
1
  import { INTEGRATION_BOUNDARY_SUFFIX } from './integration-boundary.js';
2
2
  const TOOL_DESCRIPTION = `
3
- 用途:
4
- 返回 Web Live UIKit 页面级集成文档,适合接入直播列表页、观看页、开播页和连麦入口页。
3
+ Purpose:
4
+ Return Web Live UIKit integration docs for explicit codegen implementation.
5
5
 
6
- 典型适用问题:
6
+ When to call (MUST):
7
+ - User explicitly asks for runnable project integration code or concrete implementation steps.
8
+
9
+ When NOT to call:
10
+ - Pure feature Q&A, documentation lookup, API/component explanation, troubleshooting.
11
+
12
+ Scope details:
13
+ Returns Web Live UIKit page-level integration documentation for live list, player, pusher, and co-guest entry pages.
14
+
15
+ Common trigger lexicon:
7
16
  Web Live UIKit, TUILiveUIKit, Vue, 页面级集成, 页面接入, 列表页, 观看页, 开播页, liveList, livePlayer-desk, livePlayer-h5, livePusher
8
17
 
9
- 输入:
10
- - goals: 功能列表
11
- - prompt: 用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要
18
+ Inputs:
19
+ - goals: Feature list
20
+ - prompt: Original user question. Keep full context; do not compress into keyword summary.
12
21
 
13
- 返回:
14
- - content: [{ type: 'text', text: 文档正文或说明文本 }]
22
+ Outputs:
23
+ - content: [{ type: 'text', text: Documentation body or explanatory text }]
15
24
 
16
- 边界:
17
- - 当前主要面向 Web Vue 页面级接入,不负责 State API 字段方法或单组件详解
25
+ Boundaries:
26
+ - Primarily targets Web Vue page-level integration, not State API field/method deep dives or single-component details.
18
27
  ${INTEGRATION_BOUNDARY_SUFFIX}
19
28
  `;
20
29
  const PARAMETER_DESCRIPTIONS = {
21
- goals: '功能列表。可选值:liveList | livePlayer-desk | livePlayer-h5 | livePusher。',
22
- prompt: '用户的原始问题全文,保留完整上下文,不要压缩成关键词摘要。',
30
+ goals: 'Goals list. Allowed values: liveList | livePlayer-desk | livePlayer-h5 | livePusher。',
31
+ prompt: 'Original user question. Keep full context; do not compress into keyword summary.',
23
32
  };
24
33
  export const GET_WEB_LIVE_UIKIT_INTEGRATION_DEFINITION = {
25
34
  name: 'get_web_live_uikit_integration',