跳转到内容

Portal

Portal 是进入 Habitat 的;具体实现按入口形态区分。术语 SSOT:i18n/glossary.mddocs/product/architecture.md Product naming。

形态form id用户侧实现代码
应用applicationShell(壳):桌面 / 移动 / Web 整窗 SPAsrc/portal/app/{tauri,web}
浏览器browser浏览器扩展(MV3)src/portal/extension
MCPmcpHabitat 对外 /mcpsrc/host/capabilities/mcp-server迁入 portal/
CLIclianima CLI(service / token / 运维)src/portal/cli
  • Web 壳 = 应用形态(标签页里的整窗 SPA),不是浏览器形态。
  • 浏览器形态 = 扩展运行时(popup / content script / background)。
  • MCP 形态产品上算入口;进程上挂在 Habitat 组合根。整包迁入 portal/ 会迫使 host → portal,违反层边界。mcp-client 是出站工具接入,不是入口。
  • Outpost / Gateway 不是 Portal(见 glossary)。
src/portal/
app/ # 应用形态(Shell)
extension/ # 浏览器形态
entrypoints/
runtime/ # settings、Habitat HTTP client、消息信封
features/ # 按能力拆分(本期 vault)
cli/ # CLI 形态

壳内 SPA chrome(Rail / 设置)在 src/client/不是 portal/ 根。

  • 构建:just pack browser-extensiondist/browser-extension/chrome-mv3
  • 开发:just dev browser-extension
  • 鉴权:选项页填写 Habitat URL + Service API Token(Bearer);RPC 仅 HTTP REST
  • 能力(Vault):见 vault.md