C++/Qt multi-process shell: Host chrome + Client native-window embed + Protobuf IPC.
Phase-1 platform: Windows (form A); macOS / Linux directories are placeholders.
Canonical docs are Chinese — start at the root README.
- Multi-process UI shell: Host owns tabs / lifecycle; Clients embed via native HWND (
SetParent) - Detachable tabs: tear-out / merge, close-tab MRU, empty-shell rules (pure rule modules + tests)
- Protobuf IPC: authoritative IDL at
proto/shell/ipc/v1/ipc.proto widbehind the embed seam: tab model istabId-only; platform handles live inEmbedContainer/TabEmbedMap- One-click Demo deploy: Windows
windeployqtbesidebuild-shared/demos
| Item | Notes |
|---|---|
| Qt | 6.8+ for Demo / Host (protocol-only tests can skip Qt) |
| Toolchain | CMake, Ninja, Python 3; MSVC x64 (vcvars) on Windows |
| Deps | Protobuf (optionally via CMake FetchContent) |
| Optional | clang-format 20 for local format checks |
:: QTDIR required; PREFIX optional (default: sibling prefix/ of the three repos)
set QTDIR=<Qt-6.8+-prefix>
set PREFIX=<install-prefix>
python scripts\install_stack.py --prefix %PREFIX%
build-shared\demos\mps_demo_host.exeThis-repo only (also defaults to build-shared):
python scripts\build_repo.pyProtocol / tab-strip tests only (Qt optional):
python scripts\build_repo.py --no-demos --testcmake/ Qt / Protobuf helpers
proto/ shell.ipc.v1 IDL
src/ Host / Client / common / ipc_qt
demos/ mps_demo_host / mps_demo_client
tests/ protocol + tab-strip unit tests
scripts/ install_stack / build_repo / build_qt / deploy_demo
clients/python/ M4b Python Hello smoke
docs/zh|en/ Chinese + English docs
| Topic | 中文(主) | English |
|---|---|---|
| Product spec | ../zh/multiprocess-shell-spec.md | multiprocess-shell-spec.md |
| Dev plan | ../zh/dev-plan.md | dev-plan.md |
| Demo morphology | ../zh/demo-morphology.md | demo-morphology.md |
| Demo acceptance | ../zh/demo-acceptance.md | demo-acceptance.md |
| Demo IPC | ../zh/demo-ipc.md | demo-ipc.md |
| IPC alternatives | ../zh/ipc-alternatives.md | ipc-alternatives.md |
| Build | ../zh/build.md | build.md |
| CI | ../zh/ci.md | ci.md |
Policy: Prefer Chinese docs day-to-day. If the long-form product sketch disagrees with .proto, prefer .proto / Demo IPC.
| Capability | Status |
|---|---|
Framing + shell.ipc.v1 + mps_ipc_tests (M0) |
Done |
| Detachable tab-strip rule tests | Done |
| Windows Demo (Home / Create Client / tear-out / embed) | Done (M5 closable) |
wid behind embed seam |
Done |
| M4b Python Hello | Done |
| M6 heartbeat / unresponsive UI | Done |
| Multi-backend / optional M7 | See spec + dev-plan |
Released under the MIT License.