@tencent-rtc/trtc-agent-skills 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/CLAUDE.md +1 -1
- package/CODEBUDDY.md +1 -1
- package/README.md +12 -76
- package/README.zh.md +12 -72
- package/bin/cli.js +200 -46
- package/knowledge-base/conference/web/index.yaml +6 -6
- package/knowledge-base/slices/conference/web/official-roomkit-api.md +119 -8
- package/package.json +1 -1
- package/skills/trtc/SKILL.md +97 -11
- package/skills/trtc-ai-oral-coach/README.ja.md +131 -0
- package/skills/trtc-ai-oral-coach/README.md +132 -0
- package/skills/trtc-ai-oral-coach/README.zh-CN.md +131 -0
- package/skills/trtc-ai-oral-coach/SKILL.md +398 -0
- package/skills/trtc-ai-oral-coach/auto_adapters/integration_templates/custom-learning-kb-sample.md +88 -0
- package/skills/trtc-ai-oral-coach/auto_adapters/integration_templates/generic-integration.md +104 -0
- package/skills/trtc-ai-oral-coach/auto_adapters/manifest.yaml +27 -0
- package/skills/trtc-ai-oral-coach/auto_adapters/python/README.md +49 -0
- package/skills/trtc-ai-oral-coach/auto_adapters/python/coach_client.py.tpl +185 -0
- package/skills/trtc-ai-oral-coach/auto_adapters/web/README.md +46 -0
- package/skills/trtc-ai-oral-coach/auto_adapters/web/oral-coach-client.js.tpl +210 -0
- package/skills/trtc-ai-oral-coach/capabilities/ability-report/manifest.yaml +52 -0
- package/skills/trtc-ai-oral-coach/capabilities/ability-report/src/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/ability-report/src/adapters/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/ability-report/src/adapters/default.py +177 -0
- package/skills/trtc-ai-oral-coach/capabilities/ability-report/src/handler.py +29 -0
- package/skills/trtc-ai-oral-coach/capabilities/ability-report/src/router.py +23 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/.env.example +59 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/manifest.yaml +46 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/requirements.txt +6 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/TLSSigAPIv2.py +275 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/_capability_loader.py +227 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/agent.py +197 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/config.py +149 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/core/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/core/report_llm.py +129 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/health.py +36 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/server.py +205 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/trtc_client.py +86 -0
- package/skills/trtc-ai-oral-coach/capabilities/conversation-core/src/usersig.py +33 -0
- package/skills/trtc-ai-oral-coach/capabilities/custom-learning-kb/manifest.yaml +65 -0
- package/skills/trtc-ai-oral-coach/capabilities/custom-learning-kb/src/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/custom-learning-kb/src/adapters/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/custom-learning-kb/src/adapters/clients.py +126 -0
- package/skills/trtc-ai-oral-coach/capabilities/custom-learning-kb/src/ports.py +46 -0
- package/skills/trtc-ai-oral-coach/capabilities/custom-learning-kb/src/router.py +27 -0
- package/skills/trtc-ai-oral-coach/capabilities/quick-correct/manifest.yaml +48 -0
- package/skills/trtc-ai-oral-coach/capabilities/quick-correct/src/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/quick-correct/src/adapters/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/quick-correct/src/adapters/default.py +106 -0
- package/skills/trtc-ai-oral-coach/capabilities/quick-correct/src/handler.py +33 -0
- package/skills/trtc-ai-oral-coach/capabilities/quick-correct/src/router.py +23 -0
- package/skills/trtc-ai-oral-coach/capabilities/reply-suggestion/manifest.yaml +49 -0
- package/skills/trtc-ai-oral-coach/capabilities/reply-suggestion/src/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/reply-suggestion/src/adapters/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/reply-suggestion/src/adapters/default.py +86 -0
- package/skills/trtc-ai-oral-coach/capabilities/reply-suggestion/src/handler.py +29 -0
- package/skills/trtc-ai-oral-coach/capabilities/reply-suggestion/src/router.py +23 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/data/practice-scenarios.json +500 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/manifest.yaml +54 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/src/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/src/adapters/__init__.py +2 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/src/adapters/default.py +113 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/src/compose.py +143 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/src/defaults.py +140 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/src/handler.py +29 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/src/router.py +22 -0
- package/skills/trtc-ai-oral-coach/capabilities/scenario-roleplay/src/scenario_source.py +179 -0
- package/skills/trtc-ai-oral-coach/references/design-specs.md +36 -0
- package/skills/trtc-ai-oral-coach/references/evaluator-port.md +75 -0
- package/skills/trtc-ai-oral-coach/scenarios/speaking-coach/recipe.yaml +86 -0
- package/skills/trtc-ai-oral-coach/scenarios/speaking-coach/ui/avatars/friend.png +0 -0
- package/skills/trtc-ai-oral-coach/scenarios/speaking-coach/ui/avatars/listener.png +0 -0
- package/skills/trtc-ai-oral-coach/scenarios/speaking-coach/ui/avatars/local.png +0 -0
- package/skills/trtc-ai-oral-coach/scenarios/speaking-coach/ui/coach.html +1986 -0
- package/skills/trtc-ai-oral-coach/scenarios/speaking-coach/ui/i18n.js +323 -0
- package/skills/trtc-ai-oral-coach/scenarios/speaking-coach/ui/practice-scenarios.json +500 -0
- package/skills/trtc-ai-oral-coach/scenarios/speaking-coach/ui/tokens.css +100 -0
- package/skills/trtc-ai-oral-coach/scripts/add-capability.py +256 -0
- package/skills/trtc-ai-oral-coach/scripts/verify-credentials.py +96 -0
- package/skills/trtc-ai-oral-coach/start.sh +59 -0
- package/skills/trtc-ai-oral-coach/triggers.yaml +32 -0
- package/skills/trtc-ai-realtime-interpreter/README.ja.md +197 -0
- package/skills/trtc-ai-realtime-interpreter/README.md +197 -0
- package/skills/trtc-ai-realtime-interpreter/README.zh-CN.md +197 -0
- package/skills/trtc-ai-realtime-interpreter/SKILL.md +748 -0
- package/skills/trtc-ai-realtime-interpreter/auto_adapters/integration_templates/generic-rest-api.md +85 -0
- package/skills/trtc-ai-realtime-interpreter/auto_adapters/integration_templates/room-owner-authz-note.md +53 -0
- package/skills/trtc-ai-realtime-interpreter/auto_adapters/manifest.yaml +49 -0
- package/skills/trtc-ai-realtime-interpreter/auto_adapters/python/README.md +11 -0
- package/skills/trtc-ai-realtime-interpreter/auto_adapters/python/fastapi_reverse_proxy.py.tpl +84 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/.env.example +17 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/frontend/silent-listener.ts +91 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/manifest.yaml +110 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/requirements.txt +5 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/__init__.py +0 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/_capability_loader.py +89 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/agent.py +153 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/credentials.py +112 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/health.py +218 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/log_filter.py +33 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/server.py +266 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/trtc_client.py +188 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/conversation-core/src/usersig.py +53 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/meeting-ops/README.md +46 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/meeting-ops/manifest.yaml +63 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/meeting-ops/src/__init__.py +0 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/meeting-ops/src/fanout.py +149 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/meeting-ops/src/router.py +83 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/realtime-translation/frontend/subtitle-parser.ts +145 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/realtime-translation/manifest.yaml +68 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/realtime-translation/src/__init__.py +0 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/realtime-translation/src/modes.py +73 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/realtime-translation/src/router.py +83 -0
- package/skills/trtc-ai-realtime-interpreter/capabilities/realtime-translation/src/service.py +77 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/README.md +23 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/backend/app/__init__.py +0 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/backend/app/server.py +277 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/backend/requirements.txt +5 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/backend/start.sh +28 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/recipe.yaml +72 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/index.html +12 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/legacy/index.html +738 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/package-lock.json +4302 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/package.json +33 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/postcss.config.js +6 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/App.vue +18 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/api/backend.ts +82 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/SetupScreen.vue +362 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/SummaryScreen.vue +203 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/conference/ChatPanel.vue +188 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/conference/ConferenceRoom.vue +453 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/conference/ParticipantViewUI.vue +170 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/conference/PeoplePanel.vue +206 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/conference/SidePanel.vue +77 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/conference/Toolbar.vue +371 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/conference/TopBar.vue +310 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/components/conference/TranscriptPanel.vue +225 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/composables/useAiInterpreter.ts +263 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/composables/useConference.ts +98 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/env.d.ts +7 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/main.ts +5 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/store.ts +103 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/src/style.css +19 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/tailwind.config.js +25 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/tsconfig.json +25 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/tsconfig.node.json +10 -0
- package/skills/trtc-ai-realtime-interpreter/scenarios/meeting-interpreter/ui/vite.config.ts +26 -0
- package/skills/trtc-ai-realtime-interpreter/scripts/add-capability.py +163 -0
- package/skills/trtc-ai-realtime-interpreter/scripts/deploy-demo.sh +64 -0
- package/skills/trtc-ai-realtime-interpreter/scripts/lib/__init__.py +0 -0
- package/skills/trtc-ai-realtime-interpreter/scripts/lib/credential_validators.py +143 -0
- package/skills/trtc-ai-realtime-interpreter/scripts/lib/manifest_resolver.py +60 -0
- package/skills/trtc-ai-realtime-interpreter/scripts/lib/stack_detector.py +50 -0
- package/skills/trtc-ai-realtime-interpreter/scripts/post-install-patch.py +79 -0
- package/skills/trtc-ai-realtime-interpreter/scripts/verify-credentials.py +76 -0
- package/skills/trtc-ai-realtime-interpreter/start.sh +85 -0
- package/skills/trtc-ai-realtime-interpreter/triggers.yaml +29 -0
- package/skills/trtc-ai-service/README.ja.md +18 -35
- package/skills/trtc-ai-service/README.md +18 -35
- package/skills/trtc-ai-service/README.zh-CN.md +18 -35
- package/skills/trtc-ai-service/SKILL.md +194 -124
- package/skills/trtc-ai-service/capabilities/conversation-core/src/credentials.py +1 -1
- package/skills/trtc-chat/SKILL.md +1 -1
- package/skills/trtc-chat/docs/SKILL.md +1 -1
- package/skills/trtc-conference/flows/onboarding.md +6 -0
- package/skills/trtc-conference/flows/topic.md +6 -2
- package/skills/trtc-conference/playbooks/official-roomkit.md +3 -1
- package/skills/trtc-conference/tests/test_conference_index_contract.py +16 -0
- package/skills/trtc-conference/tests/test_conference_onboarding_contract.py +9 -0
- package/skills/trtc-conference/tests/test_conference_topic_flow_contract.py +16 -0
- package/skills/trtc-push/SKILL.md +118 -0
- package/skills/trtc-push/issues/ROUTER.json +429 -0
- package/skills/trtc-push/issues/cards/android/fcm-gms-domestic.md +53 -0
- package/skills/trtc-push/issues/cards/android/vendor-huawei.md +72 -0
- package/skills/trtc-push/issues/cards/common/console-certificate-quota.md +46 -0
- package/skills/trtc-push/issues/cards/common/registration-binding.md +67 -0
- package/skills/trtc-push/issues/cards/ios/aps-environment-3000.md +55 -0
- package/skills/trtc-push/issues/cards/ios/certificate-businessid.md +56 -0
- package/skills/trtc-push/issues/cards/ios/xcodegen-cocoapods-module.md +54 -0
- package/skills/trtc-push/issues/flows/android/delivered-not-displayed.md +52 -0
- package/skills/trtc-push/issues/flows/android/vendor-not-received.md +57 -0
- package/skills/trtc-push/issues/flows/common/badge.md +49 -0
- package/skills/trtc-push/issues/flows/common/console-product-limits.md +48 -0
- package/skills/trtc-push/issues/flows/common/server-api.md +51 -0
- package/skills/trtc-push/issues/flows/cross-platform/harmonyos.md +51 -0
- package/skills/trtc-push/issues/flows/cross-platform/uniapp-integration.md +57 -0
- package/skills/trtc-push/issues/flows/ios/offline-not-received.md +57 -0
- package/skills/trtc-push/references/code-templates.md +386 -0
- package/skills/trtc-push/references/hard-rules.md +112 -0
- package/skills/trtc-push/references/timpush-sdk-api.md +72 -0
- package/skills/trtc-push/references/workflow-protocol.md +82 -0
- /package/.cursor/rules/{main.mdc → ui-mode.mdc} +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
"""三把钥匙免密校验脚本(AI 驱动配置流程的"原子工具")。
|
|
4
|
+
|
|
5
|
+
流程:
|
|
6
|
+
1. AI 把用户贴过来的密钥用 write_to_file 写进 capabilities/conversation-core/.env
|
|
7
|
+
2. AI 调用 `python3 scripts/verify-credentials.py [--type tencent|trtc|llm]`
|
|
8
|
+
3. 本脚本只从 .env / 环境变量读取,绝不接受任何密钥作为命令行参数
|
|
9
|
+
4. 输出结构化 JSON 到 stdout;AI 解析后按 SKILL.md 里的错误码表回应用户
|
|
10
|
+
|
|
11
|
+
输出格式(始终是合法 JSON):
|
|
12
|
+
单项: {"ok": true, "type": "tencent", "error": "", "message": "...", "latency_ms": 320}
|
|
13
|
+
单项: {"ok": false, "type": "trtc", "error": "E002", "message": "...", "latency_ms": 0}
|
|
14
|
+
批量: {"ok": true, "type": "all", "items": [ ... ]}
|
|
15
|
+
|
|
16
|
+
退出码:0 表示全部通过;非 0 表示至少一项失败。
|
|
17
|
+
|
|
18
|
+
安全红线:
|
|
19
|
+
- 绝不接受命令行参数传入密钥
|
|
20
|
+
- 绝不把密钥明文回显到 stdout/stderr
|
|
21
|
+
- .env 权限(600)由写入方设置,本脚本不重复处理
|
|
22
|
+
"""
|
|
23
|
+
from __future__ import annotations
|
|
24
|
+
|
|
25
|
+
import argparse
|
|
26
|
+
import json
|
|
27
|
+
import sys
|
|
28
|
+
import warnings
|
|
29
|
+
from pathlib import Path
|
|
30
|
+
|
|
31
|
+
warnings.filterwarnings("ignore")
|
|
32
|
+
|
|
33
|
+
_HERE = Path(__file__).resolve().parent
|
|
34
|
+
if str(_HERE) not in sys.path:
|
|
35
|
+
sys.path.insert(0, str(_HERE))
|
|
36
|
+
|
|
37
|
+
from lib import credential_validators as cv # noqa: E402
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def _print_json(data: dict) -> None:
|
|
41
|
+
sys.stdout.write(json.dumps(data, ensure_ascii=False))
|
|
42
|
+
sys.stdout.write("\n")
|
|
43
|
+
sys.stdout.flush()
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def main(argv=None) -> int:
|
|
47
|
+
parser = argparse.ArgumentParser(prog="verify-credentials", description="三把钥匙免密校验(只从 .env 读取,输出结构化 JSON)")
|
|
48
|
+
parser.add_argument("--type", choices=["tencent", "trtc", "llm", "all"], default="all", help="只校验单个钥匙;默认全部")
|
|
49
|
+
parser.add_argument("--no-deep", action="store_true", help="TRTC 跳过深度 OpenAPI 校验,只做本地 UserSig 自洽检查")
|
|
50
|
+
parser.add_argument("--env-file", default="", help="可选:指定 .env 路径(默认 capabilities/conversation-core/.env)")
|
|
51
|
+
args = parser.parse_args(argv)
|
|
52
|
+
|
|
53
|
+
cv.load_dotenv(Path(args.env_file) if args.env_file else None)
|
|
54
|
+
|
|
55
|
+
if args.type == "tencent":
|
|
56
|
+
result = cv.validate_tencent()
|
|
57
|
+
_print_json(result.to_dict())
|
|
58
|
+
return 0 if result.ok else 1
|
|
59
|
+
|
|
60
|
+
if args.type == "trtc":
|
|
61
|
+
result = cv.validate_trtc(deep=not args.no_deep)
|
|
62
|
+
_print_json(result.to_dict())
|
|
63
|
+
return 0 if result.ok else 1
|
|
64
|
+
|
|
65
|
+
if args.type == "llm":
|
|
66
|
+
result = cv.validate_llm()
|
|
67
|
+
_print_json(result.to_dict())
|
|
68
|
+
return 0 if result.ok else 1
|
|
69
|
+
|
|
70
|
+
batch = cv.validate_all()
|
|
71
|
+
_print_json(batch.to_dict())
|
|
72
|
+
return 0 if batch.ok else 1
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
if __name__ == "__main__":
|
|
76
|
+
sys.exit(main())
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# =====================================================================
|
|
3
|
+
# conversation-core 独立启动脚本(Path B 端到端验证用)
|
|
4
|
+
#
|
|
5
|
+
# 只拉起骨架服务(conversation-core + 已安装的能力包路由),不含任何场景 UI。
|
|
6
|
+
# Path A 的完整体验 demo 请用 scenarios/meeting-interpreter/backend/start.sh。
|
|
7
|
+
#
|
|
8
|
+
# 用法:
|
|
9
|
+
# ./start.sh # HTTP 启动(默认端口 8020)
|
|
10
|
+
# ./start.sh --port 8080 # 自定义端口
|
|
11
|
+
# ./start.sh --rebuild # 强制重建 venv
|
|
12
|
+
# =====================================================================
|
|
13
|
+
set -e
|
|
14
|
+
|
|
15
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
16
|
+
cd "$SCRIPT_DIR"
|
|
17
|
+
|
|
18
|
+
CORE_DIR="$SCRIPT_DIR/capabilities/conversation-core"
|
|
19
|
+
ENV_FILE="$CORE_DIR/.env"
|
|
20
|
+
REQUIREMENTS="$CORE_DIR/requirements.txt"
|
|
21
|
+
VENV_DIR="$SCRIPT_DIR/.venv"
|
|
22
|
+
MIN_PY_MAJOR=3; MIN_PY_MINOR=9
|
|
23
|
+
PORT=8020; REBUILD=0
|
|
24
|
+
|
|
25
|
+
if [ -t 1 ]; then
|
|
26
|
+
GREEN='\033[0;32m'; YELLOW='\033[1;33m'; RED='\033[0;31m'; CYAN='\033[0;36m'; NC='\033[0m'
|
|
27
|
+
else GREEN=''; YELLOW=''; RED=''; CYAN=''; NC=''; fi
|
|
28
|
+
log() { printf "${CYAN}[%s]${NC} %s\n" "$(date +%H:%M:%S)" "$*"; }
|
|
29
|
+
ok() { printf "${GREEN}✓${NC} %s\n" "$*"; }
|
|
30
|
+
warn() { printf "${YELLOW}⚠${NC} %s\n" "$*"; }
|
|
31
|
+
die() { printf "${RED}✗${NC} %s\n" "$*" >&2; exit 1; }
|
|
32
|
+
|
|
33
|
+
while [ $# -gt 0 ]; do
|
|
34
|
+
case "$1" in
|
|
35
|
+
--rebuild) REBUILD=1 ;;
|
|
36
|
+
--port) shift; PORT="$1" ;;
|
|
37
|
+
--help|-h) sed -n '2,15p' "${BASH_SOURCE[0]}" | sed 's/^# \{0,1\}//'; exit 0 ;;
|
|
38
|
+
*) warn "忽略未知参数: $1" ;;
|
|
39
|
+
esac
|
|
40
|
+
shift
|
|
41
|
+
done
|
|
42
|
+
|
|
43
|
+
[ -f "$ENV_FILE" ] || die ".env not found: $ENV_FILE\n 请先按 SKILL.md 完成三把钥匙配置;\n 或手动: cp $CORE_DIR/.env.example $ENV_FILE 后填写"
|
|
44
|
+
|
|
45
|
+
PY_CMD=""
|
|
46
|
+
for cand in python3.12 python3.11 python3.10 python3.9 python3 python; do
|
|
47
|
+
if command -v "$cand" >/dev/null 2>&1; then
|
|
48
|
+
VER=$("$cand" -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")' 2>/dev/null || echo "0.0")
|
|
49
|
+
MAJOR=$(echo "$VER" | cut -d. -f1); MINOR=$(echo "$VER" | cut -d. -f2)
|
|
50
|
+
if [ "$MAJOR" -gt "$MIN_PY_MAJOR" ] || { [ "$MAJOR" -eq "$MIN_PY_MAJOR" ] && [ "$MINOR" -ge "$MIN_PY_MINOR" ]; }; then
|
|
51
|
+
PY_CMD="$cand"; ok "Python $VER -> $(command -v "$cand")"; break
|
|
52
|
+
fi
|
|
53
|
+
fi
|
|
54
|
+
done
|
|
55
|
+
[ -z "$PY_CMD" ] && die "未检测到 Python >= ${MIN_PY_MAJOR}.${MIN_PY_MINOR}"
|
|
56
|
+
|
|
57
|
+
[ "$REBUILD" -eq 1 ] && [ -d "$VENV_DIR" ] && { warn "重建 venv..."; rm -rf "$VENV_DIR"; }
|
|
58
|
+
NEED_INSTALL=0
|
|
59
|
+
if [ ! -d "$VENV_DIR" ]; then
|
|
60
|
+
log "创建虚拟环境..."
|
|
61
|
+
"$PY_CMD" -m venv "$VENV_DIR" || die "venv 创建失败(Linux 可能需要: apt install python3-venv)"
|
|
62
|
+
NEED_INSTALL=1
|
|
63
|
+
fi
|
|
64
|
+
# shellcheck disable=SC1091
|
|
65
|
+
source "$VENV_DIR/bin/activate"
|
|
66
|
+
VENV_PY="$VENV_DIR/bin/python"; VENV_PIP="$VENV_DIR/bin/pip"
|
|
67
|
+
|
|
68
|
+
[ "$NEED_INSTALL" -eq 0 ] && ! "$VENV_PY" -c "import fastapi, uvicorn, requests, dotenv, pydantic" 2>/dev/null && NEED_INSTALL=1
|
|
69
|
+
if [ "$NEED_INSTALL" -eq 1 ]; then
|
|
70
|
+
log "安装依赖..."
|
|
71
|
+
"$VENV_PIP" install --upgrade pip >/dev/null 2>&1 || true
|
|
72
|
+
if "$VENV_PIP" install -r "$REQUIREMENTS" -i "https://pypi.tuna.tsinghua.edu.cn/simple" --timeout 15 >/dev/null 2>&1; then
|
|
73
|
+
ok "依赖安装完成(清华镜像)"
|
|
74
|
+
else
|
|
75
|
+
warn "镜像源失败,切换官方源..."
|
|
76
|
+
"$VENV_PIP" install -r "$REQUIREMENTS" >/dev/null || die "依赖安装失败"
|
|
77
|
+
ok "依赖安装完成(官方源)"
|
|
78
|
+
fi
|
|
79
|
+
else ok "依赖已就位"; fi
|
|
80
|
+
|
|
81
|
+
printf "%b🚀 启动 conversation-core: http://localhost:%s%b (Ctrl+C 停止)\n" "$GREEN" "$PORT" "$NC"
|
|
82
|
+
|
|
83
|
+
cd "$CORE_DIR"
|
|
84
|
+
export HOST="${HOST:-0.0.0.0}"; export PORT="$PORT"
|
|
85
|
+
exec "$VENV_PY" -m uvicorn src.server:app --host "$HOST" --port "$PORT"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# trtc-ai-realtime-interpreter trigger word registry
|
|
2
|
+
#
|
|
3
|
+
# Documentation only — routing logic is inlined in SKILL.md frontmatter.
|
|
4
|
+
# Do NOT reference this file as a runtime routing dependency.
|
|
5
|
+
#
|
|
6
|
+
# Purpose: single source of truth for what triggers the interpreter fast-path,
|
|
7
|
+
# so edits happen here and get back-ported to SKILL.md manually.
|
|
8
|
+
|
|
9
|
+
triggers:
|
|
10
|
+
include:
|
|
11
|
+
# Chinese
|
|
12
|
+
- "实时翻译"
|
|
13
|
+
- "AI 翻译"
|
|
14
|
+
- "AI翻译"
|
|
15
|
+
- "同声传译"
|
|
16
|
+
- "会议翻译"
|
|
17
|
+
- "TRTC 翻译"
|
|
18
|
+
- "TRTC翻译"
|
|
19
|
+
- "会议实时翻译"
|
|
20
|
+
- "跨语言会议"
|
|
21
|
+
- "多语言会议"
|
|
22
|
+
# English
|
|
23
|
+
- "real-time interpreter"
|
|
24
|
+
- "real-time translation"
|
|
25
|
+
- "AI interpreter"
|
|
26
|
+
- "TRTC Conversational AI"
|
|
27
|
+
- "meeting interpreter"
|
|
28
|
+
- "live translation"
|
|
29
|
+
- "simultaneous interpretation"
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
## デモ
|
|
8
8
|
|
|
9
|
-
https://github.com/user-attachments/assets/
|
|
9
|
+
https://github.com/user-attachments/assets/a2ad1d81-7282-42d1-b5ae-a0b9ec73933b
|
|
10
10
|
|
|
11
11
|
## Tencent RTC について
|
|
12
12
|
|
|
13
|
-
[Tencent RTC](https://trtc.io)(リアルタイムコミュニケーション)は、世界中の数千の企業にリアルタイムの音声、ビデオ、会話型 AI 体験を提供しています。200以上の国と地域をカバーするグローバルエッジネットワークにより、TRTCは大規模で300ms未満の超低遅延を実現します。
|
|
13
|
+
[Tencent RTC](https://trtc.io/?utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=HIzH2eVJ)(リアルタイムコミュニケーション)は、世界中の数千の企業にリアルタイムの音声、ビデオ、会話型 AI 体験を提供しています。200以上の国と地域をカバーするグローバルエッジネットワークにより、TRTCは大規模で300ms未満の超低遅延を実現します。
|
|
14
14
|
|
|
15
15
|
**Conversational AI** 機能により、開発者は聞き取り、理解し、自然に応答できる音声エージェントを構築できます——カスタマーサービス、販売支援、インテリジェントなセルフサービスシナリオに最適です。
|
|
16
16
|
|
|
@@ -52,44 +52,23 @@ AI(すべて自動実行):
|
|
|
52
52
|
|
|
53
53
|
### インストール
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
`npx` でインストール — 任意の IDE で動作し、プラグインマーケットプレイスは不要です。プロジェクトディレクトリ内で実行してください:
|
|
56
56
|
|
|
57
|
-
**ユーザーレベル**(推奨 — すべてのプロジェクトで利用可能):
|
|
58
57
|
```bash
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
**プロジェクトレベル**(現在のプロジェクトのみ利用可能):
|
|
63
|
-
```bash
|
|
64
|
-
# Skill は ./.codex/skills/ にインストールされます(Finder で隠しフォルダを表示するには Cmd+Shift+.)
|
|
65
|
-
/skills install --project https://github.com/Tencent-RTC/agent-skills
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
#### Claude Code CLI
|
|
69
|
-
|
|
70
|
-
**ユーザーレベル**(推奨 — すべてのプロジェクトで利用可能):
|
|
71
|
-
```bash
|
|
72
|
-
mkdir -p ~/.claude/skills
|
|
73
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git ~/.claude/skills/agent-skills
|
|
74
|
-
```
|
|
58
|
+
# デフォルト — インストール済みの IDE(~/.{claude,cursor,codebuddy,codex}/)を自動検出し、
|
|
59
|
+
# 検出された各 IDE にインストールします。検出されない場合は claude にフォールバックします
|
|
60
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add
|
|
75
61
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
mkdir -p ./.claude/skills
|
|
79
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git ./.claude/skills/agent-skills
|
|
80
|
-
```
|
|
62
|
+
# すべてのサポート対象 IDE に強制インストール(インストールしていない IDE も含む)
|
|
63
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide all
|
|
81
64
|
|
|
82
|
-
|
|
65
|
+
# 特定の IDE のみにインストール
|
|
66
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide cursor
|
|
83
67
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git
|
|
87
|
-
# そしてエージェントにこう伝えます:
|
|
88
|
-
# "Load the Skill from /path/to/agent-skills/skills/trtc-ai-service/SKILL.md"
|
|
68
|
+
# 再インストール前に以前のインストールをクリーンアップ
|
|
69
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --clean
|
|
89
70
|
```
|
|
90
71
|
|
|
91
|
-
> **インストール後、CLI セッションを再起動**して、Skill が正しく登録・ロードされることを確認してください。
|
|
92
|
-
|
|
93
72
|
### トリガーキーワード
|
|
94
73
|
|
|
95
74
|
- "AI customer service" / "build customer service" / "customer service bot"
|
|
@@ -104,8 +83,8 @@ git clone https://github.com/Tencent-RTC/agent-skills.git
|
|
|
104
83
|
|
|
105
84
|
| キー | 目的 | 入手先 |
|
|
106
85
|
|-----|---------|-----------------|
|
|
107
|
-
| キー 1:TRTC アプリケーション認証情報 | エージェントが通話や音声チャットを実行可能にします | https://console.trtc.io/?quickclaim=engine_trial(登録して **RTC Engine** アプリを作成 — Conversational AI 対応) |
|
|
108
|
-
| キー 2:Tencent Cloud API キー | Tencent Cloud 音声・通話サービスを使用する権限を証明します(TRTC アカウントとログインが同期されます) | https://console.tencentcloud.com/cam/capi |
|
|
86
|
+
| キー 1:TRTC アプリケーション認証情報 | エージェントが通話や音声チャットを実行可能にします | https://console.trtc.io/?quickclaim=engine_trial&utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=3WFHfiqw(登録して **RTC Engine** アプリを作成 — Conversational AI 対応) |
|
|
87
|
+
| キー 2:Tencent Cloud API キー | Tencent Cloud 音声・通話サービスを使用する権限を証明します(TRTC アカウントとログインが同期されます) | https://console.tencentcloud.com/cam/capi?utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=v0K1Q0DSE |
|
|
109
88
|
| キー 3:LLM API キー | エージェントが「考え」— 問い合わせを理解して応答できるようにします | 登録している AI サービス Web サイト(OpenAI、DeepSeek など) |
|
|
110
89
|
|
|
111
90
|
> AI が各キーの取得方法をステップバイステップで詳しく説明します。キー情報はこの設定セッションでのみ使用され — システムが記録したり漏洩したりすることはありません。
|
|
@@ -154,6 +133,10 @@ STT(音声認識)と TTS(音声合成)はどちらも Tencent 自社エ
|
|
|
154
133
|
| LLM(大規模言語モデル) | [LLM モデル概要](https://trtc.io/document/68338?product=conversationalai) |
|
|
155
134
|
| TTS(音声合成) | [TTS モデル概要](https://trtc.io/document/68340?product=conversationalai) |
|
|
156
135
|
|
|
136
|
+
### STT 対応言語
|
|
137
|
+
|
|
138
|
+
`engine_model_type` に `bigmodel` を指定すると、音声認識の言語を指定できます。対応言語:`zh`(中国語)、`en`(英語)、`yue`(広東語)、`ar`(アラビア語)、`de`(ドイツ語)、`fr`(フランス語)、`es`(スペイン語)、`pt`(ポルトガル語)、`id`(インドネシア語)、`it`(イタリア語)、`ko`(韓国語)、`ru`(ロシア語)、`th`(タイ語)、`vi`(ベトナム語)、`ja`(日本語)、`tr`(トルコ語)、`hi`(ヒンディー語)、`ms`(マレー語)、`nl`(オランダ語)、`sv`(スウェーデン語)、`da`(デンマーク語)、`fi`(フィンランド語)、`pl`(ポーランド語)、`cs`(チェコ語)、`fil`(フィリピン語)、`fa`(ペルシア語)、`el`(ギリシャ語)、`ro`(ルーマニア語)、`hu`(ハンガリー語)、`mk`(マケドニア語)。
|
|
139
|
+
|
|
157
140
|
### 完全なドキュメント
|
|
158
141
|
|
|
159
142
|
その他の設定が必要な場合は、Conversational AI 概要ページから該当する情報を探してください:
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
## Demo
|
|
8
8
|
|
|
9
|
-
https://github.com/user-attachments/assets/
|
|
9
|
+
https://github.com/user-attachments/assets/a2ad1d81-7282-42d1-b5ae-a0b9ec73933b
|
|
10
10
|
|
|
11
11
|
## About Tencent RTC
|
|
12
12
|
|
|
13
|
-
[Tencent RTC](https://trtc.io) (Real-Time Communication) powers real-time audio, video, and conversational AI experiences for thousands of businesses worldwide. With a global edge network spanning 200+ countries and regions, TRTC delivers sub-300ms ultra-low latency at scale.
|
|
13
|
+
[Tencent RTC](https://trtc.io/?utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=HIzH2eVJ) (Real-Time Communication) powers real-time audio, video, and conversational AI experiences for thousands of businesses worldwide. With a global edge network spanning 200+ countries and regions, TRTC delivers sub-300ms ultra-low latency at scale.
|
|
14
14
|
|
|
15
15
|
The **Conversational AI** capability enables developers to build voice agents that can listen, understand, and respond naturally — perfect for customer service, sales assistance, and intelligent self-service scenarios.
|
|
16
16
|
|
|
@@ -52,44 +52,23 @@ You never open a terminal or run a script manually.
|
|
|
52
52
|
|
|
53
53
|
### Installation
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
Install via `npx` — works with any IDE, no plugin marketplace required. Run it inside your project directory:
|
|
56
56
|
|
|
57
|
-
**User-level** (recommended — available across all projects):
|
|
58
57
|
```bash
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
**Project-level** (only available in the current project):
|
|
63
|
-
```bash
|
|
64
|
-
# The skill will be installed to ./.codex/skills/ (Cmd+Shift+. to show hidden folders in Finder)
|
|
65
|
-
/skills install --project https://github.com/Tencent-RTC/agent-skills
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
#### Claude Code CLI
|
|
69
|
-
|
|
70
|
-
**User-level** (recommended — available across all projects):
|
|
71
|
-
```bash
|
|
72
|
-
mkdir -p ~/.claude/skills
|
|
73
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git ~/.claude/skills/agent-skills
|
|
74
|
-
```
|
|
58
|
+
# Default — auto-detect installed IDEs (~/.{claude,cursor,codebuddy,codex}/)
|
|
59
|
+
# and install for each one found. Falls back to claude if none detected.
|
|
60
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add
|
|
75
61
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
mkdir -p ./.claude/skills
|
|
79
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git ./.claude/skills/agent-skills
|
|
80
|
-
```
|
|
62
|
+
# Force install for every supported IDE (even ones you don't have)
|
|
63
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide all
|
|
81
64
|
|
|
82
|
-
|
|
65
|
+
# Install only for one specific IDE
|
|
66
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide cursor
|
|
83
67
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git
|
|
87
|
-
# Then tell your agent:
|
|
88
|
-
# "Load the Skill from /path/to/agent-skills/skills/trtc-ai-service/SKILL.md"
|
|
68
|
+
# Wipe a previous install before re-installing
|
|
69
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --clean
|
|
89
70
|
```
|
|
90
71
|
|
|
91
|
-
> **After installation, restart your CLI session** to ensure the Skill is properly registered and loaded.
|
|
92
|
-
|
|
93
72
|
### Trigger keywords
|
|
94
73
|
|
|
95
74
|
- "AI customer service" / "build customer service" / "customer service bot"
|
|
@@ -104,8 +83,8 @@ To get the customer service agent running, you need 3 cloud service credentials.
|
|
|
104
83
|
|
|
105
84
|
| Key | Purpose | Where to find it |
|
|
106
85
|
|-----|---------|-----------------|
|
|
107
|
-
| Key 1: TRTC Application Credentials | Lets the agent make calls and do voice chat | https://console.trtc.io/?quickclaim=engine_trial (register & create an **RTC Engine** app — supports Conversational AI) |
|
|
108
|
-
| Key 2: Tencent Cloud API Key | Proves you have permission to use Tencent Cloud voice & calling services (login syncs with your TRTC account) | https://console.tencentcloud.com/cam/capi |
|
|
86
|
+
| Key 1: TRTC Application Credentials | Lets the agent make calls and do voice chat | https://console.trtc.io/?quickclaim=engine_trial&utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=3WFHfiqw (register & create an **RTC Engine** app — supports Conversational AI) |
|
|
87
|
+
| Key 2: Tencent Cloud API Key | Proves you have permission to use Tencent Cloud voice & calling services (login syncs with your TRTC account) | https://console.tencentcloud.com/cam/capi?utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=v0K1Q0DSE |
|
|
109
88
|
| Key 3: LLM API Key | Lets the agent "think" — understand queries and respond | Your registered AI service website (e.g. OpenAI, DeepSeek, etc.) |
|
|
110
89
|
|
|
111
90
|
> The AI will tell you exactly how to get each key step by step. Your key info is only used for this configuration session — the system does not log or leak it.
|
|
@@ -154,6 +133,10 @@ To change the underlying STT, LLM, or TTS models, check the model overview for e
|
|
|
154
133
|
| LLM (Language Model) | [LLM Model Overview](https://trtc.io/document/68338?product=conversationalai) |
|
|
155
134
|
| TTS (Text-to-Speech) | [TTS Model Overview](https://trtc.io/document/68340?product=conversationalai) |
|
|
156
135
|
|
|
136
|
+
### STT supported languages
|
|
137
|
+
|
|
138
|
+
When `engine_model_type` is set to `bigmodel`, you can specify the audio language for STT. Supported languages: `zh` (Chinese), `en` (English), `yue` (Cantonese), `ar` (Arabic), `de` (German), `fr` (French), `es` (Spanish), `pt` (Portuguese), `id` (Indonesian), `it` (Italian), `ko` (Korean), `ru` (Russian), `th` (Thai), `vi` (Vietnamese), `ja` (Japanese), `tr` (Turkish), `hi` (Hindi), `ms` (Malay), `nl` (Dutch), `sv` (Swedish), `da` (Danish), `fi` (Finnish), `pl` (Polish), `cs` (Czech), `fil` (Filipino), `fa` (Persian), `el` (Greek), `ro` (Romanian), `hu` (Hungarian), `mk` (Macedonian).
|
|
139
|
+
|
|
157
140
|
### Full documentation
|
|
158
141
|
|
|
159
142
|
For any other configuration needs, start from the Conversational AI overview and navigate from there:
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
## 演示
|
|
8
8
|
|
|
9
|
-
https://github.com/user-attachments/assets/
|
|
9
|
+
https://github.com/user-attachments/assets/a2ad1d81-7282-42d1-b5ae-a0b9ec73933b
|
|
10
10
|
|
|
11
11
|
## 关于 Tencent RTC
|
|
12
12
|
|
|
13
|
-
[Tencent RTC](https://trtc.io)(实时音视频)为全球数千家企业提供实时音频、视频和对话式 AI 体验。依托覆盖 200+ 国家和地区的全球边缘网络,TRTC 提供低于 300ms 的超低延迟大规模实时通信能力。
|
|
13
|
+
[Tencent RTC](https://trtc.io/?utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=HIzH2eVJ)(实时音视频)为全球数千家企业提供实时音频、视频和对话式 AI 体验。依托覆盖 200+ 国家和地区的全球边缘网络,TRTC 提供低于 300ms 的超低延迟大规模实时通信能力。
|
|
14
14
|
|
|
15
15
|
**Conversational AI** 能力让开发者可以构建能够聆听、理解并自然回应的语音智能体——非常适合客服、销售辅助和智能自助服务场景。
|
|
16
16
|
|
|
@@ -52,44 +52,23 @@ AI(自动完成所有操作):
|
|
|
52
52
|
|
|
53
53
|
### 安装方式
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
通过 `npx` 安装 — 支持任意 IDE,无需插件市场。在项目根目录执行:
|
|
56
56
|
|
|
57
|
-
**用户级安装**(推荐 — 所有项目均可使用):
|
|
58
57
|
```bash
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
**项目级安装**(仅当前项目可用):
|
|
63
|
-
```bash
|
|
64
|
-
# Skill 将安装到 ./.codex/skills/(访达中按 Cmd+Shift+. 可显示隐藏文件夹)
|
|
65
|
-
/skills install --project https://github.com/Tencent-RTC/agent-skills
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
#### Claude Code CLI
|
|
69
|
-
|
|
70
|
-
**用户级安装**(推荐 — 所有项目均可使用):
|
|
71
|
-
```bash
|
|
72
|
-
mkdir -p ~/.claude/skills
|
|
73
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git ~/.claude/skills/agent-skills
|
|
74
|
-
```
|
|
58
|
+
# 默认 — 自动检测已安装的 IDE(~/.{claude,cursor,codebuddy,codex}/)
|
|
59
|
+
# 为每一个检测到的 IDE 都安装好;都没检测到时回退到 claude
|
|
60
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add
|
|
75
61
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
mkdir -p ./.claude/skills
|
|
79
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git ./.claude/skills/agent-skills
|
|
80
|
-
```
|
|
62
|
+
# 强制为所有支持的 IDE 都装一份(即使你本机没装那个 IDE)
|
|
63
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide all
|
|
81
64
|
|
|
82
|
-
|
|
65
|
+
# 只为某个指定的 IDE 安装
|
|
66
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide cursor
|
|
83
67
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
git clone https://github.com/Tencent-RTC/agent-skills.git
|
|
87
|
-
# 然后对你的 Agent 说:
|
|
88
|
-
# "从 /path/to/agent-skills/skills/trtc-ai-service/SKILL.md 加载这个 Skill"
|
|
68
|
+
# 重装前先清理旧的安装
|
|
69
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --clean
|
|
89
70
|
```
|
|
90
71
|
|
|
91
|
-
> **安装完成后,请重启 CLI 会话** 以确保 Skill 被正确注册和加载。
|
|
92
|
-
|
|
93
72
|
- "AI客服" / "搭建客服" / "客服机器人"
|
|
94
73
|
- "TRTC + 客服" / "语音智能体 + 客服"
|
|
95
74
|
- "帮我用 TRTC 搭建一个 AI 客服"
|
|
@@ -102,8 +81,8 @@ git clone https://github.com/Tencent-RTC/agent-skills.git
|
|
|
102
81
|
|
|
103
82
|
| 密钥 | 用途 | 获取地址 |
|
|
104
83
|
|------|------|---------|
|
|
105
|
-
| 密钥 1:TRTC 应用凭证 | 让智能体能够拨打电话和进行语音聊天 | https://console.trtc.io/?quickclaim=engine_trial(注册并创建 **RTC Engine** 应用,支持 Conversational AI) |
|
|
106
|
-
| 密钥 2:Tencent Cloud API Key | 证明你有权限使用 TRTC 语音和通话服务(登录态与 TRTC 账号自动同步) | https://console.tencentcloud.com/cam/capi |
|
|
84
|
+
| 密钥 1:TRTC 应用凭证 | 让智能体能够拨打电话和进行语音聊天 | https://console.trtc.io/?quickclaim=engine_trial&utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=3WFHfiqw(注册并创建 **RTC Engine** 应用,支持 Conversational AI) |
|
|
85
|
+
| 密钥 2:Tencent Cloud API Key | 证明你有权限使用 TRTC 语音和通话服务(登录态与 TRTC 账号自动同步) | https://console.tencentcloud.com/cam/capi?utm_source=github&utm_medium=skill&utm_campaign=Twitter%20AI%20%E4%B8%93%E9%A1%B9%20-%20AI%20Oral%20Coach&_channel_track_key=v0K1Q0DSE |
|
|
107
86
|
| 密钥 3:LLM API Key | 让智能体能够"思考"——理解用户问题并回复 | 你注册的 AI 服务网站(如 OpenAI、DeepSeek 等) |
|
|
108
87
|
|
|
109
88
|
> AI 会一步步详细告诉你如何获取每个密钥。你的密钥信息仅用于本次配置会话——系统不会记录或泄露。
|
|
@@ -152,6 +131,10 @@ STT(语音识别)和 TTS(语音合成)均使用腾讯自研引擎。你
|
|
|
152
131
|
| LLM(大语言模型) | [LLM 模型总览](https://trtc.io/document/68338?product=conversationalai) |
|
|
153
132
|
| TTS(语音合成) | [TTS 模型总览](https://trtc.io/document/68340?product=conversationalai) |
|
|
154
133
|
|
|
134
|
+
### STT 支持语种
|
|
135
|
+
|
|
136
|
+
当 `engine_model_type` 指定为 `bigmodel` 时,可指定音频语种。支持语种包括:`zh`(中文)、`en`(英语)、`yue`(粤语)、`ar`(阿拉伯语)、`de`(德语)、`fr`(法语)、`es`(西班牙语)、`pt`(葡萄牙语)、`id`(印尼语)、`it`(意大利语)、`ko`(韩语)、`ru`(俄语)、`th`(泰语)、`vi`(越南语)、`ja`(日语)、`tr`(土耳其语)、`hi`(印地语)、`ms`(马来语)、`nl`(荷兰语)、`sv`(瑞典语)、`da`(丹麦语)、`fi`(芬兰语)、`pl`(波兰语)、`cs`(捷克语)、`fil`(菲律宾语)、`fa`(波斯语)、`el`(希腊语)、`ro`(罗马尼亚语)、`hu`(匈牙利语)、`mk`(马其顿语)。
|
|
137
|
+
|
|
155
138
|
### 完整文档
|
|
156
139
|
|
|
157
140
|
如有其他配置需求,请从 Conversational AI 总览页出发寻找相应答案:
|