You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(14): generic-host rename — Pi as one example, not the default (#5)
Phase 14 of v1.2 (privacy / OSS hardening). The orchestrator now sells
itself as a Linux-host deploy with Raspberry Pi positioned as one
example target rather than the assumed default.
Directory + file renames (git tracks as renames)
- infra/pi-orchestrator/ -> infra/orchestrator/
- install/pi-install.sh -> install/install.sh
- docs/deploy/pi.md -> docs/deploy/linux.md
Script reframing
- install/install.sh: banner becomes "VocalizeAI Linux Installer";
docstring lists Debian 12 / Ubuntu 22.04 / Raspberry Pi OS as tested
targets; "Pi install complete" -> "Install complete".
- infra/orchestrator/setup.sh, deploy.sh: rename `PI_HOST`/`PI_USER`
args to `TARGET_HOST`/`TARGET_USER` (legacy PI_HOST / PI_USER still
accepted as fallback env vars so existing operator muscle memory
keeps working); rewrite banners + log lines + manual-steps copy to
refer to "the remote host" instead of "the Pi"; both scripts pass
`bash -n` and `shellcheck --severity=warning` clean.
- infra/orchestrator/cloudflared-config.yml: header comments drop
"on Pi" qualifier.
Doc reframing (criterion #4 surfaces)
- README.md, README.zh-CN.md: status line, file-tree comment, and
cross-reference to deploy/linux.md all reframed to "Linux host
(Raspberry Pi is one example target)".
- CONTRIBUTING.md: reference to "live Pi orchestrator" becomes
"Linux-host orchestrator".
- docs/architecture.md: "Pi deployment assets" -> "Linux deployment
assets"; Further Reading entry updated.
- docs/deploy/local.md: env-table comments referring to "Pi" become
generic ("orchestrator service port", "Linux-host orchestrator").
- docs/deploy/linux.md: full rewrite — intro, BOM, OS prep, Tailscale,
Clone-and-Install, Environment Config, Cloudflare Tunnel, systemd,
troubleshooting sections all reframed to "any modern Linux host
with systemd"; the Pi-specific BOM + imaging + first-boot
instructions are moved into a single
"Hardware example: Raspberry Pi" subsection at the bottom.
- infra/README.md: orchestrator entry reframed.
- scripts/README.md: stability-driver description reframed.
- CHANGELOG.md: v1.0.0 bullet reframed.
- .github/ISSUE_TEMPLATE/bug_report.yml: OS examples include Debian 12;
"Pi production" deployment mode becomes "Linux-host production";
journalctl hint refers to "a systemd-installed host" rather than Pi.
Verification
- `git grep -nIE "pi-orchestrator|pi-install|deploy/pi\.md" -- .`
returns zero hits — all stale paths gone.
- `shellcheck --severity=warning` clean on all three renamed shell
scripts; `bash -n` clean too.
- `pytest tests/test_app_startup_guards.py tests/test_pipeline.py`
still pass (no production code touched; only path strings + docs).
Phase: v1.2 / 14-generic-host-rename
Requirements: SELF-LINUX-01..05
|`OPENAI_BASE_URL`| default ok | LLM endpoint; default `https://api.deepseek.com/v1`|
74
74
|`OPENAI_MODEL`| default ok | Model name; default `deepseek-chat`|
75
-
|`GPU_HOST`| only if using GPU | STT/TTS host; use `localhost` for single-machine dev, Tailscale IP for Pi deployment |
75
+
|`GPU_HOST`| only if using GPU | STT/TTS host; use `localhost` for single-machine dev, Tailscale IP for remote-GPU deployment (e.g. Raspberry Pi orchestrator → GPU node)|
76
76
|`SENSEVOICE_WS_PORT`| default ok | SenseVoice STT WebSocket port; default `8000`|
77
77
|`COSYVOICE_WS_PORT`| default ok | CosyVoice TTS WebSocket port; default `8001`|
78
78
|`VOCALIZE_HOST`| default ok | uvicorn bind host; `127.0.0.1` for local dev, `0.0.0.0` for production |
79
79
|`VOCALIZE_PORT`| default ok | uvicorn bind port; default `8080` (note: dev `main.py` defaults to 8000) |
80
-
|`ORCHESTRATOR_LISTEN_PORT`| default ok |Pi service port; default `8080` (legacy; mirrors `VOCALIZE_PORT`) |
80
+
|`ORCHESTRATOR_LISTEN_PORT`| default ok |Orchestrator service port; default `8080` (legacy; mirrors `VOCALIZE_PORT`) |
81
81
|`VOCALIZE_WS_BASE_URL`| required when non-localhost | Public WS base URL (e.g. `wss://api.example.com`); startup raises if missing in non-localhost mode (D-11) |
82
82
|`VOCALIZE_CORS_ORIGINS`| default ok | Comma-separated allowed CORS origins; auto-picked from VOCALIZE_HOST in dev mode |
83
83
|`DEFAULT_LANGUAGE`| default ok | Session default language; `zh` or `en`; default `zh`|
@@ -178,7 +178,7 @@ cd frontend && npm run test:integration
178
178
```
179
179
180
180
Note: `tests/integration/` release-audio cases require a physical audio setup
181
-
(microphone + speaker) and a live Pi orchestrator. These are gated behind
181
+
(microphone + speaker) and a live Linux-host orchestrator. These are gated behind
182
182
`--release-audio` and do not run in PR CI. The standard integration test suite
183
183
(`npm run test:integration`) runs the 8 text-bypass AI-merchant scenarios and
0 commit comments