Evir

mcp
Security Audit
Fail
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 10 GitHub stars
Code Fail
  • fs module — File system access in .github/workflows/benchmark.yml
  • fs module — File system access in .github/workflows/release.yml
  • Hardcoded secret — Potential hardcoded credential in e2e/accessibility.spec.ts
  • Hardcoded secret — Potential hardcoded credential in e2e/core.spec.ts
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

A clean, local-first AI agent powered by your own models.

README.md
Evir — 你的模型,你的电脑,你的 Agent

Evir

你的模型,你的电脑,你的 Agent。

Local-first BYOM Tauri 2 TypeScript macOS | Windows PRs Welcome

一个纯净、本地优先、用户自带模型的 Desktop Project Agent:打开一个项目,告诉 Evir 要完成什么,它安全地读、改、运行、验证,并让你清楚看到它做了什么、改了什么、哪里失败、是否真的完成。

接入一个支持工具调用的大模型即可开工——无账号、无积分、无云端后端。

English · 本地开发 · 产品需求 · 开发指南

亮点速览:

  • 桌面项目 Agent:把项目交给它——读、改、运行、验证,每一步有记录、可审批、能回滚。
  • 本地优先 · 自带模型:无账号、无积分、无必需云端后端;7 种协议适配、多厂商预设,任意支持工具调用的模型即可开工。
  • 诚实工程:Golden Agent Eval 门禁 + 模型级实测分级,失败与未验证项照样如实标注,不吹不藏。
  • 可扩展:13 个内置工具 + MCP、项目知识库检索、Skill 体系。

Evir Desktop:三栏工作台 —— 侧栏 Projects / Chats、任务流(含工具时间线与结果摘要)、右侧 Context Workbench 变更面板

Desktop Project Agent(主产品)

Desktop 侧栏分为 PROJECTS 和 CHATS 两区。一个 Project 对应一个本地目录:在项目里新建任务后,Agent 的工作目录就是项目根目录。项目线程是一个工作台,不是聊天窗:

  • 任务流 — 你的指令、Agent 的每一步工具调用、审批卡、结果摘要按工作顺序排列;每次文件修改直接显示 路径 +diffstat,点击即开 Diff。
  • Context Workbench(右栏) — 产出 / 变更 / 文件 / 预览 / 浏览器。Agent 修改代码后自动切到变更(你在看预览/浏览器时只加角标,不抢焦点);每文件 diffstat、复制补丁、回滚一应俱全。
  • 可驾驶 — 运行中随时 Stop,下一条指令可排队(任务结束自动发送);顶栏常显任务状态(准备中/运行中/验证中/待审批)。
创建 Project(选择目录) → 新建任务 → 选择 Permission / Model
→ Evir 判断是否需要工具 → 读取 · 修改 · 执行 · 验证 → Diff / 快照 / 回滚
  • 默认 Project Task:普通问答直接回复;需要操作项目时,按权限策略使用 13 个内置工具(读/写/搜索/patch/命令/git/快照)与 MCP 工具,可暂停、审批、回滚。Plan / Goal 通过 /plan、/goal 触达。
  • Plan:只用只读工具检查项目并产出结构化计划(含验证节点),一键 Execute Plan 转入 Agent 执行。
  • Goal:面向长期目标,附带“完成条件”;Evir 用真实证据逐条验证,模型说“完成”不算完成。

Plan 模式:结构化计划(步骤 + 验证节点)等待确认,一键开始执行 Goal 模式:完成条件逐条以真实证据核验,手动条件等你确认

权限决定自动程度

项目权限:Ask for Approval / Workspace Access / Full Access

第一次打开项目时由你明确选择:Workspace Access(推荐,项目内自动放行并写入审计)或 Ask every time(更谨慎,写操作逐次审批)。Full Access 解除目录边界,首次开启必须明确确认。工具边界在 Tool Registry 与 Rust 侧双层强制,不靠提示词约束。

自带模型(BYOM)——按成熟度分级

“能聊天 ≠ 能工具调用 ≠ 能稳定跑完 Project Agent 任务”。分级是模型级的:证据按 provider + 具体 modelId + 端点归属记录(src/core/providers/provider-validation.json),跨模型、跨端点不借证据;每次真实评估(无论通过与否)都进历史,当前档位由该模型最新一次真实评估决定——新失败会覆盖旧通过(Needs Revalidation)。设置页、下表与验证数据由 scripts/check-doc-facts.mjs 门禁保持同源一致。

