Back to Headlines

InstaVM:安全高效的代码执行新平台

9 天前

InstaVM 是一个致力于实现完全本地化代码执行的平台,核心理念是:不依赖云端,不进行远程代码执行。这一需求看似简单,实则需要多个技术组件协同工作才能实现。 主流大语言模型应用如 ChatGPT 或 Claude 依赖云端服务,数据需上传至服务器。尽管这些公司重视安全,但仍有泄露风险——例如早期 ChatGPT 曾出现用户对话被他人访问的问题。因此,对于涉及隐私的任务(如编辑个人照片或视频),用户迫切需要一个完全在本地运行的解决方案。 为此,我们构建了一个完整的本地系统: - 使用本地大语言模型(LLM)进行对话与任务规划; - 通过容器技术实现代码执行的完全隔离; - 以网页界面提供访问入口,确保体验流畅。 我们选择在 Apple Silicon 设备上运行整个系统,利用 Apple 新推出的 Container 工具实现虚拟机级隔离。相比 Docker,它为每个容器提供独立的 VM,安全性更高,非常适合运行 AI 生成的代码。 系统核心组件包括: - Assistant-UI:作为前端界面,支持多模型切换。我们通过 ai-sdk 实现了模型下拉选择功能,不局限于本地模型,允许用户先体验,未来逐步过渡到完全本地化。 - 工具调用(Tool-calling):部分模型支持工具调用,但 Ollama 目前尚未完整支持。我们发现模型官网宣称支持,但 Ollama 仍需更新,这反映出开源生态在快速迭代中面临的同步难题。 - 容器化执行环境:我们在 Apple Container 中部署了 Jupyter 服务器,并通过 MCP(Model Context Protocol)暴露为工具,地址为 http://coderunner.local:8222/mcp。这一设计让 Claude Desktop、Gemini CLI 等工具可直接调用,无需额外适配。 - 无头浏览器支持:为增强系统能力,我们引入 Playwright,部署在同一容器中,用于在线搜索、获取最新工具信息或执行研究任务。例如,系统可自动访问 GitHub 查找安装指南。 所有生成或修改的文件通过卷映射保存在 ~/.coderunner/assets,与主机共享但代码不直接接触系统,确保安全隔离。 系统已成功完成多项任务: - 用自然语言生成并渲染图表(基于 CSV) - 使用 ffmpeg 编辑视频(如裁剪 0:10 到 1:00) - 图像处理(缩放、裁剪、格式转换) - 在容器中从 GitHub 安装新工具 - 通过浏览器抓取网页并摘要内容 尽管 Apple Container 在构建时存在稳定性问题(如卡死、Trap 错误),需反复重启和清理缓存,但其潜力巨大。我们相信,随着生态成熟,它将成为本地 AI 执行的理想平台。 这不仅是一次技术实验,更是一种理念的实践:将计算主权和隐私权还给用户。我们没有依赖大厂的云端模型,而是构建了一个可运行、可扩展、可信任的本地 AI 工具链。 我们已将代码开源,欢迎访问 GitHub 上的 coderunner-ui 项目,体验完全本地化的 AI 工作流。你的反馈与贡献,将推动这一愿景不断前行。

Related Links