桌面优先的 AI 助手与 Agent 框架,支持本地/云端多模型调度、截图驱动交互与跨设备对话连续性。
Xpdite 是一个桌面优先的 AI 助手与 Agent 框架,当前版本 0.1.0(Public Beta)。其核心设计理念是将 AI 深度嵌入桌面工作流,而非作为独立的浏览器标签页存在。
交互设计#
- 始终置顶桌面浮窗:不抢占工作区焦点,随时可用。
- 截图优先交互:Alt + . 快捷键截图并直接提问,实现"看见即理解"的零切换工作流。
- 多标签页并行上下文:独立会话状态与每标签页队列管理,支持快速上下文切换。
- 综合执行时间线 UI:实时渲染模型思考步骤、工具调用进度、终端输出和完成状态。
模型调度#
通过统一接口同时管理本地 Ollama 模型和多个云端提供商(Anthropic、OpenAI、Gemini、OpenRouter、LiteLLM)。内置 GPU 自动检测与性能优化:NVIDIA(nvidia-smi)→ AMD(HIP_PATH)→ CPU 回退,自动设置 Flash Attention、KV Cache q8_0、Keep Alive 30m、4 并行等参数。
Agent 能力#
支持多步骤执行与审批感知操作。基于 MCP 协议(mcp[cli] SDK)集成外部工具,同时内置 terminal、sub_agent、video_watcher、memory、scheduler 等 inline tools,通过 mcp_manager.register_inline_tools() 注册并在工具循环中拦截执行。工具覆盖:
- 网页搜索与抓取:DuckDuckGo + crawl4ai + trafilatura + camoufox + nodriver
- YouTube 视频分析:youtube-transcript-api 获取字幕,yt-dlp 下载音频,faster-whisper/whisperx 转录
- Twitter 集成:twikit
- 定时任务调度:内置 APScheduler
跨设备连续性#
通过 Channel Bridge(TypeScript 服务)连接 WhatsApp、Telegram、Discord 适配器,实现桌面与移动消息应用之间的对话连续性,而非原生移动应用。内置通知事件与存储系统。
内容与记忆#
- Claude 风格内联 Artifacts:模型可生成内联代码/Markdown/HTML artifacts,支持持久化和搜索。
- 长时记忆系统:基于 sentence-transformers 的向量记忆 + BM25 混合检索。
- @ 文件附件:输入框中通过
@<file_name>即时附加文件。 - 广泛文件格式解析:代码文件、PDF(PyMuPDF)、Office 文档(python-docx/pptx、openpyxl)、ODF/RTF(odfpy、striprtf)、ZIP 列表、图像文件。
架构要点#
采用 Electron + React 前端与 Python FastAPI 后端的分离设计,通过 IPC 和 WebSocket 通信。Electron 启动时显示 Boot Screen,通过 stdout 上的 XPDITE_BOOT 结构化标记传递启动进度,Python 后端通过 HTTP 健康检查确认就绪。使用 Python ContextVars 实现多标签页状态隔离,确保并发标签页之间无状态泄漏。数据存储基于 SQLite,通过 DatabaseManager 统一管理。
支持 Windows x64、macOS Apple Silicon、Linux x64 三平台。端用户可通过安装脚本一键安装,开发者需 Bun、Python 3.13+、UV、Git 环境。
待确认事项#
- Hugging Face 页面:CLAUDE.md 中提及相关内容,但未找到明确链接。
- 独立文档站:仓库内
docs/目录包含架构、API 参考、配置、故障排除等文档,未发现独立文档站 URL。 - Channel Bridge 配置细节:WhatsApp/Telegram/Discord 的配对设置流程在
docs/getting-started.md中,未直接读取。 - 安全细节:项目有 SECURITY.md,但未做独立安全审计,云端 API 密钥本地存储方式与 Channel Bridge 消息传输加密待确认。