分级 含义 厂商 / 模型
Agent Verified 最新一次全量(20 任务)真实端点评估通过率 ≥90%,且 0 越权、0 越界 暂无
Eval Candidate 最新一次真实评估达标(≥80%、0 越权/0 越界),但未到 ≥90% Verified 门槛 智谱 BigModel / GLM · evomap-deepseek-v4-flash(EvoMap 网关,DeepSeek 系)
Smoke Verified 最新一次真实端点评估为 10 任务冒烟规模通过(≥90%),尚未全量验证 暂无
Protocol Verified 流式 + 工具调用协议有自动化覆盖 OpenAI、Anthropic、Google Gemini API、Microsoft Azure OpenAI、Ollama、智谱 BigModel / GLM
Preset 配置模板,无 Agent 级验证 其余 30 家内置预设

当前唯一模型级实测证据:智谱 preset 下的 evomap-deepseek-v4-flash(DeepSeek 系模型,经 EvoMap 第三方网关、openai-compatible-chat 协议接入)于 2026-09-09 以全量 20 任务 required suite 真实跑 Golden Agent Tasks,16/20 通过(0.8)、工具成功率 0.891、0 越权、0 越界——按 2026-09-11 复审的 ≥90% Agent Verified 门槛,该模型当前为 Eval Candidate,尚无模型达到 Agent Verified。完整历史(同日早些时候一次 17/20 但含 2 处越界 → 如实记为 partial,不被后续 pass 掩盖)见 src/core/providers/provider-validation.json。该证据只属于这个模型 + 这个端点——不代表 GLM 系模型,也不代表智谱官方端点(模型间、端点间证据不互借);GLM 系模型目前为 Protocol Verified,待各自全量真实评估后按最新结果定档。历史手工真机 QA 记录另见 Release Readiness。

Provider、协议、模型能力三层分离:已实现 7 种协议适配器(OpenAI Chat Completions / Responses、Anthropic Messages、Gemini、Azure OpenAI、Ollama 原生、OpenAI-compatible),支持自定义兼容端点。API Key 存本地加密 vault(AES-256-GCM),密钥永远不进日志。

Provider 设置:多厂商、多模型、能力标记与成熟度徽标

模型能力(流式、工具调用、图片、结构化输出)在使用前明确展示;不支持工具调用的模型仍可在 Project 中聊天,但不会获得项目工具。完整矩阵见 Provider 与协议矩阵。

产品面与成熟度

Evir Desktop 是主产品;其余产品面按真实成熟度标注,不并列营销:

产品面 成熟度 说明
Desktop Primary 全部核心产品设计优先;Agent Eval 优先;macOS / Windows 优先
Web Supported 纯净多模型聊天,持续保留与维护,不复制 Desktop Agent 能力
VS Code Preview 编辑器内 Agent(配置/Ask/Agent/审批/Diff 回滚),持续演进
CLI Preview evir configure/doctor/ask/agent,持续演进
Plugin / Multi-user / Canvas / Ego Lite Extended 已交付能力,保留维护并继续优化;新增复杂度以核心 Agent 质量不退化为前提

优先级管理而非冻结:Desktop Project Agent 是最高质量优先级;Plugin、Multi-user、Canvas、Ego Lite、Browser Provider、Web / VS Code / CLI 都是已交付能力,继续保留、维护、优化。新增任何复杂能力需守住核心 Agent 质量 / Runtime / 性能预算 / Golden Eval 四条不退化红线。

知识库(Knowledge Base v1)

显式接入的知识源,按项目绑定供 Agent 检索——与 Memory(个人记忆沉淀)相互独立:

知识库设置:多个知识库,六类知识源(项目文档目录 / 本地文件夹 / 网页 URL / 历史任务等)

  • 六类知识源:本地文件夹 / 本地文件 / 项目文档目录 / 网页 URL(显式添加、记录抓取时间)/ MCP Resource(文本型)/ 历史任务产物(从真实 run 记录派生,不信任模型自述)。
  • 结构优先分块:标题分区、代码块不切断、段落打包;Markdown / 文本 / 代码 / JSON / CSV / HTML / PDF(复用内置 pdf.js 抽取)。
  • 检索即溯源:命中片段带 文档 › 标题 | 路径/URL 出处;Agent 用知识回答时,运行详情(Trace)记录 knowledge.retrieved 事件;检索不到时诚实返回 no-result,不编造知识库内容。
  • 权限与隔离:本地源必须在项目授权目录内(workspace/额外授权目录),Rust 边界二次校验;知识库数据按用户 Profile 物理隔离;删除知识源只删索引,不动你的原文件。
  • 预算受控:注入上下文的知识量受剩余预算硬上限约束;search_knowledge 工具(L1 只读)供模型主动查询。
  • 验证:pnpm test:knowledge-eval(10 项检索金任务:多文件/CSV/JSON/HTML/冲突知识/过时知识/诚实无结果/绑定隔离/Profile 隔离)。

