Skip to content

Developer Overview ​

TransBox exposes plugin capabilities for Steam Workshop and local extensions. This page tells you what you can build, which type to pick, and where to start.

Source of truth: the client source code (src/transbox/plugins/, src/transbox/ui/bridge/). The plugin contract is split into knowledge cards — start at the Plugin Development Docs.


1. What You Can Build ​

What you wanttypeBarrierEntry
Game/industry glossary (multi-direction)glossaryNo codeterms.json only (4-field object array)
Subtitle colors / opacitythemeJSONtheme.json
Visual slots (backplate, VU, décor)theme + QMLMediumui_extensions
Text cleanup / filtersmiddlewarePythonfile.py:ClassName
Private ASRasrPythonBaseASRProvider
DeepL / LLM / local MTmtPythonBaseMTEngineProvider
Edge-TTS / SoVITS / etc.ttsPythonBaseTTSProvider
End-to-end SI (bypasses local ASR→MT→TTS)interpretationPythonBaseInterpretationProvider
AI interview copilotassistantPythonBaseAssistantPlugin
Select-to-translate / hotkey toolstoolPythonBaseToolPlugin
Extra UI languagei18nNo codexx.json
Web caption bridgecaption_bridgeWorkshopcommunity_web_caption_bridge
Per-site caption extractorcaption_extractorJSextractor.js

Deprecated: audio_filter, bundle — host ignores them. Do not teach terms.txt / tsv (SPI: load as empty).

Web caption bridge is a Workshop item. End-user guide: /manual/workshop/caption/web-caption (Chinese).


2. Flow ​

Your folder (mod.json)
  → PluginRegistry scans: app extensions/ · %APPDATA%/transbox/extensions/ · Steam workshop/5521270/ (skipped in selfpub)
  → Mount by type / importlib for Python providers
  → User enables in Extension Workshop

3. Quick Start ​

  1. Copy a real example under extensions/ (e.g. example_glossary_gaming, community_select_translate, community_cloud_mimo_asr).
  2. Change unique id / name in mod.json.
  3. Drop into local extensions → Refresh → Enable.
  4. Engines: pick in ASR/MT/TTS settings. Interpretation: enters SI mode and bypasses standard ASR+MT+TTS.
  5. Publish: Steam Workshop Hub, or export Zip for %APPDATA%/transbox/extensions/ (selfpub / non-Steam). See Workshop & self-distribution.

Cloud UX (“Get Key”, “Test connection”, MiMo Token Plan vs API dual base URLs) requires your own settings_view QML — config_schema alone is not enough. See Custom settings view.


4. Doc Map ​

PageContents
BuildLocal setup
Client internalsPython class loading, config assembly, security model
Plugin Development DocsBrowse by topic: start / types / Host SPI / providers / config / UI / publish / reference
Plugin specCode assets: Prompt-and-Go template, SDK stub, 7 complete templates, AI checklist
UI slotsQML slots & HostContext
Workshop publishSteam + local Zip

5. Known Limits ​

ItemStatus
Cloud settings formNot auto-generated from config_schema; ship SettingsView.qml
GlossarySPI: four-field JSON array only
Selfpub buildNo Steam UGC; local extension dirs still work

TransBox — empowering borderless cross-language communication for everyone