@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
package/skills/trtc/SKILL.md
CHANGED
|
@@ -2,29 +2,39 @@
|
|
|
2
2
|
name: trtc
|
|
3
3
|
description: >
|
|
4
4
|
Routes TRTC questions and integration requests to the right skill. Identifies
|
|
5
|
-
product (Conference, Chat, Call, Live, RTC Engine, Conversational AI
|
|
6
|
-
and intent, then dispatches to the appropriate pipeline. Use when the
|
|
7
|
-
to integrate TRTC, build a video conference, voice room, live stream,
|
|
8
|
-
or IM chat app, or asks about SDK usage, error codes, pricing, or API
|
|
9
|
-
in any phrasing: "接入TRTC", "如何集成", "build a meeting app", "音视频",
|
|
10
|
-
"IM聊天", "错误码", "怎么用TRTC", "video conference", "RTC SDK".
|
|
5
|
+
product (Conference, Chat, Call, Live, RTC Engine, Conversational AI, TIMPush),
|
|
6
|
+
platform, and intent, then dispatches to the appropriate pipeline. Use when the
|
|
7
|
+
user wants to integrate TRTC, build a video conference, voice room, live stream,
|
|
8
|
+
1v1 call, or IM chat app, or asks about SDK usage, error codes, pricing, or API
|
|
9
|
+
docs — in any phrasing: "接入TRTC", "如何集成", "build a meeting app", "音视频",
|
|
10
|
+
"直播间", "IM聊天", "错误码", "怎么用TRTC", "video conference", "RTC SDK".
|
|
11
11
|
Also triggers for Chat (IM) consult and vue3 headless ui integration.
|
|
12
12
|
Also triggers for AI customer service / 智能客服 / AI 客服 / voice agent /
|
|
13
13
|
conversational AI scenarios built on TRTC Conversational AI.
|
|
14
|
+
Also triggers for AI oral coach / 口语陪练 / 英语口语 / 口语教练 / speaking coach /
|
|
15
|
+
oral practice scenarios built on TRTC Conversational AI.
|
|
16
|
+
Also triggers for TIMPush / 离线推送 / 帮我集成 timpush / 集成腾讯云 push /
|
|
17
|
+
接入腾讯云 push / 集成腾讯云离线推送 / 接入腾讯云离线推送 /
|
|
18
|
+
integrate Tencent Cloud push / Tencent Cloud offline push /
|
|
19
|
+
registerPush / 800006 / APNs / FCM + TIMPush context — routes to trtc-push.
|
|
14
20
|
Keywords: TRTC, TUIRoom, RoomKit, Conference, Chat, Call, Live, 视频会议, 音视频,
|
|
15
21
|
直播, IM, TUIKit, UIKit, SDK, 集成, 接入, 错误码, REST API, Webhook, UserSig,
|
|
16
|
-
AI客服, 智能客服, 对话式AI, voice agent,
|
|
17
|
-
|
|
22
|
+
AI客服, 智能客服, 对话式AI, voice agent, 口语陪练, 英语口语, 口语教练, oral coach,
|
|
23
|
+
speaking coach, IM SDK API, IM 内网代理, 计费/套餐, TIMPush, 离线推送, 腾讯云 push,
|
|
24
|
+
腾讯云离线推送, Tencent Cloud push, Tencent Cloud offline push, registerPush.
|
|
25
|
+
version: 0.1.8
|
|
18
26
|
---
|
|
19
27
|
|
|
20
28
|
# TRTC Integration Assistant
|
|
21
29
|
|
|
22
30
|
**Language rule**: Always reply in the same language the user writes in. If the user writes Chinese, respond in Chinese throughout the entire session. If the user writes English, respond in English. Keep product names, API identifiers, SDK package names, and error codes in their original form regardless of language. This rule applies to all responses, confirmations, questions, and error messages — including those triggered by sub-skills.
|
|
23
31
|
|
|
24
|
-
|
|
32
|
+
你负责做五件事:
|
|
25
33
|
1. 读取 session,判断是否要恢复已有 flow。
|
|
26
34
|
2. 检测是否为 AI 客服 / Conversational AI 场景,是则路由到 `trtc-ai-service/SKILL.md`。
|
|
27
|
-
3.
|
|
35
|
+
3. 检测是否为 AI 口语陪练 / oral coach 场景,是则路由到 `trtc-ai-oral-coach/SKILL.md`。
|
|
36
|
+
4. 检测是否为 TIMPush / 离线推送场景,是则路由到 `trtc-push/SKILL.md`。
|
|
37
|
+
5. 用共享工具识别 product / intent,路由到正确 owner:`trtc-conference/SKILL.md`、`trtc-chat/SKILL.md`、`trtc-chat/docs/SKILL.md` 或 `trtc-docs/SKILL.md`。
|
|
28
38
|
|
|
29
39
|
## Hard Boundary
|
|
30
40
|
|
|
@@ -34,11 +44,25 @@ version: 0.1.6
|
|
|
34
44
|
- 执行任何 `python3 -m tools.*` 命令时,必须从当前 `trtc` skill 根目录执行
|
|
35
45
|
(例如先 `cd "<当前 trtc skill 目录>"`)。不要依赖客户项目根目录存在 `tools/`
|
|
36
46
|
包,也不要让客户项目自己的 `tools` 包抢占解析。
|
|
47
|
+
|
|
48
|
+
> **`<当前 trtc skill 目录>` 解析规则**:npx 安装器根据 IDE 将 skills 安装到
|
|
49
|
+
> 不同目录,trtc skill 的实际位置是:
|
|
50
|
+
> - Claude Code:`<project>/.claude/skills/trtc/`
|
|
51
|
+
> - Cursor:`<project>/.cursor/skills/trtc/`
|
|
52
|
+
> - CodeBuddy:`<project>/.codebuddy/skills/trtc/`
|
|
53
|
+
> - Codex:`<project>/.codex/skills/trtc/`
|
|
54
|
+
>
|
|
55
|
+
> **不要硬编码 `.claude/` 前缀**——根据当前 IDE 选择正确路径。如果无法确定,用 find 回退定位:
|
|
56
|
+
> ```bash
|
|
57
|
+
> find "$PWD" -maxdepth 6 -type f -name reporting.py -path '*/skills/trtc/tools/*' 2>/dev/null | head -1 | xargs dirname | xargs dirname
|
|
58
|
+
> ```
|
|
37
59
|
- 当前 guided integration 支持 `(conference, web)` 与 `(chat, web)`。
|
|
38
60
|
- 其他产品若用户要”接入 / 搭建 / 加功能 / 逐步带我做”,明确告知当前仅支持 Conference Web / Chat Web 的引导式集成,并把他们导向文档查询路径。
|
|
39
61
|
|
|
40
62
|
**终止契约**:dispatcher 必须在以下任意一条成立时输出最后一条响应并 STOP,不得继续追问或生成内容:
|
|
41
63
|
- 已路由到 `trtc-ai-service/SKILL.md`
|
|
64
|
+
- 已路由到 `trtc-ai-oral-coach/SKILL.md`
|
|
65
|
+
- 已路由到 `trtc-push/SKILL.md`
|
|
42
66
|
- 已路由到 `trtc-conference/SKILL.md`
|
|
43
67
|
- 已路由到 `trtc-chat/SKILL.md`
|
|
44
68
|
- 已路由到 `trtc-chat/docs/SKILL.md`
|
|
@@ -65,6 +89,9 @@ version: 0.1.6
|
|
|
65
89
|
|
|
66
90
|
### -1. Prompt reporting
|
|
67
91
|
|
|
92
|
+
> **`<当前 trtc skill 目录>` 解析规则:参见上方 Hard Boundary 段中的 IDE 路径映射表。**
|
|
93
|
+
> 禁止硬编码 `.claude/` 前缀;如当前 IDE 无法确定,使用 find 回退定位。
|
|
94
|
+
|
|
68
95
|
每次本 skill 处理用户新消息或用户选择项时,在 session guard / classifier /
|
|
69
96
|
routing 之前先执行:
|
|
70
97
|
|
|
@@ -117,10 +144,66 @@ python3 "<当前 trtc skill 目录>/tools/reporting.py" context --question "<即
|
|
|
117
144
|
|
|
118
145
|
**且** 消息中 **不** 同时出现明确的其他产品信号(Conference / Call / Chat / Live / RTC Engine):
|
|
119
146
|
|
|
120
|
-
→
|
|
147
|
+
→ 命中后,**先执行 prompt 上报再路由**(与 §-1 等价,失败静默跳过):
|
|
148
|
+
```bash
|
|
149
|
+
python3 "<当前 trtc skill 目录>/tools/reporting.py" prompt --text "<用户原始消息>"
|
|
150
|
+
```
|
|
151
|
+
> **`<当前 trtc skill 目录>` 解析规则**:IDE 加载 skills 的目录因 IDE 而异 —— Claude Code 用 `<project>/.claude/skills/trtc/`、Cursor 用 `<project>/.cursor/skills/trtc/`、CodeBuddy 用 `<project>/.codebuddy/skills/trtc/`、Codex 用 `<project>/.codex/skills/trtc/`。**不要硬编码 `.claude/` 前缀**。如不确定,可用 `find "$PWD" -maxdepth 6 -type f -name reporting.py -path '*/skills/trtc/tools/*' | head -1` 定位。失败时静默跳过,继续路由。
|
|
152
|
+
|
|
153
|
+
→ 然后路由到 `../trtc-ai-service/SKILL.md`,按其引导流程执行。**STOP** — 不继续执行后续 §1–§3 步骤。
|
|
121
154
|
|
|
122
155
|
如果同时出现 AI 客服触发词与其他产品信号,降回标准路由,询问用户想做哪个。
|
|
123
156
|
|
|
157
|
+
### Pre-gate: Oral Coach fast-path
|
|
158
|
+
|
|
159
|
+
在进入 Query Classification 之前,再检查是否为 AI 口语陪练场景。
|
|
160
|
+
|
|
161
|
+
如果用户消息命中以下触发词之一:
|
|
162
|
+
- "AI口语陪练" / "口语陪练" / "口语教练"
|
|
163
|
+
- "英语口语" / "英语陪练" / "英语对话练习"
|
|
164
|
+
- "oral coach" / "speaking coach" / "AI speaking practice"
|
|
165
|
+
- "oral practice" / "speaking practice" / "language coach"
|
|
166
|
+
- "智能口语" / "口语练习" / "场景陪练"
|
|
167
|
+
|
|
168
|
+
**且** 消息中 **不** 同时出现明确的其他产品信号(Conference / Call / Chat / Live / RTC Engine):
|
|
169
|
+
|
|
170
|
+
→ 命中后,**先执行 prompt 上报再路由**(与 §-1 等价,失败静默跳过):
|
|
171
|
+
```bash
|
|
172
|
+
python3 "<当前 trtc skill 目录>/tools/reporting.py" prompt --text "<用户原始消息>"
|
|
173
|
+
```
|
|
174
|
+
> **`<当前 trtc skill 目录>` 解析规则**:与上节相同,按 IDE 选择正确路径,不得硬编码。
|
|
175
|
+
|
|
176
|
+
→ 然后路由到 `../trtc-ai-oral-coach/SKILL.md`,按其引导流程执行。**STOP** — 不继续执行后续 §1–§3 步骤。
|
|
177
|
+
|
|
178
|
+
如果同时出现口语陪练触发词与其他产品信号,降回标准路由,询问用户想做哪个。
|
|
179
|
+
|
|
180
|
+
### Pre-gate: TIMPush fast-path
|
|
181
|
+
|
|
182
|
+
在进入 Query Classification 之前,再检查是否为 TIMPush / 离线推送场景。
|
|
183
|
+
|
|
184
|
+
如果用户消息命中以下触发词之一:
|
|
185
|
+
- "帮我集成 TIMPush" / "帮我集成 timpush" / "接入 TIMPush" / "集成 TIMPush"
|
|
186
|
+
- "集成腾讯云 push" / "接入腾讯云 push" / "集成腾讯云 Push" / "接入腾讯云 Push"
|
|
187
|
+
- "集成腾讯云离线推送" / "接入腾讯云离线推送" / "腾讯云离线推送" / "腾讯云 push"
|
|
188
|
+
- "TIMPush 离线推送" / "即时通信推送" / "离线推送接入"
|
|
189
|
+
- "registerPush" / "800006" / "businessID" + 推送语境
|
|
190
|
+
- "TIMPush" / "timpush" / "APNs" / "FCM" 且明确是推送接入或排障
|
|
191
|
+
- "integrate TIMPush" / "TIMPush integration" / "TIMPush offline push" / "setup TIMPush"
|
|
192
|
+
- "integrate Tencent Cloud push" / "setup Tencent Cloud push" / "add Tencent Cloud push"
|
|
193
|
+
- "integrate Tencent Cloud offline push" / "Tencent Cloud offline push" / "Tencent Cloud push integration"
|
|
194
|
+
|
|
195
|
+
**且** 消息中 **不** 同时出现明确的其他产品主导信号(Conference / Call / Live / 口语陪练 / AI客服):
|
|
196
|
+
|
|
197
|
+
→ 命中后,**先执行 prompt 上报再路由**(与 §-1 等价,失败静默跳过):
|
|
198
|
+
```bash
|
|
199
|
+
python3 "<当前 trtc skill 目录>/tools/reporting.py" prompt --text "<用户原始消息>"
|
|
200
|
+
```
|
|
201
|
+
> **`<当前 trtc skill 目录>` 解析规则**:与上节相同,按 IDE 选择正确路径,不得硬编码。
|
|
202
|
+
|
|
203
|
+
→ 然后路由到 `../trtc-push/SKILL.md`,按其引导流程执行。**STOP** — 不继续执行后续 §1–§3 步骤。
|
|
204
|
+
|
|
205
|
+
如果同时出现 TIMPush 触发词与其他产品信号(例如「给 Conference 加推送」),先问用户要做 TIMPush 接入还是原产品集成,再路由。
|
|
206
|
+
|
|
124
207
|
### 1. Query classification
|
|
125
208
|
|
|
126
209
|
运行:
|
|
@@ -300,6 +383,9 @@ keyword fallback 也无法匹配时:直接问用户”你在用哪个 TRTC 产
|
|
|
300
383
|
| domain skill | Chat guided integration | `../trtc-chat/SKILL.md` |
|
|
301
384
|
| domain skill | Chat IM docs (Path D) | `../trtc-chat/docs/SKILL.md` |
|
|
302
385
|
| domain flow | Conference Web troubleshoot (symptom) | `../trtc-conference/flows/troubleshoot.md` |
|
|
386
|
+
| domain skill | AI customer service / 智能客服 | `../trtc-ai-service/SKILL.md` |
|
|
387
|
+
| domain skill | AI oral coach / 口语陪练 | `../trtc-ai-oral-coach/SKILL.md` |
|
|
388
|
+
| domain skill | TIMPush / 离线推送 | `../trtc-push/SKILL.md` |
|
|
303
389
|
| shared answer layer | factual / docs lookup | `../trtc-docs/SKILL.md` |
|
|
304
390
|
| shared tool | product routing / slice lookup | `python3 -m tools.search` |
|
|
305
391
|
| shared tool | query kind / capability intent classify | `python3 -m tools.query_classifier` |
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# AI スピーキングコーチ スキル
|
|
2
|
+
|
|
3
|
+
> TRTC Conversational AI を活用した AI 英会話スピーキングコーチ — ノーコード、音声ファースト。2つのパスがあり、すべて Agent が自動実行します。あなたは話すだけ。
|
|
4
|
+
|
|
5
|
+
## デモ
|
|
6
|
+
|
|
7
|
+
https://github.com/user-attachments/assets/9e586749-d810-4c5a-bb27-356a3b74d486
|
|
8
|
+
|
|
9
|
+
## Tencent RTC について
|
|
10
|
+
|
|
11
|
+
[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以上の国と地域をカバーするグローバルエッジネットワークにより、300ms未満の超低遅延を実現します。
|
|
12
|
+
|
|
13
|
+
**Conversational AI** 機能により、聞いて理解し自然に応答する音声エージェントを構築できます。語学学習、スピーキング練習、インタラクティブなチュータリングに最適です。
|
|
14
|
+
|
|
15
|
+
## これは何?
|
|
16
|
+
|
|
17
|
+
「TRTC で AI 英会話コーチを作る」をプラグアンドプレイのスキルにパッケージ化しました:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
あなた(IDEのAIチャットウィンドウで):
|
|
21
|
+
"Build me an AI English speaking coach"
|
|
22
|
+
|
|
23
|
+
AI(すべて自動実行):
|
|
24
|
+
1. 実行環境をチェック
|
|
25
|
+
2. クイック体験 か システム統合 かを選択
|
|
26
|
+
3. 3つのキー設定を順に案内
|
|
27
|
+
4. 依存関係をインストールし、コーチ機能を組み立て
|
|
28
|
+
5. サービスを起動し、ブラウザURLを表示
|
|
29
|
+
|
|
30
|
+
ターミナルもスクリプトも一切不要です。
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 2つの始め方
|
|
34
|
+
|
|
35
|
+
| モード | 対象 | 得られるもの | 必要なもの |
|
|
36
|
+
|--------|------|-------------|-----------|
|
|
37
|
+
| **クイック体験** | まず効果を見たい方 | 3画面SPA(シナリオ練習 + 文章添削 + 返答提案 + 4次元レポート) | 3つのキー |
|
|
38
|
+
| **システム統合** | 既存アプリにバックエンド機能を追加したい方 | バックエンドAPI + 統合サンプル(UIなし) | 3つのキー + コーチ機能の選択 |
|
|
39
|
+
|
|
40
|
+
## 3つのキーとは?
|
|
41
|
+
|
|
42
|
+
コーチを動かすには、3つのクラウドサービス認証情報が必要です:
|
|
43
|
+
|
|
44
|
+
| キー | 目的 | 入手先 |
|
|
45
|
+
|------|------|--------|
|
|
46
|
+
| 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 |
|
|
47
|
+
| 2: Tencent Cloud APIキー | バックエンド権限(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 |
|
|
48
|
+
| 3: LLM APIキー | コーチの「頭脳」— 理解・添削・レポート生成 | AIプロバイダー(OpenAI、DeepSeekなど) |
|
|
49
|
+
|
|
50
|
+
## コーチの機能
|
|
51
|
+
|
|
52
|
+
| 機能 | 説明 | クイック体験 | 統合 |
|
|
53
|
+
|------|------|:---:|:---:|
|
|
54
|
+
| シナリオロールプレイ | シーン × 難易度 × スタイル → 動的ロールプレイ | ✅ デフォルト | 🔘 オプション |
|
|
55
|
+
| クイックコレクト | 一文ごとのスピーキングスタイル添削 | ✅ デフォルト | 🔘 オプション |
|
|
56
|
+
| 返答サジェスト | 会話継続のヒント | ✅ デフォルト | 🔘 オプション |
|
|
57
|
+
| 能力レポート | 4次元分析レポート(日英バイリンガル) | ✅ デフォルト | 🔘 オプション |
|
|
58
|
+
| カスタム教材KB | 独自の教材を接続(Dify/Coze) | ❌ | 🔘 オプション |
|
|
59
|
+
|
|
60
|
+
> 💡 評価系機能(ロールプレイ/添削/サジェスト/レポート)は単一の `Evaluator` Port を共有 — LLMやプロンプトを変更するだけで「頭脳の交換」が可能、コアコード変更不要。
|
|
61
|
+
|
|
62
|
+
## インストール
|
|
63
|
+
|
|
64
|
+
`npx` でインストール — どのIDEでも動作、プラグインマーケットプレイス不要。プロジェクトディレクトリ内で実行:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# デフォルト — インストール済みIDEを自動検出してインストール
|
|
68
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add
|
|
69
|
+
|
|
70
|
+
# 全ての対応IDEに強制インストール
|
|
71
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide all
|
|
72
|
+
|
|
73
|
+
# 特定のIDEのみにインストール
|
|
74
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide cursor
|
|
75
|
+
|
|
76
|
+
# 以前のインストールを削除してから再インストール
|
|
77
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --clean
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## トリガーキーワード
|
|
81
|
+
|
|
82
|
+
- "oral coach" / "speaking coach" / "english tutor bot"
|
|
83
|
+
- "AI oral coach" / "AI speaking practice"
|
|
84
|
+
- "スピーキング練習" / "英会話コーチ"
|
|
85
|
+
|
|
86
|
+
## ディレクトリ構造
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
ai-oral-coach/
|
|
90
|
+
├── SKILL.md # Agent 実行SOP
|
|
91
|
+
├── README.md # 英語(メイン)
|
|
92
|
+
├── README.zh-CN.md # 中国語
|
|
93
|
+
├── README.ja.md # 本ファイル
|
|
94
|
+
├── triggers.yaml # トリガーワード登録
|
|
95
|
+
├── start.sh # 起動スクリプト(venv + 依存 + FastAPI:8000)
|
|
96
|
+
├── capabilities/ # アトミック機能(リポジトリ同梱、自動マウント)
|
|
97
|
+
│ ├── conversation-core/ # スケルトン:FastAPI + 音声パイプライン
|
|
98
|
+
│ ├── scenario-roleplay/ # シナリオロールプレイ
|
|
99
|
+
│ ├── quick-correct/ # 一文添削
|
|
100
|
+
│ ├── reply-suggestion/ # 返答サジェスト
|
|
101
|
+
│ ├── ability-report/ # 4次元レポート
|
|
102
|
+
│ └── custom-learning-kb/ # 外部KBアダプター(Dify/Coze)
|
|
103
|
+
├── auto_adapters/ # Path B:API統合コードテンプレート(UIなし)
|
|
104
|
+
│ ├── manifest.yaml
|
|
105
|
+
│ ├── web/ # JS/TS oral-coach-client.js
|
|
106
|
+
│ ├── python/ # Python coach_client.py
|
|
107
|
+
│ └── integration_templates/ # L3フォールバック + KB仕様
|
|
108
|
+
├── scenarios/speaking-coach/
|
|
109
|
+
│ ├── recipe.yaml # Path A デフォルト構成
|
|
110
|
+
│ └── ui/ # 3画面SPA
|
|
111
|
+
├── scripts/
|
|
112
|
+
│ ├── verify-credentials.py
|
|
113
|
+
│ └── add-capability.py
|
|
114
|
+
└── references/
|
|
115
|
+
├── evaluator-port.md
|
|
116
|
+
└── design-specs.md
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## よくある質問
|
|
120
|
+
|
|
121
|
+
| 問題 | 解決策 |
|
|
122
|
+
|------|--------|
|
|
123
|
+
| キー検証失敗 | キー設定手順に戻り、各キー値を再確認 |
|
|
124
|
+
| ポート8000が使用中 | 別ポートを指定(`--port 8080`)またはポート8000を解放 |
|
|
125
|
+
| Pythonバージョンが低すぎる | python.org から Python 3.9+ をインストール |
|
|
126
|
+
| 起動後ブラウザが白画面 | 強制リフレッシュ: `Cmd+Shift+R`(Mac)/ `Ctrl+Shift+R`(Windows) |
|
|
127
|
+
| 自社教材を接続したい | 「システム統合」を選択し、custom-learning-kb を有効化 |
|
|
128
|
+
|
|
129
|
+
## お問い合わせ
|
|
130
|
+
|
|
131
|
+
テクニカルサポートやエンタープライズプランについては、[trtc.io/contact](https://trtc.io/contact) よりお問い合わせください。
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# AI Oral Coach Skill
|
|
2
|
+
|
|
3
|
+
> Build an AI English speaking coach powered by TRTC Conversational AI — zero code, voice-first. Two paths, both agent-driven: you just talk, the agent does the rest.
|
|
4
|
+
|
|
5
|
+
## Demo
|
|
6
|
+
|
|
7
|
+
https://github.com/user-attachments/assets/9e586749-d810-4c5a-bb27-356a3b74d486
|
|
8
|
+
|
|
9
|
+
## About Tencent RTC
|
|
10
|
+
|
|
11
|
+
[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.
|
|
12
|
+
|
|
13
|
+
The **Conversational AI** capability enables developers to build voice agents that can listen, understand, and respond naturally — perfect for language learning, speaking practice, and interactive tutoring.
|
|
14
|
+
|
|
15
|
+
## What is this?
|
|
16
|
+
|
|
17
|
+
A plug-and-play Skill that builds an AI English speaking coach — packaged into a single agent-driven workflow:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
You (in your IDE's AI chat window):
|
|
21
|
+
"Build me an AI English speaking coach"
|
|
22
|
+
|
|
23
|
+
AI (does everything automatically):
|
|
24
|
+
1. Checks your runtime environment
|
|
25
|
+
2. Lets you choose Quick Experience or Integrate into My System
|
|
26
|
+
3. Guides you through 3 keys setup (cloud service credentials)
|
|
27
|
+
4. Installs dependencies and assembles coach capabilities
|
|
28
|
+
5. Starts the service and gives you a browser URL
|
|
29
|
+
|
|
30
|
+
You never open a terminal or run a script manually.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Two ways to start
|
|
34
|
+
|
|
35
|
+
| Mode | Who it's for | What you get | What you need |
|
|
36
|
+
|------|-------------|-------------|---------------|
|
|
37
|
+
| **Quick Experience** | First-timers who want to see it in action | Full 3-screen SPA (scenario practice + sentence correction + reply suggestions + 4-dimension report) | 3 keys |
|
|
38
|
+
| **Integrate into My System** | Users who already have an app and want backend capabilities | Backend API endpoints + integration samples (no UI) | 3 keys + choose coach capabilities |
|
|
39
|
+
|
|
40
|
+
## What are the 3 keys?
|
|
41
|
+
|
|
42
|
+
To get the coach running, you need 3 cloud service credentials:
|
|
43
|
+
|
|
44
|
+
| Key | Purpose | Where to find it |
|
|
45
|
+
|-----|---------|-----------------|
|
|
46
|
+
| 1: TRTC App Credentials | Voice channel for the coach | 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 |
|
|
47
|
+
| 2: Tencent Cloud API Key | Backend permissions (login syncs with 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 |
|
|
48
|
+
| 3: LLM API Key | The coach's "brain" — understand, correct, generate reports | Your AI provider (OpenAI, DeepSeek, etc.) |
|
|
49
|
+
|
|
50
|
+
## What capabilities does the coach have?
|
|
51
|
+
|
|
52
|
+
| Capability | Description | Quick Experience | Integration |
|
|
53
|
+
|------------|-------------|:---:|:---:|
|
|
54
|
+
| Scenario Roleplay | Scene × difficulty × style → dynamic roleplay | ✅ Default | 🔘 Optional |
|
|
55
|
+
| Quick Correct | Per-sentence speaking-style correction | ✅ Default | 🔘 Optional |
|
|
56
|
+
| Reply Suggestion | Conversation continuation hints | ✅ Default | 🔘 Optional |
|
|
57
|
+
| Ability Report | 4-dimension analysis report (en/zh bilingual) | ✅ Default | 🔘 Optional |
|
|
58
|
+
| Custom Learning KB | Connect your own teaching materials (Dify/Coze) | ❌ | 🔘 Optional |
|
|
59
|
+
|
|
60
|
+
> 💡 Evaluator capabilities (roleplay/correct/suggest/report) share a single `Evaluator` Port — swap LLM or prompt = "swap the brain", no core changes needed.
|
|
61
|
+
|
|
62
|
+
## Installation
|
|
63
|
+
|
|
64
|
+
Install via `npx` — works with any IDE, no plugin marketplace required. Run inside your project directory:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Default — auto-detect installed IDEs and install for each one found
|
|
68
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add
|
|
69
|
+
|
|
70
|
+
# Force install for every supported IDE
|
|
71
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide all
|
|
72
|
+
|
|
73
|
+
# Install only for one specific IDE
|
|
74
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide cursor
|
|
75
|
+
|
|
76
|
+
# Wipe a previous install before re-installing
|
|
77
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --clean
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Trigger keywords
|
|
81
|
+
|
|
82
|
+
- "AI oral coach" / "AI English coach" / "speaking coach"
|
|
83
|
+
- "oral coach" / "english tutor bot" / "speaking practice"
|
|
84
|
+
- "TRTC + oral coach" / "TRTC + speaking practice"
|
|
85
|
+
- "帮我搭个 AI 英语口语陪练" / "AI口语陪练"
|
|
86
|
+
|
|
87
|
+
## Directory structure
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
ai-oral-coach/
|
|
91
|
+
├── SKILL.md # Agent execution SOP (lean)
|
|
92
|
+
├── README.md # English (main)
|
|
93
|
+
├── README.zh-CN.md # Chinese
|
|
94
|
+
├── README.ja.md # Japanese
|
|
95
|
+
├── triggers.yaml # Trigger word registry
|
|
96
|
+
├── start.sh # Bootstrap (venv + deps + FastAPI:8000)
|
|
97
|
+
├── capabilities/ # Atomic capabilities (shipped with repo, auto-mounted)
|
|
98
|
+
│ ├── conversation-core/ # Skeleton: FastAPI + voice pipeline (shared with AI CS)
|
|
99
|
+
│ ├── scenario-roleplay/ # Scene roleplay composer
|
|
100
|
+
│ ├── quick-correct/ # Per-sentence correction
|
|
101
|
+
│ ├── reply-suggestion/ # Conversation hints
|
|
102
|
+
│ ├── ability-report/ # 4-dimension report
|
|
103
|
+
│ └── custom-learning-kb/ # External KB adapter (Dify/Coze)
|
|
104
|
+
├── auto_adapters/ # Path B: API integration code templates (headless, no UI)
|
|
105
|
+
│ ├── manifest.yaml
|
|
106
|
+
│ ├── web/ # JS/TS oral-coach-client.js
|
|
107
|
+
│ ├── python/ # Python coach_client.py
|
|
108
|
+
│ └── integration_templates/ # L3 fallback + KB spec
|
|
109
|
+
├── scenarios/speaking-coach/
|
|
110
|
+
│ ├── recipe.yaml # Path A default assembly
|
|
111
|
+
│ └── ui/ # 3-screen SPA (coach.html/i18n.js/tokens.css)
|
|
112
|
+
├── scripts/
|
|
113
|
+
│ ├── verify-credentials.py
|
|
114
|
+
│ └── add-capability.py
|
|
115
|
+
└── references/
|
|
116
|
+
├── evaluator-port.md
|
|
117
|
+
└── design-specs.md
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## FAQ
|
|
121
|
+
|
|
122
|
+
| Issue | Solution |
|
|
123
|
+
|-------|----------|
|
|
124
|
+
| Key verification failed | Go back and double-check each key value |
|
|
125
|
+
| Port 8000 is in use | Use a different port (`--port 8080`) or free port 8000 |
|
|
126
|
+
| Python version too low | Install Python 3.9+ from python.org |
|
|
127
|
+
| Browser shows blank page | Hard refresh: `Cmd+Shift+R` (Mac) / `Ctrl+Shift+R` (Windows) |
|
|
128
|
+
| Want to connect your own teaching materials | Re-run and choose Path B, opt in custom-learning-kb |
|
|
129
|
+
|
|
130
|
+
## Contact Us
|
|
131
|
+
|
|
132
|
+
Need technical support or enterprise pricing? Submit your contact information at [trtc.io/contact](https://trtc.io/contact) and our team will get back to you shortly.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# AI 口语陪练 Skill
|
|
2
|
+
|
|
3
|
+
> 基于腾讯云 TRTC Conversational AI 构建 AI 英语口语陪练 —— 零代码、voice-first。两条路径均由 Agent 全程驱动:你只管说话,其余交给 Agent。
|
|
4
|
+
|
|
5
|
+
## Demo
|
|
6
|
+
|
|
7
|
+
https://github.com/user-attachments/assets/9e586749-d810-4c5a-bb27-356a3b74d486
|
|
8
|
+
|
|
9
|
+
## 关于 Tencent RTC
|
|
10
|
+
|
|
11
|
+
[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+ 国家和地区,端到端延迟低于 300ms。
|
|
12
|
+
|
|
13
|
+
**Conversational AI** 能力让开发者可以构建能听、能理解、能自然回应的语音智能体 —— 特别适合语言学习、口语练习和互动教学场景。
|
|
14
|
+
|
|
15
|
+
## 这是什么?
|
|
16
|
+
|
|
17
|
+
一个开箱即用的 Skill,把「用 TRTC 搭建 AI 英语口语陪练」打包成 Agent 全程驱动的工作流:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
你(在 IDE 的 AI 聊天窗口里):
|
|
21
|
+
"帮我搭个 AI 英语口语陪练"
|
|
22
|
+
|
|
23
|
+
AI(全程自动处理):
|
|
24
|
+
1. 检查运行环境
|
|
25
|
+
2. 让你选快速体验还是集成到自己的系统
|
|
26
|
+
3. 一步步带你配 3 把钥匙(云服务凭据)
|
|
27
|
+
4. 安装依赖、装配教练能力
|
|
28
|
+
5. 启动服务并给你浏览器入口地址
|
|
29
|
+
|
|
30
|
+
你全程不用打开终端、不用手动跑脚本。
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 两种开始方式
|
|
34
|
+
|
|
35
|
+
| 模式 | 适合谁 | 你能拿到什么 | 你需要做的 |
|
|
36
|
+
|------|--------|-------------|-----------|
|
|
37
|
+
| **快速体验** | 想先看看效果的人 | 完整的三屏 SPA(场景陪练 + 单句纠正 + 接话建议 + 4维报告) | 配 3 把钥匙 |
|
|
38
|
+
| **集成到我的系统** | 已有 App,想接入后端能力 | 后端 API 接口 + 集成示例(不生成 UI) | 配 3 把钥匙 + 选择教练能力 |
|
|
39
|
+
|
|
40
|
+
## 3 把钥匙是什么?
|
|
41
|
+
|
|
42
|
+
要让教练开口说话,需要配 3 个云服务凭据:
|
|
43
|
+
|
|
44
|
+
| 钥匙 | 用途 | 在哪里获取 |
|
|
45
|
+
|------|------|-----------|
|
|
46
|
+
| 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 |
|
|
47
|
+
| 2: 腾讯云 API 密钥 | 后台权限(和 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 |
|
|
48
|
+
| 3: LLM API Key | 教练的"大脑"——听懂你、纠正你、出报告 | 你的 AI 服务商(OpenAI、DeepSeek 等) |
|
|
49
|
+
|
|
50
|
+
## 教练有哪些能力?
|
|
51
|
+
|
|
52
|
+
| 能力 | 说明 | 快速体验 | 集成模式 |
|
|
53
|
+
|------|------|:---:|:---:|
|
|
54
|
+
| 场景角色扮演 | 场景×难度×风格 → 动态角色对话 | ✅ 默认安装 | 🔘 可选 |
|
|
55
|
+
| 单句纠正 | 逐句口语风格纠正 | ✅ 默认安装 | 🔘 可选 |
|
|
56
|
+
| 接话建议 | 对话接续提示 | ✅ 默认安装 | 🔘 可选 |
|
|
57
|
+
| 能力报告 | 4维分析报告(中英双语) | ✅ 默认安装 | 🔘 可选 |
|
|
58
|
+
| 自有知识库 | 接入你自己的教研内容(Dify/Coze) | ❌ | 🔘 可选 |
|
|
59
|
+
|
|
60
|
+
> 💡 评估类能力(角色扮演/纠正/建议/报告)共用一个 `Evaluator` Port —— 换 LLM 或 prompt 即「换大脑」,不改骨架代码。
|
|
61
|
+
|
|
62
|
+
## 安装
|
|
63
|
+
|
|
64
|
+
通过 `npx` 安装,支持所有主流 IDE,在项目目录下运行:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# 默认 —— 自动检测已安装的 IDE 并逐一安装
|
|
68
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add
|
|
69
|
+
|
|
70
|
+
# 强制安装所有支持的 IDE
|
|
71
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide all
|
|
72
|
+
|
|
73
|
+
# 只安装某一个 IDE
|
|
74
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --ide cursor
|
|
75
|
+
|
|
76
|
+
# 清除旧安装后重新安装
|
|
77
|
+
npx -y @tencent-rtc/trtc-agent-skills@latest add --clean
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 触发关键词
|
|
81
|
+
|
|
82
|
+
- "AI口语陪练" / "AI英语陪练" / "口语教练"
|
|
83
|
+
- "oral coach" / "english tutor" / "speaking practice"
|
|
84
|
+
- "帮我搭个英语口语陪练" / "用 TRTC 做个口语教练"
|
|
85
|
+
|
|
86
|
+
## 目录结构
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
ai-oral-coach/
|
|
90
|
+
├── SKILL.md # Agent 执行 SOP(精炼版)
|
|
91
|
+
├── README.md # 英文版(主 README)
|
|
92
|
+
├── README.zh-CN.md # 本文件
|
|
93
|
+
├── README.ja.md # 日文版
|
|
94
|
+
├── triggers.yaml # 触发词注册文件
|
|
95
|
+
├── start.sh # 启动脚本(建 venv + 装依赖 + 起 FastAPI:8000)
|
|
96
|
+
├── capabilities/ # 能力原子化(随仓库发布,core 预接线自动挂载)
|
|
97
|
+
│ ├── conversation-core/ # 骨架:FastAPI + 语音管线(与 AI 客服共享)
|
|
98
|
+
│ ├── scenario-roleplay/ # 场景角色扮演
|
|
99
|
+
│ ├── quick-correct/ # 单句纠正
|
|
100
|
+
│ ├── reply-suggestion/ # 接话建议
|
|
101
|
+
│ ├── ability-report/ # 4维能力报告
|
|
102
|
+
│ └── custom-learning-kb/ # 外部知识库适配(Dify/Coze)
|
|
103
|
+
├── auto_adapters/ # Path B:API 接入代码模板(无 UI,纯代码)
|
|
104
|
+
│ ├── manifest.yaml
|
|
105
|
+
│ ├── web/ # JS/TS oral-coach-client.js
|
|
106
|
+
│ ├── python/ # Python coach_client.py
|
|
107
|
+
│ └── integration_templates/ # L3 降级指南 + KB 规范
|
|
108
|
+
├── scenarios/speaking-coach/
|
|
109
|
+
│ ├── recipe.yaml # Path A 默认装配清单
|
|
110
|
+
│ └── ui/ # 三屏 SPA(coach.html / i18n.js / tokens.css)
|
|
111
|
+
├── scripts/
|
|
112
|
+
│ ├── verify-credentials.py
|
|
113
|
+
│ └── add-capability.py
|
|
114
|
+
└── references/
|
|
115
|
+
├── evaluator-port.md
|
|
116
|
+
└── design-specs.md
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## 常见问题
|
|
120
|
+
|
|
121
|
+
| 问题 | 解决方案 |
|
|
122
|
+
|------|---------|
|
|
123
|
+
| 密钥校验失败 | 回到密钥配置步骤,逐一检查每个 key 的值 |
|
|
124
|
+
| 8000 端口被占用 | 换个端口(`--port 8080`)或释放 8000 端口 |
|
|
125
|
+
| Python 版本太低 | 从 python.org 安装 Python 3.9+ |
|
|
126
|
+
| 启动后浏览器白屏 | 强制刷新:`Cmd+Shift+R`(Mac)/ `Ctrl+Shift+R`(Windows) |
|
|
127
|
+
| 想接入自己的教材内容 | 重走流程选"集成到我的系统",勾选 custom-learning-kb |
|
|
128
|
+
|
|
129
|
+
## 联系我们
|
|
130
|
+
|
|
131
|
+
需要技术支持或企业方案?通过 [trtc.io/contact](https://trtc.io/contact) 提交联系方式,我们的团队会尽快与您联系。
|