Skip to main content

Vision Agents Plugin: Tencent TRTC Edge

Tencent TRTC (Real-Time Communication) edge transport for Vision Agents. Lets an agent join a Tencent TRTC room and exchange audio/video with participants using the Tencent LiteAV SDK Python bindings.

Quickstart

Talk to an agent in 5 minutes. You'll need Docker, an .env with TENCENT_SDK_APP_ID, TENCENT_SDK_SECRET_KEY, OPENAI_API_KEY, and ELEVEN_API_KEY at the repo root, and a working microphone in a Chromium-based browser. The example pairs Tencent TRTC with OpenAI (LLM) and ElevenLabs (STT + TTS) — chosen because Gemini and Cartesia aren't reachable from mainland China, which is the natural deployment target for this edge.

  1. Open Tencent's hosted TRTC Web SDK quick demo: https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/quick-demo-js/index.html

    • Paste your TENCENT_SDK_APP_ID into SDKAppID and TENCENT_SDK_SECRET_KEY into SDKSecretKey — the page generates UserSig client-side.
    • Leave the auto-generated UserID and RoomID(String) as is.
    • Click Enter Room → demo log should print 🟩 [user_***] enterRoom.
    • Click Start Local Video — this also publishes the mic.
  2. Copy the RoomID(String) from the demo form and launch the agent with it:

    cd plugins/tencent
    TENCENT_TEST_ROOM_ID=<paste-room-id-here> docker compose run --rm tencent-agent
    

    On first run this builds the image and resolves the workspace; subsequent runs are fast. When the agent joins you'll see Tencent TRTC OnRemoteUserEnterRoom: <userId> matching the UserID shown in the demo.

  3. Talk. The flow is browser → Tencent → STT (ElevenLabs) → LLM (OpenAI) → TTS (ElevenLabs) → Tencent → browser. Confirm each leg in the agent log:

    • 🎤 [Transcript Complete]: … — STT got your speech.
    • 🤖 [LLM response final]: … — LLM produced a reply.
    • Reply plays back in the browser.

Usage in your own code

from vision_agents.core import Agent, User
from vision_agents.plugins import tencent

agent_user = User(id="agent-1", name="Agent")
edge = tencent.Edge(
    sdk_app_id=YOUR_SDK_APP_ID,
    user_sig=USER_SIG,  # or key=KEY to generate per join
)

agent = Agent(
    edge=edge,
    agent_user=agent_user,
    llm=...,
    # stt, tts, etc.
)

call = await edge.create_call(call_id=str(ROOM_ID), room_id=ROOM_ID)
await agent.join(call)
await agent.finish()

Install

uv add vision-agents-plugins-tencent

On Linux this pulls liteav from PyPI. On macOS the liteav dependency is skipped via a platform marker, so the package installs but tencent.Edge() raises at runtime — use the Docker setup from the Quickstart.

Configuration

tencent.Edge(...) parameters:

  • sdk_app_id (int): Tencent TRTC SDK App ID. Falls back to TENCENT_SDK_APP_ID env var.
  • user_sig (str): User signature for the agent user.
  • key (str): Optional. If set and user_sig is not, the plugin generates user_sig via TLSSigAPIv2. Falls back to TENCENT_SDK_SECRET_KEY env var.
  • video_fps (int): Outgoing video frame rate.

Environment variables:

  • TENCENT_SDK_APP_ID, TENCENT_SDK_SECRET_KEY — credentials.
  • TENCENT_TRTC_SCENE — one of auto (default), videocall, call, record.
  • TENCENT_TEST_ROOM_ID — interpolated by docker-compose.yml into the example runner's --call-id flag.

Platform support

The underlying liteav package ships only manylinux wheels — Linux x86_64 / aarch64 only. macOS and Windows must run the agent inside a Linux container (see Quickstart). User sigs are needed for room entry; either generate them with TLSSigAPIv2 or pass key= and let the plugin sign per join.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vision_agents_plugins_tencent-0.6.7.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vision_agents_plugins_tencent-0.6.7-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file vision_agents_plugins_tencent-0.6.7.tar.gz.

File metadata

  • Download URL: vision_agents_plugins_tencent-0.6.7.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vision_agents_plugins_tencent-0.6.7.tar.gz
Algorithm Hash digest
SHA256 02f81cda3ecf515b4b51554d1ee85aaa1e2479fdfe3f001230918f0d62aebb23
MD5 cbce08c5cd08a37e59ec6dea6c32c9a5
BLAKE2b-256 f7dbfda2a851b0726c54ce465ec5b5e15bd0dc460312d5a0bdd08b125943d356

See more details on using hashes here.

File details

Details for the file vision_agents_plugins_tencent-0.6.7-py3-none-any.whl.

File metadata

  • Download URL: vision_agents_plugins_tencent-0.6.7-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vision_agents_plugins_tencent-0.6.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a2ad6022d2180c2f6e666cd9079e439daae9bf0829878314bfcbfacc40a54567
MD5 6f69e0d819947b983a0be5970ff1027d
BLAKE2b-256 2e0d2867c87df77b37ac6da5c39b8717921a8e9720d26a960c7ca220da324249

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page