mirror of
https://github.com/datascale-ai/opentalking.git
synced 2026-07-03 15:22:34 +08:00
Modular pipeline for text-driven talking avatars with WebRTC streaming: - FlashTalk / Wav2Lip / MuseTalk model adapters - LLM (OpenAI-compatible) → sentence split → Edge TTS → video generation - Interleaved A/V queue for lip-sync accuracy - Idle animation cache with crossfade and mouth stabilization - Unified server mode (API + worker in one process) - Immersive chat frontend (React + Tailwind + WebRTC) - Docker Compose configs for local, distributed, and Ascend 910B deployments
1.6 KiB
1.6 KiB
Contributing
Development Setup
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip setuptools wheel
pip install -e ".[dev]"
cd apps/web && npm ci
Install engine extras if you are working on FlashTalk:
pip install -e ".[engine,demo]"
Workflow
- Create a focused branch.
- Keep changes scoped to one problem or migration step.
- Run the relevant checks before opening a PR.
- Include setup notes for anything hardware-specific.
Checks
ruff check src/opentalking/core src/opentalking/server src/opentalking/worker src/opentalking/llm src/opentalking/tts src/opentalking/avatars src/opentalking/events src/opentalking/rtc apps/api apps/unified apps/cli tests
mypy src/opentalking/core src/opentalking/server src/opentalking/worker src/opentalking/llm src/opentalking/tts src/opentalking/avatars src/opentalking/events src/opentalking/rtc apps/api apps/unified apps/cli --ignore-missing-imports
pytest apps/api/tests apps/worker/tests tests
cd apps/web && npm run build
Project Conventions
- Canonical Python packages live under
src/opentalking/. apps/web/is the frontend. Do not mix backend code into it.- Prefer
opentalking.*imports over legacy package namespaces. - Keep environment-specific paths configurable through env vars.
- Do not commit secrets, credentials, or machine-specific paths.
Large Changes
For architecture work, include:
- the migration scope
- compatibility impact
- operational changes
- test coverage or validation performed
Reporting Issues
Use the GitHub issue templates for bugs and feature requests.