Mira-Harness

mcp
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Warn
  • network request — Outbound network request in apps/harness-react/src/app/mobile-main.tsx
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Mira 是一款本地优先的个人 AI 桌面工作台,让智能体通过文件、终端、浏览器和电脑控制工具完成任务,支持多模型接入、智能体协作、工作流自动化与 MCP 扩展。

README.md
Mira

Mira

本地优先的个人 AI 桌面工作台

把对话、项目文件、终端、浏览器和工具执行放进同一个窗口,让 AI 智能体替你完成整理、研究、写作与编程任务。

简体中文 · English

Release
License: MIT
Platform
Stars

下载 · 功能 · 架构 · 本地开发 · 路线图 · 常见问题


Mira 工作台主界面

简介

告诉 Mira 你的目标,选择模型与权限,它会先给出计划,再调用文件、终端、浏览器和插件逐步执行。涉及修改文件或运行命令时,由你确认后才继续;整个过程随时可以查看、打断或回到之前的会话接着做。

会话、配置、记忆与运行记录保存在本机。你可以接入在线模型服务商,也可以只用本地 Ollama。

  • 一个窗口完成任务:对话旁边就是文件树、代码与文档预览、终端和内置浏览器,不用来回切换应用。
  • 执行过程看得见:计划、工具调用、文件改动和审批请求都显示在会话里,可以回退文件改动。
  • 能力可以扩展:插件市场、Skills、Hooks、自定义智能体和 MCP 服务都能按项目启用。
  • 重复的事交给工作流:把多步任务编排成工作流,定时运行,保留每次的产物。

功能一览

任务与智能体协作

按项目和分组管理会话。智能体先列出计划,再逐步调用工具;需要修改文件或执行命令时会停下来等你审批。复杂任务可以拆给子智能体并行处理,执行中途随时停止。

计划、工具调用与审批

文件、终端与浏览器

在对话旁浏览、搜索和编辑项目文件,查看 Git 改动,打开终端,或让智能体在内置浏览器里操作网页。

文件与代码预览 内置浏览器
文件树、代码预览与 Git 改动 内置浏览器与终端

文档预览与处理

直接预览 PDF、Word、Excel 和 PPT,配合文档插件生成或改写内容。

文档预览

工作流与自动化

把“读取资料、提取要点、生成报告”这类多步任务编排成可重复运行的工作流,设置定时触发,查看每次的运行历史和产物。

工作流编排

多模型接入

配置在线服务商、自定义兼容端点或本地 Ollama,每个任务可以单独选择模型。支持 OpenAI Completions、OpenAI Responses 与 Anthropic Messages 三种协议。

模型服务配置 插件市场
模型服务配置 插件市场与 MCP

插件、Skills 与 MCP

通过插件市场安装 Skills、命令、智能体和 Hooks,接入外部 MCP 服务。内置插件包括 PDF、Word、表格、演示文稿、浏览器操作和电脑控制。

局域网远程对话

在可信局域网内,用手机或其他电脑的浏览器继续项目对话,任务仍由桌面端执行。该功能默认关闭。

局域网连接说明面板(离线演示,服务未开启)

连接说明面板的离线演示,图中远程服务未开启。

快速开始

下载安装

前往 GitHub Releases 下载安装包。

平台 架构 安装包
macOS Apple Silicon(arm64) DMG
Windows x64 NSIS 安装程序

各版本实际提供的平台以发行页附件为准。暂无安装包时,可以从源码运行。

开始第一个任务

  1. 打开 设置 → 模型服务,添加服务商或本地 Ollama,启用要用的模型。
  2. 添加一个项目文件夹,或在个人工作区新建任务。
  3. 选择模型与权限模式,描述你的目标。
  4. 查看计划与执行过程,按提示审批,拿到结果后继续对话。

可以试试这些说法:

读取这个项目里的会议记录,整理待办事项、负责人和未解决的问题,保存成一份 Markdown 文档。

帮我梳理这个仓库的启动流程,找出配置入口,先给出修改计划,等我确认后再动手。

