Tauri Shell
桌面主机:Tauri v2 + WebView、IPC 命令、窗口管理,以及到嵌入式 openhuman-core Rust 运行时的 JSON-RPC 桥接。
职责
- Web UI - 从
app/dist加载 Vite 构建(或端口 1420 的 dev server) - IPC - 暴露一小部分明确的 Tauri 命令
- 核心生命周期 - 启动进程内核心服务器并通过
core_rpc_relay代理 JSON-RPC - 窗口 + 托盘 - 桌面窗口行为和系统托盘
核心进程模型
app/package.json core:stage 是为了脚本兼容性而保留的空操作。桌面应用进程内链接核心,因此本地构建不再需要 app/src-tauri/binaries/ 下的分级 openhuman-core-* sidecar。
Tauri IPC 命令
核心 JSON-RPC 继电器
| 命令 | 用途 |
|---|---|
core_rpc_relay | 转发到本地 openhuman-core HTTP JSON-RPC |
窗口管理
| 命令 | 用途 |
|---|---|
show_window | 显示主窗口 |
hide_window | 隐藏主窗口 |
toggle_window | 切换可见性 |
minimize_window | 最小化 |
maximize_window | 最大化 |
close_window | 关闭 |
AI 配置
| 命令 | 用途 |
|---|---|
ai_get_config | 从捆绑的 prompts 构建 AIPreview |
write_ai_config_file | 写入单个 .md |
工作区文件链接
| 命令 | 用途 |
|---|---|
open_workspace_path | 用 OS 默认应用打开文件 |
reveal_workspace_path | 在 OS 文件管理器中显示 |
preview_workspace_text | 读取文本预览 |
核心桥接
React (invoke)
→ core_rpc_relay { method, params }
→ core_rpc::call HTTP POST to OPENHUMAN_CORE_RPC_URL
→ embedded openhuman core server
目录结构
app/src-tauri/src/
├── lib.rs # run()、tray/menu actions、plugins
├── main.rs # 二进制入口
├── core_process.rs # CoreProcessHandle
├── core_rpc.rs # HTTP 客户端到核心
├── commands/
│ ├── core_relay.rs # core_rpc_relay
│ ├── openhuman.rs # daemon host config
│ └── window.rs # 窗口命令
└── utils/
└── dev_paths.rs # 解析捆绑的 AI prompts 路径