Files
BoosAPI/desktop/README.md
T

106 lines
5.9 KiB
Markdown

<div align="center">
# BoosAPI Desktop
**English** | [简体中文](./README.zh-CN.md)
A local-first AI desktop client for the Boos ecosystem — multi-provider chat, AI agents, knowledge base, MCP, and a built-in API gateway, in one app.
[![Release](https://img.shields.io/github/v/release/Boos4721/BoosAPI?style=flat-square)](https://github.com/Boos4721/BoosAPI/releases)
[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-blue?style=flat-square)](#platform-support)
</div>
## What is BoosAPI Desktop
BoosAPI Desktop is a desktop AI workspace that runs on your own machine. It ships with **BoosAPI** (`https://api.boos.lat`) wired in as the default provider, so you can start chatting immediately, while staying free to connect any other OpenAI-compatible endpoint. Your conversations, keys, and files live locally.
## Features
### Chat & models
- **Multi-provider chat** — Connect BoosAPI, OpenAI, Claude, Gemini, DeepSeek, Qwen, and any OpenAI-compatible endpoint, with custom base URL, API path, headers, and proxy rules.
- **Provider onboarding** — Import provider profiles via `boosapi://` deep links and CC Switch config import, applied after your confirmation.
- **Model management** — Sync remote model lists, manage groups, test latency, and configure capability tags, context length, sampling defaults, reasoning profiles, and per-model `extra_body`.
- **Conversation workflow** — Streaming replies, reasoning blocks, message versions, conversation branching, title generation, long-conversation compression, and multi-model parallel answers.
### AI agent
- **Agent mode** — Let models read/edit files, run commands, and analyze code inside a controlled desktop workflow.
- **Permission control** — Choose standard review, auto-accept edits, or full-access mode, with working-directory sandbox checks.
- **Approval & cost panel** — Watch tool calls live, remember allow decisions, and track tokens and cost per agent session.
### Content rendering
- **Markdown & math** — Render Markdown, code highlighting, tables, task lists, and LaTeX inline during streaming.
- **Code, diagrams & artifacts** — Built-in Monaco code blocks, Mermaid, D2 diagrams, and an artifact panel for code, notes, reports, and previews.
- **HTML fragment rendering** — Safely preview model-generated HTML fragments with streaming-stability fixes.
### Search & knowledge
- **Web search** — Plug in Tavily, Zhipu WebSearch, Bocha, and more, with source citations and search-query generation.
- **Local knowledge base** — Index private documents with sqlite-vec, configure retrieval/rerank options, and inspect retrieval feedback.
- **Context management** — Attach files, search results, knowledge snippets, memory, and tool output to conversation context.
### Tools & extensions
- **MCP protocol** — Run Model Context Protocol servers over stdio, SSE, or StreamableHTTP transports.
- **Built-in tools** — Use built-in MCP tools like fetch and file search without installing separate servers.
- **Tool-loop limits** — Configure a max tool-call loop count and recover interrupted or stuck tool sessions.
### API gateway
- **Local gateway** — Expose OpenAI Chat Completions, OpenAI Responses, Claude-native, and Gemini-native APIs from the desktop app.
- **Access & observability** — Manage gateway keys, SSL/TLS certificates, request logs, and usage stats locally.
- **Client templates** — Ready-made config templates for Claude Code, Codex CLI, OpenCode, Gemini CLI, and custom clients.
### Data import & backup
- **Third-party import** — Import ChatGPT exports, Cherry Studio backups, and Kelivo backups, with preview stats, warnings, and duplicate handling.
- **Provider & file migration** — Cherry Studio / Kelivo import can optionally migrate linked providers, API keys, and file attachments.
- **Backup** — Back up and restore via a local directory, WebDAV, or S3-compatible storage.
### Desktop experience & security
- **Local encryption** — App state lives in `~/.boosapi/`, user files in `~/Documents/BoosAPI Desktop/`, and API keys are protected with AES-256 and a local master key.
- **Desktop integration** — Tray, always-on-top, global shortcuts, autostart, proxy settings, and update checks.
- **11 UI languages** — Switch between Simplified Chinese, Traditional Chinese, English, Japanese, Korean, French, German, Spanish, Russian, Hindi, and Arabic.
## Platform support
| Platform | Architecture |
|----------|--------------|
| macOS | Apple Silicon (arm64), Intel (x86_64) |
| Windows 10/11 | x86_64, arm64 |
| Linux | x86_64 (AppImage/deb/rpm), arm64 (AppImage/deb/rpm) |
## Quick start
Download the build for your platform from the [Releases](https://github.com/Boos4721/BoosAPI/releases) page. On first launch, BoosAPI is preconfigured as the default provider — add your key in Settings and start chatting.
## Build from source
```bash
# Frontend deps
pnpm install
# Build the bundled renderer packages (first time only)
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
# Run in dev / produce a bundle
pnpm tauri dev
pnpm tauri build
```
Requires Rust (stable), Node 20+, pnpm, and the Tauri Linux system dependencies (`webkit2gtk-4.1`, `libsoup-3.0`) on Linux.
## FAQ
### macOS says the app is "damaged" or "from an unidentified developer"
The app is not signed by Apple, so macOS may warn you. Remove the quarantine attribute:
```bash
sudo xattr -dr com.apple.quarantine "/Applications/BoosAPI Desktop.app"
```
Then open it from **System Settings → Privacy & Security** and click **Open Anyway** if prompted.
## License
BoosAPI Desktop is a fork of [AQBot](https://github.com/AQBot-Desktop/AQBot), used and relicensed with the author's permission. It bundles the MIT-licensed open-agent-sdk. See [LICENSE](LICENSE).