Coding
PromptBeginner5 minmarkdown
Markdown Converter
Agent skill for markdown-converter
7
==============================
Sign in to like and favorite skills
PuriPuly <3 is a VRChat real-time speech translation pipeline: audio/VAD -> STT -> LLM -> OSC. It ships a GUI using Flet and CLI entry points.
pyproject.toml.pip install -e .pip install -e '.[dev]'python -m puripuly_heart.main ...src/puripuly_heart/app/ CLI and headless runners for stdin and micsrc/puripuly_heart/core/ orchestrator, audio, VAD, OSC, STT, LLMsrc/puripuly_heart/providers/ concrete STT and LLM providerssrc/puripuly_heart/ui/ Flet UI, views, controllersrc/puripuly_heart/config/ settings, prompts, pathssrc/puripuly_heart/data/ packaged assets (fonts, pictures, VAD model, third-party notices)src/puripuly_heart/data/i18n/ UI localization bundlesprompts/ system prompt filestests/ unit/component tests (organized by area)
tests/app/ app wiring and headless runnerstests/core/ core pipeline, audio, VAD, STT, OSC, orchestratortests/config/ settings, prompts, secretstests/providers/ provider unit tests and client contractstests/domain/ domain models/eventstests/ui/ UI tests (WIP, optional)tests/smoke/ import and lightweight smoke checkstests/helpers/ shared fakes and fixturestests/integration/ opt-in integration testssrc/puripuly_heart/config/settings.pysrc/puripuly_heart/config/paths.pyto_dict and from_dict must stay in sync.src/puripuly_heart/config/settings.pyto_dict and from_dictsrc/puripuly_heart/ui/views/settings.pysrc/puripuly_heart/config/prompts.pyprompts/ or PURIPULY_HEART_PROMPTS_DIRprompts/gemini.txt, prompts/qwen.txtprompts/src/puripuly_heart/data/i18n/ when adding keys.src/puripuly_heart/core/stt/backend.pysrc/puripuly_heart/core/llm/provider.pysrc/puripuly_heart/providers/stt/src/puripuly_heart/providers/llm/src/puripuly_heart/app/wiring.pysrc/puripuly_heart/config/settings.pyClientHub in src/puripuly_heart/core/orchestrator/hub.pystart and stop manage cancellation and provider shutdownClientHub as _translation_historycontext_time_window_s = 25.0, context_max_entries = 3tests/core/test_context_memory.py when changing window size or behavioragents/logs/..venvagents/logs/.agents/logs/ are ignored by git.pre-commit run --all-filespython -m pytest (use the venv interpreter or an activated venv)INTEGRATION=1 python -m pytest (use the venv interpreter or an activated venv)README.md.python -m puripuly_heart.main --help (use the venv interpreter or an activated venv)build.specinstaller.isssrc/puripuly_heart/data/.venv for builds to ensure correct dependencies.venv\Scripts\pyinstaller.exe build.specISCC installer.issbuild.specpyproject.toml, src/puripuly_heart/__init__.py, and installer.iss MyAppVersionmain: git tag vX.Y.Z and publish artifactssrc/puripuly_heart/providers/ to keep the shared interface working across the appsrc/puripuly_heart/config/settings.py so settings can select and persist itto_dict and from_dict for settings schema changessrc/puripuly_heart/ui/views/settings.py so users can configure itsrc/puripuly_heart/app/wiring.py so runtime selection resolves to the new classprompts/{provider}.txt to keep output quality consistent for LLM providersbuild.spec so bundled builds include dynamic provider modulesREADME.md so users can run it without guessworkpyproject.toml to avoid runtime import errors/websites/flet_dev and /flet-dev/flet sources.asyncio.create_task and ensure they are cancelled on shutdownawait provider close in teardown pathspage.run_task for async work instead of blocking callbacksREADME.mdsecrets.backend is encrypted_file, require PURIPULY_HEART_SECRETS_PASSPHRASEmain with no long-lived release branchesmain releasable and release by tagging main with vX.Y.Zblack, lint with ruff via pre-commit