Skill:质量优先

内置 Skill 分两层:15 个核心编码 Skill(systematic-debugging、test-driven-development、code-review、security-review、verification-before-completion 等,面向 Coding / Project Agent 主路径精选)+ 通用可选包(办公、写作、分析等,设置里可自选启用)。Skill 数量不是 KPI——核心 Skill 的价值由 Agent Eval 对照验证。

本地优先与可诊断

API Key            → 本地加密 vault(AES-256-GCM)
Provider 配置       → 版本化非敏感本地文件
会话 / 任务 / 记忆  → 嵌入式本地存储(SQLite / IndexedDB)
日志 / Diff / 快照  → 本地文件目录
  • 无账号、无积分、无广告、无必需云端后端;数据默认留在你的设备。
  • 日志覆盖 Provider / Agent / 工具 / 审批 / 性能,默认脱敏、本地保存、滚动清理;无远程读取日志的后门,诊断包由你手动导出。
  • 上下文压缩、三层记忆、检查点与崩溃恢复内置;单个模型即可完成全部压缩,不强制第二模型。

质量与验证

  • 确定性测试:pnpm check(format + lint + strict TS + 全部单测 + Rust 测试 + 发布校验)+ E2E / UI / 视觉 / 无障碍矩阵。当前基线数字以 Release Readiness 为唯一事实源,不在 README 里复制会漂移的数字。
  • Harness 安全/运行时 Eval(确定性):20 个 Golden Agent Tasks 跑在冻结 fixture 仓库上(pnpm test:agent-eval),脚本化模型 + 真实执行栈,覆盖权限边界、越权操作(必须为 0)、越界修改(必须为 0)、停止、恢复与证据门;当前 20/20,进 CI。
  • 真实模型 Eval(模型级、端点感知、最新一次定档):同一套任务对真实端点实跑,每次结果(pass/fail/partial)都进 provider-validation.json 历史,最新一次决定档位;10 任务冒烟规模最高只能获得 Smoke Verified,不冒充全量验证。当前成绩见上方分级表(EvoMap 网关 evomap-deepseek-v4-flash 全量 16/20 → Eval Candidate),详见 eval/README。
  • 多场景 Eval:数据 / 网页 / 文档 / 自动化黄金任务(pnpm test:multi-scenario,另有真实档);知识库 Eval:pnpm test:knowledge-eval。
  • 性能预算与实测数字以 最近一次基准 为准(Web 初始 JS gzip ≤ 350 KiB、桌面前端 ≤ 15 MiB、冷启动 P50 < 2s)。

当前状态

Evir 仍在积极开发中,尚未发布(无 LICENSE 文件,见下方说明)。核心链路(聊天、Agent 工具与审批、Plan/Goal、权限档位、快照回滚、MCP 连接、日志与诊断导出)已实现。逐项验证状态(含 NOT RUN / BLOCKED 清单)以 Release Readiness 为准:Windows 真机、外部 MCP 真服务器等尚未验证;升级/降级已有 5+ 次 DMG 覆盖安装的 PASS 记录;30–60 分钟长任务已有真实样本(含中断+续跑 PASS 与如实拒绝的 FAIL),但仍未取得单次连续 ≥30 分钟 PASS。

安装说明(如实):当前 macOS 安装包使用 ad-hoc 签名、未公证。macOS Gatekeeper 可能阻止直接打开——需要在系统设置 → 隐私与安全性 中手动允许(或右键 → 打开)。本项目当前不提供正式 Windows 安装包。

本地开发

pnpm install
pnpm dev:web        # Web 开发服务器
pnpm dev:desktop    # Tauri Desktop(需 Rust + Tauri 2 依赖)
pnpm check          # format + lint + strict TS + 全部单测 + Rust 测试 + 发布校验
pnpm test:e2e       # Playwright E2E(web + desktop 模式)
pnpm test:agent-eval # Agent Eval:20 个 Golden Tasks(§80 独立输出)
pnpm benchmark      # 产物体积门禁

构建与发布(macOS arm64/x64 DMG、Windows x64 MSI、VSIX、CLI tarball)见开发指南。要求 Node.js 20+、pnpm 9+、Rust stable。

文档

反馈与贡献

欢迎通过 Issue 反馈问题、提出建议;提交代码前请先阅读开发指南。如果 Evir 对你有帮助,欢迎点一个 ⭐ Star 支持项目继续开发。

License

许可证将在正式开源发布前确定。引入第三方依赖时必须记录并核验其许可证。

Reviews (0)

No results found