@tencent-rtc/trtc-agent-skills 0.1.3 → 0.1.4
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/.cursor/rules/main.mdc +12 -0
- package/AGENTS.md +14 -104
- package/CLAUDE.md +15 -127
- package/CODEBUDDY.md +32 -118
- package/README.md +7 -5
- package/README.zh.md +7 -5
- package/bin/cli.js +133 -41
- package/hooks/__pycache__/cursor-adapter.cpython-313.pyc +0 -0
- package/hooks/cursor-adapter.py +45 -18
- package/hooks/hooks-cursor.json +5 -18
- package/hooks/hooks.json +6 -31
- package/knowledge-base/conference/web/index.yaml +143 -0
- package/knowledge-base/platform-slice-template.md +1041 -133
- package/knowledge-base/products.yaml +76 -0
- package/knowledge-base/scenario-spec.md +1316 -115
- package/knowledge-base/scenarios/conference/base/general-conference.md +22 -2
- package/knowledge-base/scenarios/conference/base/webinar-conference.md +14 -0
- package/knowledge-base/scenarios/conference/medical/1v1-video-consultation.md +19 -0
- package/knowledge-base/scenarios/conference/medical/medical-multidoctor-consultation.md +13 -0
- package/knowledge-base/scenarios/live/entertainment-live-room.md +12 -0
- package/knowledge-base/slice-spec.md +2377 -299
- package/knowledge-base/slices/conference/web/integration-audit.md +1 -1
- package/knowledge-base/slices/conference/web/login-auth.md +14 -1
- package/knowledge-base/tooling/aliases.yaml +92 -0
- package/knowledge-base/tooling/intent-signals.yaml +181 -0
- package/knowledge-base/tooling/symptom-keywords.yaml +21 -0
- package/package.json +1 -1
- package/skills/trtc/SKILL.md +202 -245
- package/skills/trtc/hooks/__pycache__/report_prompt.cpython-313.pyc +0 -0
- package/skills/{trtc-topic/guardrails → trtc/hooks}/gate_slice_read.py +12 -8
- package/skills/{trtc-topic/guardrails → trtc/hooks}/gate_slice_write.py +16 -12
- package/skills/{trtc-topic/guardrails → trtc/hooks}/stop_require_apply_evidence.py +22 -14
- package/skills/trtc/hooks/topic_phase_gate.py +161 -0
- package/skills/{trtc-topic → trtc}/runtime/README.md +2 -2
- package/skills/{trtc-onboarding/reference/reporting-protocol.md → trtc/runtime/REPORTING.md} +5 -5
- package/skills/{trtc-topic → trtc}/runtime/RUNTIME.md +5 -5
- package/skills/trtc/runtime/lib/__init__.py +0 -0
- package/skills/{trtc-topic → trtc}/runtime/package-lock.json +2 -2
- package/skills/{trtc-topic → trtc}/runtime/package.json +2 -2
- package/skills/{trtc-topic → trtc}/runtime/telemetry-bridge.mjs +1 -1
- package/skills/{trtc-topic/scripts → trtc/tools}/STATE-MACHINE-GUIDE.md +23 -23
- package/skills/trtc/tools/__init__.py +2 -0
- package/skills/trtc/tools/__pycache__/__init__.cpython-313.pyc +0 -0
- package/skills/trtc/tools/__pycache__/query_classifier.cpython-313.pyc +0 -0
- package/skills/trtc/tools/__pycache__/reporting.cpython-313.pyc +0 -0
- package/skills/trtc/tools/__pycache__/search.cpython-313.pyc +0 -0
- package/skills/trtc/tools/__pycache__/session.cpython-313.pyc +0 -0
- package/skills/trtc/tools/apply.py +540 -0
- package/skills/trtc/tools/docs.py +712 -0
- package/skills/trtc/tools/docsbot.py +182 -0
- package/skills/trtc/tools/entry/render_ai_instructions.py +92 -0
- package/skills/trtc/tools/flow.py +1089 -0
- package/skills/{trtc-topic/scripts → trtc/tools}/init_slice_queue.py +5 -4
- package/skills/{trtc-topic/scripts → trtc/tools}/next_slice.py +5 -4
- package/skills/trtc/tools/query_classifier.py +301 -0
- package/skills/trtc/tools/reporting.py +447 -0
- package/skills/trtc/tools/search.py +817 -0
- package/skills/trtc/tools/session.py +1261 -0
- package/skills/trtc/tools/state_machine.py +690 -0
- package/skills/trtc-ai-service/README.md +195 -0
- package/skills/trtc-ai-service/README.zh-CN.md +193 -0
- package/skills/trtc-ai-service/SKILL.md +945 -0
- package/skills/trtc-ai-service/auto_adapters/README.md +40 -0
- package/skills/trtc-ai-service/auto_adapters/frontend-spa/README.md +27 -0
- package/skills/trtc-ai-service/auto_adapters/frontend-spa/angular/voice-agent.component.ts.tpl +131 -0
- package/skills/trtc-ai-service/auto_adapters/frontend-spa/manifest.yaml +57 -0
- package/skills/trtc-ai-service/auto_adapters/frontend-spa/react/VoiceAgent.tsx.tpl +142 -0
- package/skills/trtc-ai-service/auto_adapters/frontend-spa/vue/VoiceAgent.vue.tpl +121 -0
- package/skills/trtc-ai-service/auto_adapters/integration_templates/generic-backend.md +45 -0
- package/skills/trtc-ai-service/auto_adapters/integration_templates/generic-frontend.md +51 -0
- package/skills/trtc-ai-service/auto_adapters/integration_templates/generic-rest-api.md +93 -0
- package/skills/trtc-ai-service/auto_adapters/java-backend/README.md +25 -0
- package/skills/trtc-ai-service/auto_adapters/java-backend/manifest.yaml +30 -0
- package/skills/trtc-ai-service/auto_adapters/java-backend/quarkus/VoiceAgentFilter.java.tpl +64 -0
- package/skills/trtc-ai-service/auto_adapters/java-backend/springboot/VoiceAgentFilter.java.tpl +91 -0
- package/skills/trtc-ai-service/auto_adapters/manifest.yaml +43 -0
- package/skills/trtc-ai-service/auto_adapters/node-backend/README.md +25 -0
- package/skills/trtc-ai-service/auto_adapters/node-backend/express.js.tpl +40 -0
- package/skills/trtc-ai-service/auto_adapters/node-backend/fastify.js.tpl +27 -0
- package/skills/trtc-ai-service/auto_adapters/node-backend/koa.js.tpl +31 -0
- package/skills/trtc-ai-service/auto_adapters/node-backend/manifest.yaml +47 -0
- package/skills/trtc-ai-service/auto_adapters/python-backend/README.md +22 -0
- package/skills/trtc-ai-service/auto_adapters/python-backend/django.py.tpl +32 -0
- package/skills/trtc-ai-service/auto_adapters/python-backend/fastapi.py.tpl +35 -0
- package/skills/trtc-ai-service/auto_adapters/python-backend/flask.py.tpl +31 -0
- package/skills/trtc-ai-service/auto_adapters/python-backend/manifest.yaml +45 -0
- package/skills/trtc-ai-service/capabilities/__init__.py +43 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/.env.example +29 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/INTEGRATION.md +134 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/INTERFACE_ADAPT.md +111 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/QUICK_START.md +62 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/manifest.yaml +250 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/requirements.txt +6 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/__init__.py +10 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/_capability_loader.py +218 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/agent.py +231 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/credentials.py +132 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/health.py +355 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/log_filter.py +76 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/modality.py +109 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/server.py +312 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/trtc_client.py +315 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/src/usersig.py +90 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/tests/test_skeleton.py +216 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/web-demo/README.md +48 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/web-demo/app.js +415 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/web-demo/index.html +68 -0
- package/skills/trtc-ai-service/capabilities/conversation-core/web-demo/styles.css +136 -0
- package/skills/trtc-ai-service/capabilities/digital-human/README.md +31 -0
- package/skills/trtc-ai-service/capabilities/digital-human/manifest.yaml +64 -0
- package/skills/trtc-ai-service/capabilities/digital-human/src/__init__.py +2 -0
- package/skills/trtc-ai-service/capabilities/digital-human/src/router.py +43 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/INTERFACE_ADAPT.md +353 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/README.md +44 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/manifest.yaml +227 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/__init__.py +2 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/adapters/__init__.py +9 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/adapters/default_rest.py +242 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/adapters/factory.py +89 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/adapters/local_queue.py +258 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/adapters/mock.py +132 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/core/__init__.py +25 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/core/intent_detector.py +75 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/core/models.py +163 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/core/service.py +192 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/feedback_store.py +54 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/ports/__init__.py +4 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/ports/handoff_client.py +86 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/queue.py +62 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/router.py +201 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/summary_link.py +77 -0
- package/skills/trtc-ai-service/capabilities/human-handoff/src/trigger.py +25 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/INTERFACE_ADAPT.md +297 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/README.md +51 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/data/faq.json +20 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/manifest.yaml +211 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/__init__.py +8 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/adapters/__init__.py +9 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/adapters/default_rest.py +209 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/adapters/factory.py +86 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/adapters/local_json.py +172 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/adapters/mock.py +91 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/core/__init__.py +12 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/core/models.py +77 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/core/scoring.py +73 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/core/service.py +78 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/ports/__init__.py +4 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/ports/kb_client.py +61 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/retriever.py +56 -0
- package/skills/trtc-ai-service/capabilities/knowledge-base/src/router.py +85 -0
- package/skills/trtc-ai-service/capabilities/session-summary/INTERFACE_ADAPT.md +99 -0
- package/skills/trtc-ai-service/capabilities/session-summary/README.md +47 -0
- package/skills/trtc-ai-service/capabilities/session-summary/data/test_session.json +18 -0
- package/skills/trtc-ai-service/capabilities/session-summary/manifest.yaml +165 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/__init__.py +2 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/adapters/__init__.py +5 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/adapters/base.py +31 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/adapters/default_rest.py +67 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/adapters/factory.py +51 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/adapters/local_json.py +42 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/adapters/mock.py +22 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/recorder.py +210 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/router.py +93 -0
- package/skills/trtc-ai-service/capabilities/session-summary/src/summarizer.py +163 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/INTERFACE_ADAPT.md +158 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/README.md +50 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/data/tools.yaml +58 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/examples/__init__.py +1 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/examples/local_tools.py +101 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/manifest.yaml +146 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/src/__init__.py +8 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/src/dispatcher.py +54 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/src/registry.py +219 -0
- package/skills/trtc-ai-service/capabilities/tool-calling/src/router.py +50 -0
- package/skills/trtc-ai-service/references/business-contract-spec.md +263 -0
- package/skills/trtc-ai-service/scenarios/custom-builder/README.md +86 -0
- package/skills/trtc-ai-service/scenarios/custom-builder/output-templates/recipe.yaml.j2 +194 -0
- package/skills/trtc-ai-service/scenarios/custom-builder/prompts/q1-business-scenario.md +43 -0
- package/skills/trtc-ai-service/scenarios/custom-builder/prompts/q2-io-modality.md +57 -0
- package/skills/trtc-ai-service/scenarios/custom-builder/prompts/q3-ui-form.md +55 -0
- package/skills/trtc-ai-service/scenarios/custom-builder/prompts/q4-capabilities.md +78 -0
- package/skills/trtc-ai-service/scenarios/customer-service/README.md +114 -0
- package/skills/trtc-ai-service/scenarios/customer-service/recipe.yaml +154 -0
- package/skills/trtc-ai-service/scenarios/customer-service/sample-data/README.md +32 -0
- package/skills/trtc-ai-service/scenarios/customer-service/sample-data/faq-sample.json +37 -0
- package/skills/trtc-ai-service/scenarios/customer-service/system-prompt.template.md +94 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/admin-board/app.js +347 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/admin-board/index.html +125 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/admin-board/styles.css +487 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/admin-board/tokens.css +71 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/design-system/DESIGN_GUIDELINES.md +370 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/voice-customer-service/README.md +68 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/voice-customer-service/app.js +1307 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/voice-customer-service/data.js +40 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/voice-customer-service/index.html +233 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/voice-customer-service/mock-shop.json +21 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/voice-customer-service/styles.css +603 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/voice-customer-service/tokens.css +71 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/widget-floating/agent-link.js +323 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/widget-floating/app.js +458 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/widget-floating/index.html +109 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/widget-floating/styles.css +489 -0
- package/skills/trtc-ai-service/scenarios/customer-service/ui/widget-floating/tokens.css +59 -0
- package/skills/trtc-ai-service/scripts/add-capability.py +364 -0
- package/skills/trtc-ai-service/scripts/contract-adapt.py +334 -0
- package/skills/trtc-ai-service/scripts/detect-stack.py +40 -0
- package/skills/trtc-ai-service/scripts/lib/__init__.py +20 -0
- package/skills/trtc-ai-service/scripts/lib/adapter_codegen.py +509 -0
- package/skills/trtc-ai-service/scripts/lib/arbitrator.py +152 -0
- package/skills/trtc-ai-service/scripts/lib/contract_resolver.py +519 -0
- package/skills/trtc-ai-service/scripts/lib/credential_validators.py +253 -0
- package/skills/trtc-ai-service/scripts/lib/curl_parser.py +303 -0
- package/skills/trtc-ai-service/scripts/lib/degrader.py +140 -0
- package/skills/trtc-ai-service/scripts/lib/injector.py +347 -0
- package/skills/trtc-ai-service/scripts/lib/manifest_resolver.py +288 -0
- package/skills/trtc-ai-service/scripts/lib/openapi_parser.py +289 -0
- package/skills/trtc-ai-service/scripts/lib/stack_detector.py +159 -0
- package/skills/trtc-ai-service/scripts/lib/tokens_compile.py +204 -0
- package/skills/trtc-ai-service/scripts/post-install-patch.py +225 -0
- package/skills/trtc-ai-service/scripts/setup-credentials.py +393 -0
- package/skills/trtc-ai-service/scripts/verify-credentials.py +108 -0
- package/skills/trtc-ai-service/start.sh +111 -0
- package/skills/trtc-ai-service/tests/__init__.py +1 -0
- package/skills/trtc-ai-service/tests/test_arbitrator.py +64 -0
- package/skills/trtc-ai-service/tests/test_capability_overlay.py +85 -0
- package/skills/trtc-ai-service/tests/test_contract_resolver.py +190 -0
- package/skills/trtc-ai-service/tests/test_handoff_ports.py +195 -0
- package/skills/trtc-ai-service/tests/test_kb_ports.py +195 -0
- package/skills/trtc-ai-service/tests/test_manifest_resolver.py +95 -0
- package/skills/trtc-ai-service/tests/test_recipe_assembly.py +175 -0
- package/skills/trtc-ai-service/tests/test_stack_and_degrader.py +101 -0
- package/skills/trtc-ai-service/tests/test_verify_credentials.py +285 -0
- package/skills/trtc-ai-service/triggers.yaml +29 -0
- package/skills/trtc-conference/SKILL.md +324 -0
- package/skills/trtc-conference/flows/onboarding.md +205 -0
- package/skills/trtc-conference/flows/topic.md +474 -0
- package/skills/trtc-conference/flows/troubleshoot.md +85 -0
- package/skills/trtc-conference/hooks/pretooluse_require_business_decisions.py +213 -0
- package/skills/trtc-conference/playbooks/medical-quickstart.md +84 -0
- package/skills/trtc-conference/playbooks/official-roomkit.md +97 -0
- package/skills/trtc-conference/references/local-usersig/basic-info-config.ts +39 -0
- package/skills/trtc-conference/references/usersig-handling.md +134 -0
- package/skills/trtc-conference/templates/medical-consultation/src/config/lib-generate-test-usersig-es.min.d.ts +4 -0
- package/skills/trtc-conference/templates/medical-consultation/src/config/lib-generate-test-usersig-es.min.js +2 -0
- package/skills/trtc-conference/tests/__pycache__/test_conference_onboarding_contract.cpython-313-pytest-9.0.2.pyc +0 -0
- package/skills/trtc-conference/tests/__pycache__/test_conference_topic_flow_contract.cpython-313-pytest-9.0.2.pyc +0 -0
- package/skills/trtc-conference/tests/test_conference_index_contract.py +43 -0
- package/skills/trtc-conference/tests/test_conference_onboarding_contract.py +103 -0
- package/skills/trtc-conference/tests/test_conference_template_contract.py +25 -0
- package/skills/trtc-conference/tests/test_conference_topic_flow_contract.py +132 -0
- package/skills/trtc-conference/tools/apply_checks.py +328 -0
- package/skills/trtc-conference/verify_lib/__init__.py +0 -0
- package/skills/{trtc-apply/guardrails/apply_lib → trtc-conference/verify_lib}/rule_parser.py +1 -1
- package/skills/trtc-docs/SKILL.md +91 -119
- package/.cursor/rules/ui-mode.mdc +0 -99
- package/ai-instructions/base.md +0 -13
- package/ai-instructions/ui-mode.md +0 -93
- package/knowledge-base/index.yaml +0 -462
- package/skills/trtc/room-builder/SKILL.md +0 -133
- package/skills/trtc/room-builder/templates/scenarios/medical-consultation/README.md +0 -108
- package/skills/trtc/room-builder/tools/render_ai_instructions.py +0 -226
- package/skills/trtc-apply/SKILL.md +0 -97
- package/skills/trtc-onboarding/SKILL.md +0 -841
- package/skills/trtc-onboarding/reference/path-a1-demo.md +0 -103
- package/skills/trtc-onboarding/reference/path-a2-integrate.md +0 -737
- package/skills/trtc-onboarding/reference/path-b-troubleshoot.md +0 -186
- package/skills/trtc-onboarding/reference/path-c-expand.md +0 -43
- package/skills/trtc-onboarding/reference/supported-matrix.md +0 -100
- package/skills/trtc-search/SKILL.md +0 -228
- package/skills/trtc-topic/SKILL.md +0 -622
- package/skills/trtc-topic/scripts/apply.py +0 -581
- package/skills/trtc-topic/scripts/lib/state_machine.py +0 -328
- package/skills/trtc-topic/tests/README.md +0 -70
- package/skills/trtc-topic/tests/conftest.py +0 -72
- package/skills/trtc-topic/tests/test_apply_cli.py +0 -480
- package/skills/trtc-topic/tests/test_end_to_end.py +0 -305
- package/skills/trtc-topic/tests/test_finalize_session.py +0 -51
- package/skills/trtc-topic/tests/test_gates.py +0 -316
- package/skills/trtc-topic/tests/test_session_resolver.py +0 -260
- package/skills/trtc-topic/tests/test_state_machine.py +0 -414
- package/skills/trtc-topic/tests/test_stop_require_apply.py +0 -99
- package/skills/trtc-topic/tests/test_topic_skill_invariants.py +0 -130
- /package/skills/{trtc-topic → trtc}/runtime/lib/platforms.py +0 -0
- /package/skills/{trtc-topic → trtc}/runtime/telemetry_collector.py +0 -0
- /package/skills/{trtc-onboarding/reference → trtc/runtime}/usersig-handling.md +0 -0
- /package/skills/{trtc-topic/scripts → trtc/tools}/finalize_session.py +0 -0
- /package/skills/{trtc-apply/guardrails/apply_lib → trtc-ai-service/capabilities/conversation-core/tests}/__init__.py +0 -0
- /package/skills/{trtc-topic → trtc-conference}/references/execution-units.yaml +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios/medical-consultation/src/config → trtc-conference/references/local-usersig}/lib-generate-test-usersig-es.min.d.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios/medical-consultation/src/config → trtc-conference/references/local-usersig}/lib-generate-test-usersig-es.min.js +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/docs/backend-contract.zh-CN.md +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/docs/integration.zh-CN.md +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/docs/theme.zh-CN.md +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/index.html +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/package.json +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/postcss.config.js +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/App.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/ConsultationManagePanel.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/LanguageSwitch.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/LoadingSpinner.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/MedicalAlert.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/MedicalBusinessPanel.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/MedicalButton.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/MedicalConfirmDialog.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/MedicalDataPanel.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/MedicalRecordPanel.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/components/PrescriptionPanel.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/config/basic-info-config.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/config/runtime-config.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/env.d.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/components/ConsultationChatPanel.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/components/ConsultationMembersPanel.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/components/ConsultationTranscriptionPanel.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/components/ConsultationVideoStage.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/components/InviteDoctorDialog.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/components/KickMemberConfirmDialog.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/types.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/useConsultationChat.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/useConsultationDevices.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/useConsultationParticipants.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/useConsultationPermissions.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/features/consultation/utils.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/i18n/en-US/index.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/i18n/index.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/i18n/medicalTranslate.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/i18n/state.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/i18n/zh-CN/index.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/main.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/mock/appointments.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/mock/users.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/router/index.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/index.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/integration/appointmentService.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/integration/authService.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/integration/launchContext.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/integration/userService.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/mock/appointmentService.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/mock/authService.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/mock/userService.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/services/adapters/types.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/shared/icons.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/styles/index.css +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/styles/tailwind.css +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/styles/theme.css +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/utils/auth.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/utils/format.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/utils/navigation.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/utils/session.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/views/DoctorConsultationView.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/views/DoctorDashboardView.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/views/LoginView.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/views/PatientConsultationFinishedView.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/views/PatientConsultationView.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/views/PatientSelectDoctorView.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/src/views/PatientWaitingView.vue +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/tsconfig.json +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/tsconfig.node.json +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation/vite.config.ts +0 -0
- /package/skills/{trtc/room-builder/templates/scenarios → trtc-conference/templates}/medical-consultation//346/216/245/345/205/245/350/257/264/346/230/216.md" +0 -0
- /package/skills/{trtc-topic/runtime/lib → trtc-conference/tools}/__init__.py +0 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# TRTC AI Customer Service Skill
|
|
2
|
+
|
|
3
|
+
[English](README.md) | [中文](README.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
> A zero-code AI customer service builder. Just say a sentence in the chat window and the AI will guide you step by step to get your customer service system up and running — no terminal, no scripts, no coding required.
|
|
6
|
+
|
|
7
|
+
## What is this?
|
|
8
|
+
|
|
9
|
+
Building an "AI customer service agent with TRTC Conversational AI" packaged into a plug-and-play Skill:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
You (in your IDE's AI chat window):
|
|
13
|
+
"Build me an AI customer service agent with TRTC"
|
|
14
|
+
|
|
15
|
+
AI (does everything automatically):
|
|
16
|
+
1. Checks your runtime environment
|
|
17
|
+
2. Lets you choose a setup mode (Quick Experience / Integrate into My System)
|
|
18
|
+
3. Guides you through configuring 3 keys (cloud service credentials)
|
|
19
|
+
4. Installs dependencies and assembles the customer service capabilities
|
|
20
|
+
5. Starts the service and gives you a browser URL to see it in action
|
|
21
|
+
|
|
22
|
+
You never open a terminal or run a script manually.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Two ways to start
|
|
26
|
+
|
|
27
|
+
> The core capability of this Skill is **TRTC Conversational AI (voice agent)**.
|
|
28
|
+
|
|
29
|
+
| Mode | Who it's for | What you get | What you need to do |
|
|
30
|
+
|------|-------------|-------------|---------------------|
|
|
31
|
+
| **Quick Experience** | First-timers who want to see what it looks like | A complete voice agent web UI + ticket management dashboard | Configure 3 keys |
|
|
32
|
+
| **Integrate into My System** | Users who already have a website or app and want to embed the AI agent's "brain" | Backend API endpoints + interface specs + sample code (no UI generated) | Configure 3 keys + choose capabilities and interaction modes |
|
|
33
|
+
|
|
34
|
+
**No matter which one you choose, the AI will walk you through every step** — zero programming experience needed.
|
|
35
|
+
|
|
36
|
+
## The only entry point
|
|
37
|
+
|
|
38
|
+
[`SKILL.md`](./SKILL.md) — Read and executed by your Coding Agent (CodeBuddy / Cursor / Claude Code).
|
|
39
|
+
|
|
40
|
+
> **Install anywhere**: This Skill can live in a project subdirectory, `.agents/skills/`, `.codebuddy/skills/`, or anywhere else —
|
|
41
|
+
> it does **not** need to be at the workspace root. Scripts are self-locating; the Agent just needs to use absolute paths.
|
|
42
|
+
|
|
43
|
+
### Installation
|
|
44
|
+
|
|
45
|
+
#### Codex CLI
|
|
46
|
+
|
|
47
|
+
**User-level** (recommended — available across all projects):
|
|
48
|
+
```bash
|
|
49
|
+
/skills install https://github.com/Burgerham4R/ai-customer-service-skill
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Project-level** (only available in the current project):
|
|
53
|
+
```bash
|
|
54
|
+
# The skill will be installed to ./.codex/skills/ (Cmd+Shift+. to show hidden folders in Finder)
|
|
55
|
+
/skills install --project https://github.com/Burgerham4R/ai-customer-service-skill
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
#### Claude Code CLI
|
|
59
|
+
|
|
60
|
+
**User-level** (recommended — available across all projects):
|
|
61
|
+
```bash
|
|
62
|
+
mkdir -p ~/.claude/skills
|
|
63
|
+
git clone https://github.com/Burgerham4R/ai-customer-service-skill.git ~/.claude/skills/ai-customer-service-skill
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Project-level** (only available in the current project):
|
|
67
|
+
```bash
|
|
68
|
+
mkdir -p ./.claude/skills
|
|
69
|
+
git clone https://github.com/Burgerham4R/ai-customer-service-skill.git ./.claude/skills/ai-customer-service-skill
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### Other agents (CodeBuddy / Cursor / etc.)
|
|
73
|
+
|
|
74
|
+
Clone to any location and point your agent to `SKILL.md`:
|
|
75
|
+
```bash
|
|
76
|
+
git clone https://github.com/Burgerham4R/ai-customer-service-skill.git
|
|
77
|
+
# Then tell your agent:
|
|
78
|
+
# "Load the Skill from /path/to/ai-service-skill/SKILL.md"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
> **After installation, restart your CLI session** to ensure the Skill is properly registered and loaded.
|
|
82
|
+
|
|
83
|
+
### Trigger keywords
|
|
84
|
+
|
|
85
|
+
- "AI customer service" / "build customer service" / "customer service bot"
|
|
86
|
+
- "TRTC + customer service" / "voice agent + customer service"
|
|
87
|
+
- "Build me an AI customer service agent with TRTC"
|
|
88
|
+
|
|
89
|
+
## What are the 3 keys?
|
|
90
|
+
|
|
91
|
+
To get the customer service agent running, you need 3 cloud service credentials. Don't worry — they're just 3 strings you copy-paste from the corresponding websites.
|
|
92
|
+
|
|
93
|
+
> **Tencent RTC (trtc.io)** is Tencent Cloud's international Real-Time Communication brand. The TRTC Conversational AI service runs on Tencent Cloud infrastructure — your TRTC account and Tencent Cloud account are linked through a unified login system. When you get your API Key, the system will automatically sync your login session.
|
|
94
|
+
|
|
95
|
+
| Key | Purpose | Where to find it |
|
|
96
|
+
|-----|---------|-----------------|
|
|
97
|
+
| Key 1: TRTC Application Credentials | Lets the agent make calls and do voice chat | https://console.trtc.io/ (register & create a Conversational AI app) |
|
|
98
|
+
| 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 |
|
|
99
|
+
| Key 3: LLM API Key | Lets the agent "think" — understand queries and respond | Your registered AI service website (e.g. OpenAI, DeepSeek, etc.) |
|
|
100
|
+
|
|
101
|
+
> 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.
|
|
102
|
+
|
|
103
|
+
## What capabilities does the agent have?
|
|
104
|
+
|
|
105
|
+
| Capability | Description | Quick Experience | Integration |
|
|
106
|
+
|------------|-------------|:---:|:---:|
|
|
107
|
+
| Conversation | Voice + text two-way communication | ✅ Auto-assembled | ✅ Default included |
|
|
108
|
+
| Knowledge Base | Upload docs, agent auto-retrieves and answers FAQ | ✅ Simulated demo | 🔘 Optional |
|
|
109
|
+
| Human Handoff | Complex issues auto-escalate to a human agent | ✅ Simulated demo | 🔘 Optional |
|
|
110
|
+
| Tool Calling | Agent can proactively query data from your system | ❌ Not supported | 🔘 Optional |
|
|
111
|
+
| Session Summary | Auto-generates a summary after each conversation | ✅ Simulated demo | 🔘 Optional |
|
|
112
|
+
|
|
113
|
+
> "Simulated demo" means: the UI and workflow are complete, but uses demo data without connecting to a real business system. For real integration, choose "Integrate into My System".
|
|
114
|
+
|
|
115
|
+
## Communication modes (optional for integration)
|
|
116
|
+
|
|
117
|
+
| Mode | Description | Best for |
|
|
118
|
+
|------|-------------|---------|
|
|
119
|
+
| Text-only IM | Agent replies via text chat | Web chat widgets, in-app messaging |
|
|
120
|
+
| Text + TTS | Agent types replies + reads them aloud | Smart speakers, voice assistants |
|
|
121
|
+
| Omni-modal | Text, voice, and video all supported | Advanced customer service scenarios |
|
|
122
|
+
| Voice-only Call | Agent communicates only via phone | Call centers, hotlines |
|
|
123
|
+
|
|
124
|
+
## Advanced: Customize TRTC Conversational AI
|
|
125
|
+
|
|
126
|
+
If you want to fine-tune the AI agent's voice behavior or change the underlying models, refer to the official TRTC Conversational AI documentation:
|
|
127
|
+
|
|
128
|
+
### Adjust voice parameters (speed / pitch / timbre)
|
|
129
|
+
|
|
130
|
+
Both STT (speech-to-text) and TTS (text-to-speech) are powered by Tencent's in-house engines. You can adjust voice parameters via the following documentation:
|
|
131
|
+
|
|
132
|
+
| Stage | Documentation |
|
|
133
|
+
|-------|--------------|
|
|
134
|
+
| STT (Speech-to-Text) | [STT configuration parameters](https://trtc.io/document/69592?product=conversationalai) |
|
|
135
|
+
| TTS (Text-to-Speech) | [TTS configuration parameters](https://trtc.io/document/68340?product=conversationalai) |
|
|
136
|
+
|
|
137
|
+
### Switch STT / LLM / TTS models
|
|
138
|
+
|
|
139
|
+
To change the underlying STT, LLM, or TTS models, check the model overview for each pipeline stage and follow the integration guide:
|
|
140
|
+
|
|
141
|
+
| Stage | Documentation |
|
|
142
|
+
|-------|--------------|
|
|
143
|
+
| STT (Speech-to-Text) | [STT Model Overview](https://trtc.io/document/69592?product=conversationalai) |
|
|
144
|
+
| LLM (Language Model) | [LLM Model Overview](https://trtc.io/document/68338?product=conversationalai) |
|
|
145
|
+
| TTS (Text-to-Speech) | [TTS Model Overview](https://trtc.io/document/68340?product=conversationalai) |
|
|
146
|
+
|
|
147
|
+
### Full documentation
|
|
148
|
+
|
|
149
|
+
For any other configuration needs, start from the Conversational AI overview and navigate from there:
|
|
150
|
+
|
|
151
|
+
- [TRTC Conversational AI Overview](https://trtc.io/document/conversational-ai-overview?product=conversationalai)
|
|
152
|
+
|
|
153
|
+
## Directory structure
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
ai-service-skill/
|
|
157
|
+
├── SKILL.md # ★ The only entry point (triggered by Coding Agent)
|
|
158
|
+
├── start.sh # Bootstrap script (auto-install deps + start service)
|
|
159
|
+
│
|
|
160
|
+
├── scripts/ # AI-invoked tool scripts
|
|
161
|
+
│ ├── verify-credentials.py # 3-key verification
|
|
162
|
+
│ ├── setup-credentials.py # Interactive developer setup
|
|
163
|
+
│ ├── add-capability.py # Capability assembly
|
|
164
|
+
│ ├── contract-adapt.py # Interface contract adaptation
|
|
165
|
+
│ └── lib/ # Shared modules
|
|
166
|
+
│
|
|
167
|
+
├── capabilities/
|
|
168
|
+
│ ├── conversation-core/ # Generic Voice Agent skeleton
|
|
169
|
+
│ ├── knowledge-base/ # FAQ knowledge base retrieval
|
|
170
|
+
│ ├── tool-calling/ # Tool calling
|
|
171
|
+
│ ├── human-handoff/ # Human handoff + ticket management
|
|
172
|
+
│ ├── session-summary/ # Session summaries
|
|
173
|
+
│ └── digital-human/ # Digital human (placeholder)
|
|
174
|
+
│
|
|
175
|
+
├── scenarios/
|
|
176
|
+
│ ├── customer-service/ # Path A: Demo UI
|
|
177
|
+
│ └── custom-builder/ # Path B: Capability selection wizard
|
|
178
|
+
│
|
|
179
|
+
├── auto_adapters/ # Tech stack adapters
|
|
180
|
+
└── tests/ # Test suite
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## FAQ
|
|
184
|
+
|
|
185
|
+
| Issue | Solution |
|
|
186
|
+
|-------|----------|
|
|
187
|
+
| Key verification failed | Go back to the key configuration step and double-check each key value |
|
|
188
|
+
| Port 3000 is in use | Use a different port (e.g. `--port 8080`) or stop the program occupying the port |
|
|
189
|
+
| Python version too low | Download and install Python 3.9+ from python.org |
|
|
190
|
+
| Browser shows blank page after startup | Hard refresh: `Cmd+Shift+R` (Mac) or `Ctrl+Shift+R` (Windows) |
|
|
191
|
+
| Want to connect a real business system | Re-run the workflow and choose "Integrate into My System" |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
> **One last thing**: This Skill is designed so that anyone — even with zero coding experience — can get an AI customer service agent up and running. If you run into any issues along the way, just tell the AI in the chat window and it'll help you resolve them.
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# TRTC AI 客服 Skill
|
|
2
|
+
|
|
3
|
+
[English](README.md) | [中文](README.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
> 零代码 AI 客服搭建器。只需在聊天窗口中说一句话,AI 会一步步引导你完成客服系统的搭建——无需终端、无需脚本、无需编程。
|
|
6
|
+
|
|
7
|
+
## 这是什么?
|
|
8
|
+
|
|
9
|
+
将"基于 TRTC Conversational AI 的 AI 客服智能体"打包成一个即插即用的 Skill:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
你(在 IDE 的 AI 聊天窗口中说):
|
|
13
|
+
"帮我用 TRTC 搭建一个 AI 客服"
|
|
14
|
+
|
|
15
|
+
AI(自动完成所有操作):
|
|
16
|
+
1. 检查你的运行环境
|
|
17
|
+
2. 让你选择搭建模式(快速体验 / 集成到我的系统)
|
|
18
|
+
3. 引导你完成 3 个密钥的配置(云服务凭证)
|
|
19
|
+
4. 安装依赖并组装客服能力
|
|
20
|
+
5. 启动服务并给你一个浏览器地址,直接查看效果
|
|
21
|
+
|
|
22
|
+
你完全不需要打开终端或手动执行任何脚本。
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 两种方式开始
|
|
26
|
+
|
|
27
|
+
> 本 Skill 的核心能力是 **TRTC Conversational AI(语音智能体)**。
|
|
28
|
+
|
|
29
|
+
| 模式 | 适合谁 | 能得到什么 | 需要做什么 |
|
|
30
|
+
|------|--------|-----------|-----------|
|
|
31
|
+
| **快速体验** | 想先看看效果的新用户 | 一个完整的语音智能体 Web 界面 + 工单管理后台 | 配置 3 个密钥 |
|
|
32
|
+
| **集成到我的系统** | 已有网站或应用、想嵌入 AI 智能体"大脑"的用户 | 后端 API 接口 + 接口规范 + 示例代码(不生成 UI) | 配置 3 个密钥 + 选择能力和交互模式 |
|
|
33
|
+
|
|
34
|
+
**无论选择哪种方式,AI 都会引导你走完每一步**——零编程经验也没问题。
|
|
35
|
+
|
|
36
|
+
## 唯一入口
|
|
37
|
+
|
|
38
|
+
[`SKILL.md`](./SKILL.md) — 由你的编程助手(CodeBuddy / Cursor / Claude Code)读取和执行。
|
|
39
|
+
|
|
40
|
+
> **任意位置安装**:本 Skill 可以放在项目子目录、`.agents/skills/`、`.codebuddy/skills/` 或任何位置——
|
|
41
|
+
> **不需要**放在工作区根目录。脚本会自动定位自身路径,Agent 只需使用绝对路径。
|
|
42
|
+
|
|
43
|
+
### 安装方式
|
|
44
|
+
|
|
45
|
+
#### Codex CLI
|
|
46
|
+
|
|
47
|
+
**用户级安装**(推荐 — 所有项目均可使用):
|
|
48
|
+
```bash
|
|
49
|
+
/skills install https://github.com/Burgerham4R/ai-customer-service-skill
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**项目级安装**(仅当前项目可用):
|
|
53
|
+
```bash
|
|
54
|
+
# Skill 将安装到 ./.codex/skills/(访达中按 Cmd+Shift+. 可显示隐藏文件夹)
|
|
55
|
+
/skills install --project https://github.com/Burgerham4R/ai-customer-service-skill
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
#### Claude Code CLI
|
|
59
|
+
|
|
60
|
+
**用户级安装**(推荐 — 所有项目均可使用):
|
|
61
|
+
```bash
|
|
62
|
+
mkdir -p ~/.claude/skills
|
|
63
|
+
git clone https://github.com/Burgerham4R/ai-customer-service-skill.git ~/.claude/skills/ai-customer-service-skill
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**项目级安装**(仅当前项目可用):
|
|
67
|
+
```bash
|
|
68
|
+
mkdir -p ./.claude/skills
|
|
69
|
+
git clone https://github.com/Burgerham4R/ai-customer-service-skill.git ./.claude/skills/ai-customer-service-skill
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### 其他 Agent(CodeBuddy / Cursor 等)
|
|
73
|
+
|
|
74
|
+
克隆到任意位置,然后让 Agent 加载 `SKILL.md`:
|
|
75
|
+
```bash
|
|
76
|
+
git clone https://github.com/Burgerham4R/ai-customer-service-skill.git
|
|
77
|
+
# 然后对你的 Agent 说:
|
|
78
|
+
# "从 /path/to/ai-service-skill/SKILL.md 加载这个 Skill"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
> **安装完成后,请重启 CLI 会话** 以确保 Skill 被正确注册和加载。
|
|
82
|
+
|
|
83
|
+
- "AI客服" / "搭建客服" / "客服机器人"
|
|
84
|
+
- "TRTC + 客服" / "语音智能体 + 客服"
|
|
85
|
+
- "帮我用 TRTC 搭建一个 AI 客服"
|
|
86
|
+
|
|
87
|
+
## 3 个密钥是什么?
|
|
88
|
+
|
|
89
|
+
要让客服智能体跑起来,你需要 3 个云服务凭证。别担心——它们只是从相应网站复制粘贴的 3 个字符串:
|
|
90
|
+
|
|
91
|
+
> **Tencent RTC (trtc.io)** 是腾讯云旗下的国际实时音视频通信品牌。TRTC Conversational AI 服务基于腾讯云基础设施运行——你的 TRTC 账号和腾讯云账号通过统一登录体系关联。获取 API Key 时,系统会自动同步你的登录状态。
|
|
92
|
+
|
|
93
|
+
| 密钥 | 用途 | 获取地址 |
|
|
94
|
+
|------|------|---------|
|
|
95
|
+
| 密钥 1:TRTC 应用凭证 | 让智能体能够拨打电话和进行语音聊天 | https://console.trtc.io/(注册并创建 Conversational AI 应用) |
|
|
96
|
+
| 密钥 2:Tencent Cloud API Key | 证明你有权限使用 TRTC 语音和通话服务(登录态与 TRTC 账号自动同步) | https://console.tencentcloud.com/cam/capi |
|
|
97
|
+
| 密钥 3:LLM API Key | 让智能体能够"思考"——理解用户问题并回复 | 你注册的 AI 服务网站(如 OpenAI、DeepSeek 等) |
|
|
98
|
+
|
|
99
|
+
> AI 会一步步详细告诉你如何获取每个密钥。你的密钥信息仅用于本次配置会话——系统不会记录或泄露。
|
|
100
|
+
|
|
101
|
+
## 智能体有哪些能力?
|
|
102
|
+
|
|
103
|
+
| 能力 | 描述 | 快速体验 | 集成模式 |
|
|
104
|
+
|------|------|:---:|:---:|
|
|
105
|
+
| 对话 | 语音 + 文字双向交流 | ✅ 自动组装 | ✅ 默认包含 |
|
|
106
|
+
| 知识库 | 上传文档,智能体自动检索并回答常见问题 | ✅ 模拟演示 | 🔘 可选 |
|
|
107
|
+
| 人工转接 | 复杂问题自动转接至人工客服 | ✅ 模拟演示 | 🔘 可选 |
|
|
108
|
+
| 工具调用 | 智能体可主动查询你的系统中的数据 | ❌ 不支持 | 🔘 可选 |
|
|
109
|
+
| 会话摘要 | 每次对话后自动生成摘要 | ✅ 模拟演示 | 🔘 可选 |
|
|
110
|
+
|
|
111
|
+
> "模拟演示"指:界面和工作流是完整的,但使用的是演示数据,未接入真实业务系统。如需真实接入,请选择"集成到我的系统"。
|
|
112
|
+
|
|
113
|
+
## 通信模式(集成模式可选)
|
|
114
|
+
|
|
115
|
+
| 模式 | 描述 | 适用场景 |
|
|
116
|
+
|------|------|---------|
|
|
117
|
+
| 纯文字即时消息 | 智能体通过文字聊天回复 | 网页聊天插件、应用内消息 |
|
|
118
|
+
| 文字 + TTS | 智能体打字回复 + 语音朗读 | 智能音箱、语音助手 |
|
|
119
|
+
| 全模态 | 文字、语音、视频全部支持 | 高级客服场景 |
|
|
120
|
+
| 纯语音通话 | 智能体仅通过电话沟通 | 呼叫中心、热线 |
|
|
121
|
+
|
|
122
|
+
## 进阶:自定义 TRTC Conversational AI
|
|
123
|
+
|
|
124
|
+
如果你想微调 AI 智能体的语音行为或更换底层模型,请参阅 TRTC Conversational AI 官方文档:
|
|
125
|
+
|
|
126
|
+
### 调整声音参数(语速 / 音调 / 音色)
|
|
127
|
+
|
|
128
|
+
STT(语音识别)和 TTS(语音合成)均使用腾讯自研引擎。你可以通过以下文档调整声音参数:
|
|
129
|
+
|
|
130
|
+
| 阶段 | 文档 |
|
|
131
|
+
|------|------|
|
|
132
|
+
| STT(语音识别) | [STT 配置参数](https://trtc.io/document/69592?product=conversationalai) |
|
|
133
|
+
| TTS(语音合成) | [TTS 配置参数](https://trtc.io/document/68340?product=conversationalai) |
|
|
134
|
+
|
|
135
|
+
### 切换 STT / LLM / TTS 模型
|
|
136
|
+
|
|
137
|
+
如需更换底层 STT、LLM 或 TTS 模型,请查看各环节的模型总览并按照接入指引操作:
|
|
138
|
+
|
|
139
|
+
| 阶段 | 文档 |
|
|
140
|
+
|------|------|
|
|
141
|
+
| STT(语音识别) | [STT 模型总览](https://trtc.io/document/69592?product=conversationalai) |
|
|
142
|
+
| LLM(大语言模型) | [LLM 模型总览](https://trtc.io/document/68338?product=conversationalai) |
|
|
143
|
+
| TTS(语音合成) | [TTS 模型总览](https://trtc.io/document/68340?product=conversationalai) |
|
|
144
|
+
|
|
145
|
+
### 完整文档
|
|
146
|
+
|
|
147
|
+
如有其他配置需求,请从 Conversational AI 总览页出发寻找相应答案:
|
|
148
|
+
|
|
149
|
+
- [TRTC Conversational AI 总览](https://trtc.io/document/conversational-ai-overview?product=conversationalai)
|
|
150
|
+
|
|
151
|
+
## 目录结构
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
ai-service-skill/
|
|
155
|
+
├── SKILL.md # ★ 唯一入口(由编程助手触发)
|
|
156
|
+
├── start.sh # 启动脚本(自动安装依赖 + 启动服务)
|
|
157
|
+
│
|
|
158
|
+
├── scripts/ # AI 调用的工具脚本
|
|
159
|
+
│ ├── verify-credentials.py # 三密钥验证
|
|
160
|
+
│ ├── setup-credentials.py # 交互式开发者配置
|
|
161
|
+
│ ├── add-capability.py # 能力组装
|
|
162
|
+
│ ├── contract-adapt.py # 接口契约适配
|
|
163
|
+
│ └── lib/ # 共享模块
|
|
164
|
+
│
|
|
165
|
+
├── capabilities/
|
|
166
|
+
│ ├── conversation-core/ # 通用语音智能体骨架
|
|
167
|
+
│ ├── knowledge-base/ # FAQ 知识库检索
|
|
168
|
+
│ ├── tool-calling/ # 工具调用
|
|
169
|
+
│ ├── human-handoff/ # 人工转接 + 工单管理
|
|
170
|
+
│ ├── session-summary/ # 会话摘要
|
|
171
|
+
│ └── digital-human/ # 数字人(占位)
|
|
172
|
+
│
|
|
173
|
+
├── scenarios/
|
|
174
|
+
│ ├── customer-service/ # 路径 A:演示界面
|
|
175
|
+
│ └── custom-builder/ # 路径 B:能力选择向导
|
|
176
|
+
│
|
|
177
|
+
├── auto_adapters/ # 技术栈适配器
|
|
178
|
+
└── tests/ # 测试套件
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 常见问题
|
|
182
|
+
|
|
183
|
+
| 问题 | 解决方案 |
|
|
184
|
+
|------|---------|
|
|
185
|
+
| 密钥验证失败 | 返回密钥配置步骤,仔细检查每个密钥值 |
|
|
186
|
+
| 端口 3000 被占用 | 使用其他端口(如 `--port 8080`)或停止占用端口的程序 |
|
|
187
|
+
| Python 版本过低 | 从 python.org 下载安装 Python 3.9+ |
|
|
188
|
+
| 启动后浏览器显示空白页 | 强制刷新:`Cmd+Shift+R`(Mac)或 `Ctrl+Shift+R`(Windows) |
|
|
189
|
+
| 想接入真实业务系统 | 重新运行工作流,选择"集成到我的系统" |
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
> **最后再说一句**:本 Skill 的设计目标是让任何人——即使完全不会编程——都能搭起一个 AI 客服智能体。如果在过程中遇到任何问题,直接在聊天窗口中告诉 AI,它会帮你解决。
|