创建开源全功能AI桌面客户端应用

Reddit r/ArtificialInteligence 产品

摘要

DeskPilot 是一个基于Python的开源桌面客户端,用于本地LLM,具有MCP集成、工具沙箱和安全优先的智能体架构。

Deskpilot:一个基于Python/Tkinter的原生智能体桌面客户端,用于本地LLM,支持Model Context Protocol(MCP)、工具沙箱等众多功能。大家好,我(在Qwen 3.8 27B的大力帮助下)构建了一个原生、独立的桌面AI客户端应用,完全基于Python + Tkinter,具有OpenAI兼容后端和安全优先的智能体架构。GitHub: https://github.com/shuhdonk/DeskPilot 功能特点:通用本地后端支持:连接Ollama、LM Studio、vLLM、llama.cpp、Unsloth Desktop或任何OpenAI兼容端点。MCP集成:内置无依赖的stdio JSON-RPC 2.0客户端。您可以在设置中插入任何外部MCP服务器,Deskpilot会动态将服务器工具转换为OpenAI函数调用模式。细粒度工具权限栏:每个内置工具和动态MCP工具在主窗口上都有一个下拉菜单(始终允许、询问权限或关闭)。未经审核的工具默认为询问权限,并使用线程安全提示。内置智能体工具:网页搜索与抓取:本地SearXNG、Exa神经搜索和Firecrawl抓取。操作系统与系统:文件读写(支持文本和PDF)、目录列表、剪贴板读取、屏幕捕获(排队用于视觉模型)以及沙箱化的Node.js JavaScript执行。推理/思考支持:原生流式支持 / reasoning_content(DeepSeek-R1、Qwen等)。它在可折叠抽屉中显示推理,计时思考阶段,并在标准生成开始时自动折叠为“思考X.X秒”。100%本地语音栈:语音转文本(听写):由faster-whisper本地驱动(基于CPU int8的base.en),实现连续麦克风听写。文本转语音(播放):由kokoro-onnx本地驱动,使用前瞻管道消除句子延迟,实现自然文本转语音。智能上下文移交与指标:显示准确的解码tok/s(分母中排除预填充)、TTFT和实时已用/最大上下文计量表。(我个人很喜欢这个功能)当您的聊天达到用户定义的上下文阈值(例如75%)时,DeskPilot会触发自动结构化移交摘要,以便您可以无缝地开始新的会话会话,而不会上下文溢出。安全与架构:运行具有工具访问权限的本地智能体模型需要护栏:SSRF和DNS重绑定保护:fetch_url默认检查并阻止对回环地址(127.0.0.1)、LAN子网(RFC1918)和云元数据IP范围的请求。文件系统沙箱:硬阻止接触核心操作系统目录(如C:\Windows、/etc等),加上可选的用户定义工作区目录。纯守护线程:所有工具执行、推理流和音频都在后台工作线程上运行,通过线程安全队列安全地调度到Tkinter,以保持UI完全流畅。它可以直接通过Python(3.10+)运行,或使用PyInstaller编译成单个.exe文件:分步Linux和Windows安装说明。https://preview.redd.it/rluen6zqs5rh1.jpg?width=2066&format=pjpg&auto=webp&s=110b2166ab08375039438de091032acee203a68d https://preview.redd.it/mv0k82hps5rh1.jpg?width=1705&format=pjpg&auto=webp&s=7b48de7100fc2137bb663f3980a08a8d1857a8dd
查看原文

相似文章

MeshPilot

Product Hunt

MeshPilot 是一个面向终端、任务和代理的 AI 工作空间。

vastsa/PI-Desktop

GitHub Trending (daily)

PI-Desktop 是一个开源的本地优先桌面工作区,专为 AI 编码代理设计,使开发者能够使用各种模型并管理项目,同时对代理行为进行控制。