Install
$ agentstack add mcp-baiyuheniao-baiyuaispace2 Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
BaiyuAISpace
桌面 AI 工作台:LLM 客户端 + Agent 编排 + 本地模型托管 Desktop AI Workspace — LLM Client · Agent Orchestration · Local Models
功能特性 • 技术架构 • 快速开始 • 开发指南 • 许可证
🎯 项目简介
BaiyuAISpace 是一个专为开发者和 AI 爱好者打造的桌面 AI 工作台:既是接入 15+ 家云端服务商与 Ollama / LM Studio 本地模型的 LLM 客户端,也内置多 Agent 协作、MCP 工具、RAG 知识库与定时任务等 Agent 编排能力。自带 API Key、用多少付多少,自由度与成本都由你自己掌控。
(别问1去哪里了,1废了 :( )
核心设计理念:
- 🪶 原生轻快:Tauri 2 + Rust 原生后端,安装包比 Electron 方案小约 80%,秒级启动——轻在壳,功能不缩水
- 🖥️ 真跨平台:一套代码同时支持 Windows、macOS、Linux(当前以 Windows 为主力平台)
- 🔒 本地优先:API 密钥加密存入系统密钥链,会话与知识库全存本地 SQLite;搭配 Ollama / LM Studio 可完全离线使用
- 🤖 Agent 原生:内置多 Agent 协作工作组、MCP 工具调用、RAG 知识库、定时任务
🚧 Beta 公测须知
当前版本处于 Beta 公测阶段:核心功能已完整可用并经过全场景测试, 但仍可能存在未知问题。以下是已知限制,安装前请了解:
- Windows 安装包暂未进行代码签名。首次运行时 SmartScreen 可能弹出
"已保护你的电脑" 警告——点击 "更多信息" → "仍要运行" 即可。 这是独立开发者应用的常见情况,不代表安装包有安全问题(所有构建均由 GitHub Actions 从公开源码自动打包,可溯源)。
- 知识库暂不适合超大规模数据。当前向量检索为全量扫描,
单个知识库建议控制在约 1 万个文本分块以内(约几百份常规文档), 超出后搜索会明显变慢。向量索引优化在路线图中(见 #18)。
- 应用内自动更新已于 0.2.0-beta.3 上线:启动时后台检测新版本,左下角弹窗提示,
确认后自动下载安装并重启。更早的 Beta 版本请到 Releases 页面手动下载升级一次。
反馈渠道:Bug 和功能建议请用 Issue 模板提交 (Bug 请务必附上日志,位置见模板内说明);使用咨询和开放讨论请走 Discussions。
✨ 功能特性
对话 & 模型接入
- [x] 多源 LLM 接入:OpenAI、Claude、Gemini、Kimi、DeepSeek 等 15+ 提供商统一接口
- [x] 本地模型:支持 Ollama 和 LM Studio(OpenAI 兼容接口),无需云端
- [x] 流式输出:实时打字机效果、支持中断(后端 CancellationToken 真取消)
- [x] 多模态输入:图片(JPEG/PNG/GIF/WebP,多 provider)、视频(MP4/WebM/MPEG,仅 Gemini)
- [x] 文档上下文注入:PDF / Word / Excel / PPT / Markdown / 代码文件直接附加进对话,无需建知识库
- [x] 思考模式:一键开关 Extended Thinking(Anthropic 自适应/预算、Gemini thinkingBudget、SiliconFlow Qwen3)
- [x] Prompt Caching:Anthropic 请求自动打 cache_control 断点,长对话省钱提速
- [x] 消息渲染:Markdown、代码高亮(grayscale 主题)、Mermaid 图表、HTML 代码块沙箱 iframe 实时预览、DOMPurify XSS 防护
- [x] 会话管理:历史记录浏览、会话永久保存、会话内随时切换 API 配置
- [x] 自定义 Max Tokens:每个 API 配置可单独设置最大输出 token
RAG / 知识库
- [x] 文档导入:PDF / Word (.docx) / PowerPoint (.pptx) / Excel (.xlsx/.xls/.csv) / Markdown / HTML / TXT / 常见代码文件
- [x] 向量化检索:可配置 Embedding API,混合检索(向量 + 关键词)
- [x] Reranker 精排:可选 Cohere 兼容 Rerank API 对检索结果二次排序
- [x] 检索调参:分块大小 / 重叠、Top-K 结果数均可配置
- [x] 知识库挂接:可在对话中或 Agent 中动态引用
MCP 工具
- [x] 多服务器管理:Stdio / HTTP / SSE 三种协议
- [x] 工具自动发现:启动时枚举,LLM 原生函数调用透明代理(支持多轮工具循环)
- [x] 预设一键安装:内置文件系统、记忆、网页抓取、Playwright 浏览器自动化、时间、Git、Office(Word/PPT/Excel)等 10 个预设
Skill
- [x] 自定义 Skill:名称 + 描述 + 指令三段式定义,绑定 MCP 服务器和知识库,支持资源文件
- [x] 预设库:内置 23 条开发者 / 商务 / 通用场景预设,一键导入
- [x] 两种激活方式:对话中手动勾选,或开启「模型自主调用」让 LLM 按需触发
Agent Team(多 Agent 协作)
- [x] 工作组管理:新建 / 删除工作组,配置最大 Agent 数量上限
- [x] Agent 生命周期:手动添加 / 删除;主 Agent 可提议创建子 Agent(需用户审批,10 分钟超时)
- [x] 每 Agent 独立配置:各自绑定 API 配置 / 系统提示词 / MCP 服务器 / 知识库 / Skill
- [x] 四种状态:Idle / Running / Meeting / Sleeping;子 Agent 申请休眠需主 Agent 或用户批准
- [x] 消息路由:点对点或广播(
to_agent_id = "all"),用户可直接与任意 Agent 对话 - [x] 圆桌会议:任意 Agent 可发起
workspace_meeting,其余成员按创建顺序轮流就议题发言,超时自动跳过 - [x] 向用户提问:Agent 通过
workspace_asks弹出提问卡片,等待用户回答 - [x] 活动时间线:消息 + 日志合并展示,
scheduled_trigger定时触发有专属条目 - [x] 工具集:
workspace_message/workspace_agent_list/workspace_asks/workspace_log/workspace_meeting(人人可用);workspace_create_agent/workspace_approve_sleep/workspace_reject_sleep(主 Agent 专属);workspace_sleep(子 Agent 专属)
定时任务(Scheduler)
- [x] 独立侧边栏模块:与 RAG / MCP 并列,全局管理所有定时任务
- [x] 四种调度类型:单次(once)/ 间隔(interval)/ 每天(daily)/ 每周(weekly)
- [x] Agent Team 集成:可绑定工作组 + 目标 Agent,触发时自动发消息唤醒 Agent
- [x] 广播支持:
target_agent_id = null时广播给工作组全部 Agent - [x] 后台轮询:Rust 端每 30 秒检查一次到期任务,App 运行期间全自动触发
- [x] 快速入口:Agent Team 页的时钟图标直接跳转到定时任务页并预填当前工作组筛选
本地部署(Local Deploy)
- [x] Ollama 全托管:检测安装 / 一键下载安装(多镜像源)/ 服务启停 / 版本查看
- [x] 模型管理:在线搜索(含各尺寸 tag)、下载、删除本地模型
- [x] LM Studio:连接状态检测、模型下载、加载 / 卸载
- [x] Docker 部署:镜像 / 容器管理(拉取、启动、停止、删除),内置 Ollama、LocalAI(CPU/GPU)三个部署预设
其他
- [x] API 密钥加密存储:Windows Credential Manager / macOS Keychain / Linux Secret Service
- [x] 日志系统:按日期落盘(
%APPDATA%/BaiyuAISpace2/logs),设置页一键导出 - [x] 黑白编辑设计系统:纯黑白配色、衬线中文标题(Noto Serif SC)+ Inter 正文、滚动揭示动效,字体本地打包离线可用
开发中 / 规划中
- [ ] 会议异常恢复:App 重启后清理残留
meeting状态;LLM 报错时立即发信号而非等满超时 - [ ] 插件系统:第三方工具扩展
- [ ] Web UI:浏览器端访问
- [ ] 移动端:Android/iOS 适配(计划新建独立子项目,主项目不优先实现本地推理等重型功能)
🏗️ 技术架构
graph LR
A[Vue 3 Frontend] -->|Tauri Invoke| B[Rust Backend]
B --> C[Cloud LLM APIs]
B --> D[SQLite Storage]
B --> E[Local ModelsOllama / LM Studio]
B --> F[Scheduler Loop30s polling]
A -.-> G[WebView UINaive UI + Markdown]
技术栈:
- Tauri 2.0:替代 Electron,安装包减少 80%
- Vue 3 + TypeScript:响应式开发,类型安全
- Naive UI:组件库,经 themeOverrides 收敛为黑白编辑设计系统
- Rust + Tokio:异步后端,
CancellationToken管理流式取消与 Agent 生命周期 - Pinia:状态管理,持久化存储
- SQLite(rusqlite):本地持久化,WAL 模式
- marked + highlight.js + Mermaid + DOMPurify:消息渲染与 XSS 防护
💻 系统要求
| 配置 | 要求 | | ----------- | ------------------------------------------ | | OS | Windows 10+ / macOS 10.15+ / Ubuntu 20.04+ | | Node.js | 18+ | | Rust | 1.75+ | | 内存 | 8 GB RAM | | 存储 | 2 GB 可用空间 |
🚀 快速开始
1. 环境准备
# 安装 Node.js 18+ 和 pnpm
npm install -g pnpm
# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
2. 克隆仓库
git clone https://github.com/baiyuheniao/BaiyuAISpace.git
cd BaiyuAISpace2
3. 安装依赖 & 构建(.exe之类的包)
pnpm install
pnpm build # 构建前端 → dist/
cd src-tauri
cargo build # 构建 Rust 后端(首次约 3-5 分钟)
// 感觉四条命令麻烦的 pnpm install 之后 pnpm tauri build就行
> 注意:必须先 pnpm build 再 cargo build,Rust 编译时会读取 dist/ 目录。
4. 启动开发服务器(这个命令后端不能热更新?)
pnpm tauri dev
🛠️ 开发指南
国内镜像配置(推荐)
.npmrc:
registry=https://registry.npmmirror.com
src-tauri/.cargo/config.toml:
[source.crates-io]
replace-with = 'rsproxy-sparse'
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
项目结构
BaiyuAISpace2/
├── src/ # Vue 3 前端
│ ├── components/
│ │ ├── Layout.vue # 侧边栏 + 主布局(序号编辑式导航)
│ │ ├── ChatInput.vue # 输入区(附件/文档/MCP/RAG/Skill/思考模式)
│ │ └── ChatMessage.vue # 消息渲染(Markdown/Mermaid/HTML 预览)
│ ├── views/
│ │ ├── ChatView.vue # 对话页
│ │ ├── AgentTeamView.vue # Agent 工作组
│ │ ├── SchedulerView.vue # 定时任务(独立页)
│ │ ├── SkillsView.vue # Skill 管理 + 预设库
│ │ ├── KnowledgeBaseView.vue # 知识库管理
│ │ ├── MCPView.vue # MCP 管理 + 预设库
│ │ ├── LocalDeployView.vue # 本地部署(Ollama/LM Studio/Docker 三个 Tab)
│ │ ├── HistoryView.vue # 历史记录
│ │ └── SettingsView.vue # 设置(LLM/Embedding/Reranker API 配置)
│ ├── stores/
│ │ ├── chat.ts # 会话 + 消息发送 + RAG/MCP/Skill 编排
│ │ ├── settings.ts # API 配置(LLM/Embedding/Reranker)
│ │ ├── workspace.ts # Agent Team 状态
│ │ ├── scheduler.ts # 定时任务状态
│ │ ├── skills.ts # Skill 状态
│ │ ├── knowledgeBase.ts # 知识库状态
│ │ ├── mcp.ts # MCP 状态
│ │ ├── localModel.ts # Ollama 状态
│ │ ├── lmStudio.ts # LM Studio 状态
│ │ └── docker.ts # Docker 状态
│ ├── styles/ # 黑白设计系统全局样式与变量
│ └── router/index.ts
├── src-tauri/src/
│ ├── main.rs # 入口:命令注册、DB 初始化、调度循环启动
│ ├── db.rs # 会话/消息 SQLite 存储
│ ├── secure_storage.rs # API 密钥系统密钥链存储
│ ├── commands/
│ │ ├── llm.rs # LLM 流式调用(多 provider、思考模式、工具循环、Prompt Caching)
│ │ ├── mcp.rs # MCP 服务器管理与工具调用
│ │ ├── skills.rs # Skill 存储 + 资源文件
│ │ ├── local_model.rs # Ollama 安装/服务/模型管理
│ │ ├── lmstudio.rs # LM Studio 集成
│ │ ├── docker.rs # Docker 镜像/容器管理
│ │ └── auth.rs # 百度 Access Token 等认证
│ ├── workspace/ # Agent Team 后端
│ │ ├── commands.rs # Tauri 命令 + Agent 循环 + 会议逻辑
│ │ ├── db.rs
│ │ └── types.rs
│ ├── scheduler/ # 定时任务后端
│ │ ├── commands.rs # Tauri 命令 + 后台轮询循环
│ │ ├── db.rs # 数据库操作
│ │ └── types.rs # 数据库类型定义
│ └── knowledge_base/ # RAG 后端
│ ├── commands.rs # 知识库 Tauri 命令
│ ├── document.rs # PDF/Word/PPT/Excel 等文档解析
│ ├── embedding.rs # Embedding API 调用
│ ├── retrieval.rs # 混合检索(流式 top-k 堆)
│ ├── reranker.rs # Cohere 兼容精排
│ └── db.rs # 向量存储
└── package.json
构建发布
pnpm tauri build
# 输出:src-tauri/target/release/ .exe就在这里 NSIS安装包在target/release/bundle/nsis/
🔌 支持的 LLM 提供商
| 提供商 | 国家/地区 | 代表模型 | 特点 | | ---------------------- | ------- | --------------------------------------------------------------- | -------------------- | | OpenAI | 🇺🇸 美国 | gpt-4o, gpt-5 | 有条件而且不知道用啥就这个 | | Anthropic | 🇺🇸 美国 | claude-sonnet-4-6, claude-opus-4.8 | 长文本、代码能力强 | | Google | 🇺🇸 美国 | gemini-3.1-pro | 多模态、上下文长 | | Azure OpenAI | 🇺🇸 美国 | gpt-4o, gpt-4 | 企业级、合规性好(OpenAI服务还是要翻) | | Mistral AI | 🇫🇷 法国 | mistral-medium-3.5 | 欧洲开源先锋 | | Moonshot (Kimi) | 🇨🇳 中国 | kimi-k2.6 | 长文本,强中文场景,Agent 能力强 | | 智谱 AI (GLM) | 🇨🇳 中国 | glm-5.1 | 中文通用能力强 尤其代码 | | 阿里 (通义) | 🇨🇳 中国 | qwen3.6 max,qwen | 同参数性能更好,低成本,多模态不错 | | 百度 (文心) | 🇨🇳 中国 | ernie-4.0, ernie-4.0-turbo | 中文生态完善(似乎出场率不高?) | | 字节 (豆包) | 🇨🇳 中国 | doubao-pro-256k, doubao-pro-32k | 性价比高,上手简单 | | DeepSeek | 🇨🇳 中国 | deepseek-V4, deepseek-r1 | 价格便宜,编程和推理能力很强 | | 硅基流动 (SiliconFlow) | 🇨🇳 中国 | Qwen2.5, DeepSeek-V3/R1 | 多模型聚合,价格优惠 | | MiniMax | 🇨🇳 中国 | abab6.5s | 多模态、语音合成、Agent能力不错 | | 零一万物 (Yi) | 🇨🇳 中国 | yi-large, yi-medium | 开源+商用 我没怎么见 | | 本地(Ollama) | 🌐 本地 | Llama 3、Qwen3、Gemma 等 | 完全离线,数据不出设备 | | 本地(LM Studio) | 🌐 本地 | 任意 GGUF 模型 | GUI 友好,OpenAI 兼容接口 | | 自定义 | 🌐 全球 | 任意 OpenAI 兼容接口 | 灵活配置 Base URL |
> 💡 各服务商模型更新频繁,完整列表请查看官方文档。设置中可直接输入模型名称添加新模型。
🐛 已知问题
- Windows 首次编译慢:Rust 链接器在 Windows 上较慢,首次编译需 3-5 分钟
- 会议中途 App 重启:重启后 Agent 的
meeting状态不会自动清理,需手动操作
📝 代码规范
所有新文件须包含 MPL-2.0 头注释:
Vue / TypeScript:
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
Rust:
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
📜 许可证
本软件基于 Mozilla Public License 2.0 (MPL-2.0), 并附有 [BaiyuAISpace 许可证补充条款](./BaiyuAISpace%20许可证补充条款.md)(对商业使用附加限制)。 由于附加了商用限制,本项目属于源码开放(source-available)、人人免费使用的模式, 而非 OSI 严格定义下的开源许可。
人话版(以补充条款原文为准):
| 你想做的事 | 是否可以 | |---|---| | 个人使用 / 公司内部使用 | ✅ 免费,随便用 | | 开发插件、扩展、MCP 工具并商用 | ✅ 免费 | | 在本软件基础上做实质性二次开发,作为你自己的产品卖 | ✅ 免费 | | 改个名字换个皮就拿去卖,或架在服务器上做 SaaS 卖账号 | ❌ 需要联系作者购买商业授权 |
判断标准一句话:你卖的东西,价值主要来自你自己的开发,还是来自本软件本身? 前者免费,后者需要授权。商业授权联系方式见补充条款第四条。
🧪 测试
- 人工测试清单(全场景、可逐项打勾):[docs/MANUALTESTCHECKLIST.md](./docs/MANUALTESTCHECKLIST.md)
- 测试策略与流程:[docs/SOFTWARETESTINGPLAN.md](./docs/SOFTWARETESTINGPLAN.md)
- 更多文档见 [docs/ 索引](./docs/README.md)
🤝 贡献指南
欢迎 Issue 和 PR!
- 参与开发前请阅读 [CONTRIBUTING.md](./CONTRIBUTING.md)——包含环境搭建、
构建顺序的坑、代码规范(黑白设计系统、超时策略)和提交约定
- Bug 报告 / 功能建议请使用 Issue 模板
- 安全漏洞请按 [SECURITY.md](./SECURITY.md) 私下报告,不要公开发 Issue
Built with ❤️ by Baiyu using Vue 3 + Tauri + Rust MPL-2.0 + 补充条款 · 源码开放 · 免费使用 · 生态开放
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: baiyuheniao
- Source: baiyuheniao/BaiyuAISpace2
- License: MPL-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.