把“读取资料、提取要点、生成报告”整理成可重复运行的工作流,并保留每次运行的结果。

PDF、Office、浏览器操作等插件可能需要额外的 Python 库或浏览器,启用前请查看插件说明。macOS 上的电脑控制需要授予辅助功能与屏幕录制权限。

架构

Mira 的执行能力和数据都由 Electron 主进程持有。界面层只负责展示和交互,通过受控通道调用宿主能力,拿不到模型密钥,也不能直接访问完整的 preload。

flowchart TB
  subgraph UI["界面层(渲染进程)"]
    Shell["Vue Shell<br/>窗口 · 统一设置 · 应用切换"]
    Harness["React Harness 工作台<br/>会话 · 计划 · 审批 · 文件 · 终端 · 浏览器"]
    Novel["小说创作等其他应用"]
    Shell -- "sandbox iframe" --> Harness
    Shell --> Novel
  end

  Harness <-- "MessageChannel + grant<br/>第一方 SDK" --> IPC

  subgraph Host["宿主层(Electron 主进程)"]
    IPC["preload / IPC"]
    Runtime["Harness Runtime<br/>运行协调 · 计划 · 子任务 · 权限 · 记忆 · Hooks"]
    Flow["Mira Flow<br/>工作流编译与运行"]
    Auto["自动化调度"]
    Tools["本地工具<br/>文件 · 搜索 · Git · 终端 · 浏览器自动化 · 电脑控制"]
    Ext["扩展<br/>插件市场 · Skills · MCP 管理"]
    Store[("~/.mira<br/>SQLite · 会话 · 配置 · 运行记录")]
    IPC --> Runtime
    IPC --> Flow
    Auto --> Runtime
    Flow --> Runtime
    Runtime --> Tools
    Runtime --> Ext
    Runtime --> Store
  end

  Runtime -- "OpenAI / Anthropic 协议" --> LLM["在线服务商 · 兼容端点 · Ollama"]
  Ext --> MCP["外部 MCP 服务"]
  LAN["局域网浏览器客户端"] -. "可信网络,默认关闭" .-> Host

一次任务的执行过程

sequenceDiagram
  actor U as 用户
  participant W as Harness 工作台
  participant R as Harness Runtime
  participant M as 模型服务
  participant T as 工具 / MCP

  U->>W: 描述目标,选择模型与权限
  W->>R: 提交任务
  R->>M: 发送上下文
  M-->>R: 计划与工具调用
  R-->>W: 显示计划
  loop 每一步
    R->>R: 按权限策略检查
    opt 需要确认
      R-->>W: 请求审批
      U->>W: 批准或拒绝
      W->>R: 审批结果
    end
    R->>T: 执行工具
    T-->>R: 结果
    R->>M: 继续推理
    R-->>W: 实时推送过程与文件改动
  end
  R-->>W: 交付成果,记录写入 ~/.mira

技术栈

层 技术
桌面宿主 Electron · TypeScript · better-sqlite3 · node-pty
工作台 React 19 · Tailwind CSS 4 · Radix UI · xterm.js · Shiki
外壳与设置 Vue 3 · Pinia · Element Plus · Wujie
智能体与扩展 pi-agent-core · Model Context Protocol SDK
文档预览 pdf.js · docx-preview · pptx-renderer
构建与测试 electron-vite · Vite · electron-builder · Vitest

目录结构

apps/harness-react/    React 工作台、局域网客户端与宿主桥
electron/              主进程、preload、IPC、执行服务与存储
src/                   Vue Shell、设置、小说页面与共享契约
packages/              工作流编译器(mira-flow-kit)与运行时(mira-flow-runtime)
resources/             随应用分发的插件与运行资源
scripts/               构建及安装准备脚本
tests/                 功能回归测试
docs/                  能力说明与接口文档
third-party-licenses/  第三方许可、通知与来源记录

