feat(desktop): embed BoosAPI Desktop client as a subproject

Vendor the rebranded BoosAPI Desktop client (Tauri + Vue) into metapi as
a monorepo subdirectory under desktop/. Source only — node_modules,
dist, Cargo target and the upstream .git history are excluded.

desktop/ keeps its own independent Cargo workspace (desktop/src-tauri
with crates/*); it is not part of the backend boosapi crate, so a
`cargo check` at the metapi root still compiles only the backend. Build
the desktop app from desktop/src-tauri per desktop/README.md.

Note: app icons are still placeholder assets pending the final BoosAPI
logo. The updater signing keys live outside the repo and are not
included.
This commit is contained in:
boos
2026-06-22 11:32:57 +08:00
parent d9c78ecc73
commit e0a5f57793
2305 changed files with 449355 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
<div align="center">
# BoosAPI Desktop
[English](./README.md) | **简体中文**
面向 Boos 生态的本地优先 AI 桌面客户端 —— 多服务商对话、AI Agent、知识库、MCP 与内置 API 网关,集于一身。
[![Release](https://img.shields.io/github/v/release/Boos4721/boos-chat?style=flat-square)](https://github.com/Boos4721/boos-chat/releases)
[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-blue?style=flat-square)](#平台支持)
</div>
## BoosAPI Desktop 是什么
BoosAPI Desktop 是一款运行在你本机的 AI 桌面工作台。它默认接入 **BoosAPI**(`https://api.boos.lat`)作为服务商,开箱即用,同时也能连接任意 OpenAI 兼容端点。对话、密钥与文件都保存在本地。
## 功能特性
### 对话与模型
- **多服务商对话** —— 连接 BoosAPI、OpenAI、Claude、Gemini、DeepSeek、Qwen 以及任意 OpenAI 兼容端点,支持自定义 Base URL、API Path、请求头和代理规则。
- **服务商快速导入** —— 通过 `boosapi://` 服务商链接和 CC Switch 配置导入,在用户确认后把服务商资料带入应用。
- **模型管理** —— 同步远程模型列表、管理分组、测试延迟,并配置能力标签、上下文长度、采样默认值、推理档位和模型级 `extra_body`。
- **对话工作流** —— 流式回复、思考块、消息多版本、对话分支、标题生成状态、长对话压缩和多模型并行回答。
### AI Agent
- **Agent 模式** —— 让模型在受控桌面工作流中读取/编辑文件、执行命令并分析代码。
- **权限控制** —— 可选择标准审核、自动接受编辑或完全访问模式,同时保留工作目录沙箱检查。
- **审批与成本面板** —— 实时查看工具调用、记住允许决策,并跟踪每个 Agent 会话的 token 与成本。
### 内容渲染
- **Markdown 与数学公式** —— 在流式对话中渲染 Markdown、代码高亮、表格、任务列表和 LaTeX 公式。
- **代码、图表与 Artifact** —— 内置 Monaco 代码块、Mermaid、D2 图表和 Artifact 面板,用于代码、笔记、报告和预览。
- **HTML 片段渲染** —— 安全预览模型生成的 HTML 片段,并包含流式渲染稳定性修复。
### 搜索与知识
- **联网搜索** —— 接入 Tavily、智谱 WebSearch、Bocha 等搜索服务,支持引用来源和搜索查询生成。
- **本地知识库** —— 用 sqlite-vec 索引私有文档,配置检索/重排选项并查看检索反馈。
- **上下文管理** —— 把文件、搜索结果、知识片段、记忆和工具输出附加到对话上下文。
### 工具与扩展
- **MCP 协议** —— 运行 stdio、SSE 或 StreamableHTTP 传输的 Model Context Protocol 服务器。
- **内置工具** —— 直接使用 fetch、文件搜索等内置 MCP 工具,无需额外安装独立服务器。
- **工具循环上限** —— 可配置 MCP 工具调用最大循环次数,并更好地恢复中断或卡住的工具会话。
### API 网关
- **本地网关** —— 从桌面应用暴露 OpenAI Chat Completions、OpenAI Responses、Claude 原生和 Gemini 原生接口。
- **访问与观测** —— 本地管理网关密钥、SSL/TLS 证书、请求日志和用量统计。
- **客户端模板** —— 提供 Claude Code、Codex CLI、OpenCode、Gemini CLI 和自定义客户端的配置模板。
### 数据导入与备份
- **第三方导入** —— 导入 ChatGPT 官方导出、Cherry Studio 备份和 Kelivo 备份,带预览统计、警告和重复处理。
- **服务商与文件迁移** —— Cherry Studio/Kelivo 导入可选择迁移关联服务商、API Key 和文件附件。
- **备份** —— 通过本地目录、WebDAV 或 S3 兼容存储进行备份与恢复。
### 桌面体验与安全
- **本地加密** —— 应用状态位于 `~/.boosapi/`,用户文件位于 `~/Documents/BoosAPI Desktop/`,API Key 使用 AES-256 和本地主密钥保护。
- **桌面集成** —— 支持托盘、窗口置顶、全局快捷键、开机自启、代理设置和自动更新检查。
- **11 种界面语言** —— 可在简体中文、繁体中文、英语、日语、韩语、法语、德语、西班牙语、俄语、印地语和阿拉伯语之间切换。
## 平台支持
| 平台 | 架构 |
|------|------|
| macOS | Apple Silicon (arm64)、Intel (x86_64) |
| Windows 10/11 | x86_64、arm64 |
| Linux | x86_64 (AppImage/deb/rpm)、arm64 (AppImage/deb/rpm) |
## 快速开始
前往 [Releases](https://github.com/Boos4721/boos-chat/releases) 页面下载适合你平台的安装包。首次启动时 BoosAPI 已预置为默认服务商 —— 在设置中填入你的密钥即可开始对话。
## 从源码构建
```bash
# 前端依赖
pnpm install
# 构建内置渲染包(仅首次)
pnpm --dir libs/stream-monaco install && pnpm --dir libs/stream-monaco build
pnpm --dir libs/markstream-vue install && pnpm --dir libs/markstream-vue run build:parser
pnpm --dir libs/markstream-vue/packages/markstream-react build
# 开发运行 / 打包
pnpm tauri dev
pnpm tauri build
```
需要 Rust (stable)、Node 20+、pnpm,Linux 下还需 Tauri 系统依赖(`webkit2gtk-4.1`、`libsoup-3.0`)。
## 常见问题
### macOS 提示"已损坏"或"无法验证开发者"
应用未经 Apple 签名,macOS 可能弹出提示。移除隔离属性即可:
```bash
sudo xattr -dr com.apple.quarantine "/Applications/BoosAPI Desktop.app"
```
随后在 **「系统设置 → 隐私与安全性」** 点击 **「仍要打开」**。
## 许可证
BoosAPI Desktop 是 [AQBot](https://github.com/AQBot-Desktop/AQBot) 的 fork,经作者授权使用并重新许可,内含 MIT 许可的 open-agent-sdk。详见 [LICENSE](LICENSE)。