Repository navigation
Architecture CN
Jazzen Chen edited this page May 24, 2026
·
9 revisions
VibeAround 是一个本地 runtime,主要入口包括桌面、浏览器和 IM 频道。
Desktop UI / Tauri
|
v
Rust runtime ---- Web dashboard / WebSocket / Preview proxy
|
+---- Agent processes over stdio / PTY
|
+---- Channel plugins over stdio JSON-RPC
|
+---- Local API bridge for provider/profile routes
| 路径 | 作用 |
|---|---|
src/core |
Rust runtime:agents、conversations、channels、previews、PTY、tunnels、auth、config |
src/server |
Axum web server:/va/、APIs、WebSocket、pairing、preview proxy、local API bridge routes |
src/desktop |
Tauri shell、desktop IPC commands、窗口设置、onboarding 编排 |
src/desktop-ui |
React/Vite 桌面 UI |
src/web |
React/Vite Web Dashboard |
src/shared/client-ts |
Shared TypeScript API client 和 wire types |
src/shared/ui |
Shared React UI primitives |
src/shared/i18n |
Shared localization helpers |
src/resources |
内置 registries:agents、providers、plugins、tunnels、commands、MCP tools |
src/plugins |
bundled/local channel plugins workspace |
src/skills |
注入到支持 Agent 的 VibeAround skills |
| 模块 | 职责 |
|---|---|
| Agents | 发现、启动、接入本地 CLIs |
| Conversations | Prompt 路由、slash commands、session lifecycle、handover |
| Channels | 启动 channel plugins 并转发消息 |
| Web server | Dashboard、APIs、WebSocket、previews、本地 auth |
| PTY | 浏览器 terminal sessions 和 terminal launch integration |
| Profiles | Provider definitions、model metadata、API bridge settings |
| API bridge | 转换模型 API 形态并处理 provider quirks |
| Tunnels | 在启用时暴露 dashboard/previews 到公网 |
| Auth | Public browser pairing 和本地 auth cookie |
Bridge 会把 profile 配置变成本地 loopback endpoint。它通过共享事件模型转换请求/响应,让 Agent 和 Provider 不需要使用同一种 API 形态。
支持的形态包括:
- OpenAI Responses
- OpenAI Chat Completions
- Anthropic Messages
- Gemini Generate Content
Provider adapter 会处理:
- DeepSeek reasoning content
- Claude model suffix normalization
- tool-call history repair
- model alias/fake ID mapping
- provider-specific headers and endpoints
桌面 UI 通过 Tauri commands 与 runtime 通信。它负责:
- onboarding
- Launch
- profile editor
- workspace/session selectors
- status/previews pages
- settings
它不会把密钥写进项目仓库。密钥保存在本地 VibeAround home 目录。
Dashboard 由同一个 runtime 在 /va/ 下提供。它包含:
- Web Chat
- Web Terminal
- Previews
- session/workspace views
- runtime status
开发时,Vite 提供前端并代理 runtime APIs 到 Rust server。
Channel plugins 是 Node.js subprocess,通过 stdio JSON-RPC 与 Rust host 通信。Plugin 把平台事件转换为 VibeAround prompt,再把响应渲染回平台。
- 用户从 desktop、web、terminal 或 IM channel 发送 prompt。
- VibeAround 解析 workspace、session、selected agent/profile。
- Runtime 启动或 resume agent process。
- 如果启用了 bridge profile,模型 API 请求经过本地 API bridge。
- Agent output stream 回到原入口。
- Preview 和 handover helpers 可以暴露额外本地 URL 或 pairing code。