数据与隐私

  • 保存在本机:会话、配置、记忆和运行记录保存在用户目录下的 .mira 中,项目文件留在你选择的目录。
  • 只发给你配置的服务商:调用在线模型时,任务相关的消息、附件内容或工具结果会随请求发送给对应服务商。只用本地 Ollama 时不经过外部模型服务。
  • 外部能力按需启用:插件和 MCP 服务可能访问网络或其他应用,数据处理取决于你启用的工具。
  • 权限由你决定:文件、命令和工具调用都经过权限策略与审批。

局域网远程对话默认关闭,启用后模型与执行能力仍在这台电脑上。请只在可信网络中使用。

本地开发

本仓库工程名为 Mira Harness,应用名为 Mira。

环境要求

  • Node.js 22.12 或更高版本及 npm
  • macOS:Xcode Command Line Tools(用于编译电脑控制辅助程序)
  • Windows:安装包需在 Windows 上构建,原生依赖需要对应平台的编译工具链
git clone https://github.com/tuyn53/Mira-Harness.git
cd Mira-Harness
npm install
npm run dev

npm run dev 会先构建 React 工作台、工作流运行时和本地工具,再启动 Electron。修改 React 工作台源码后,运行 npm run harness:build 再刷新桌面页面即可。

全部命令
命令 用途
npm run dev 准备资源并启动 Electron 开发环境
npm run build Vue / React 类型检查和完整生产构建
npm test 运行 Vitest 回归测试
npm run desktop:build 构建带 ad-hoc 签名并验签的 macOS arm64 本机测试 DMG
npm run desktop:release 构建 Developer ID 签名并经 Apple 公证的 macOS arm64 正式 DMG
npm run desktop:build:win 在 Windows 上构建 x64 NSIS 安装包
npm run harness:build 单独重建 React 工作台及远程客户端
npm run flow:build 单独重建工作流编译器与运行时
npm run tools:build 准备搜索工具及电脑控制辅助程序

安装包命令均包含类型检查和生产构建,本地工具在打包时按目标平台与架构准备。

macOS 本机测试与正式发布的证书准备、命令和通知验收步骤见 macOS 签名与发布。

路线图

  • Harness 工作台:会话、计划、审批、子智能体、文件与终端
  • 多模型接入:在线服务商、兼容端点、本地 Ollama
  • 插件市场、Skills、Hooks 与 MCP
  • 工作流编排与定时自动化
  • 局域网远程对话
  • Windows 安装包完整验收
  • 接入 Mira Novel Studio
  • Mira Vision

常见问题

不想把数据发给在线服务商,可以用吗?

可以。在 设置 → 模型服务 中接入本地 Ollama,模型调用就只在本机进行。注意部分插件或 MCP 服务本身可能联网。

支持哪些模型?

任何提供 OpenAI Completions、OpenAI Responses 或 Anthropic Messages 协议的服务商或自建端点都可以接入。智能体任务需要模型支持工具调用,能力较弱的模型可能无法完成多步任务。

数据存在哪里?

会话、配置、记忆和运行记录在用户目录下的 ~/.mira,项目文件保留在你自己选择的目录。

PDF、Office 插件提示缺少依赖怎么办?

这些插件依赖 Python 库或浏览器等外部工具,请按插件说明安装后重新启用。

macOS 上电脑控制不起作用?

需要在 系统设置 → 隐私与安全性 中为 Mira 打开“辅助功能”和“屏幕录制”权限,然后重启应用。

参与贡献

欢迎提交 Issue 和 Pull Request。

  • 报告问题:请附上应用版本、操作系统、复现步骤,以及必要的截图或已脱敏日志。
  • 提交代码:提交前运行 npm run build 与 npm test,并在 PR 中说明改动和验证方式。
Contributors

致谢

Mira 使用了许多优秀的开源项目,包括 Electron、React、Vue、Model Context Protocol、xterm.js、Shiki、ripgrep 等。部分内置插件改编自 openai/skills。完整来源与许可声明见 third-party-licenses 及 插件来源记录。

Star History

Star History Chart

开源许可

Mira 原创代码采用 MIT License。项目使用的第三方代码、素材和依赖遵循各自的许可证。

Reviews (0)

No results found