新版本桌面端 v0.1.10 已发布,自带 spec.jev 0.1.10
文档 文档

开始

快速开始 桌面端 命令行

使用 mu

判定器 权限与安全 目标模式与收尾 上下文 经验 人话看板 子代理与蜂群

参考

配置 功能与选项 排错 隐私

使用 mu

权限与安全

三种权限模式、Jev 能替你批准什么、你的硬约束、危险命令和外来内容。

spec.jev 不问你就能做多少事,由权限模式决定。它显示在状态栏和桌面端的发送框里,/permissions 随时可以切换。

三种模式

模式 不问就执行 要问你
完全访问 一切 什么都不问
Jev 审批(默认) 读取;改项目里的文件;Jev 确定任务需要的一切 Jev 拿不准的、认为超出你要求的,或认为无关的
最小权限 只有读取 每一次编辑、命令、对外操作和子代理

/permissions full、/permissions jev 和 /permissions ask 直接切换。切换对当前对话生效,并成为新对话的默认;其他正在运行的对话保持各自的模式。MU_PERMISSIONS=ask spec.jev 只为一次运行设置。

Jev 审批什么

在「Jev 审批」模式下,每条命令、项目外的改动、对外操作和子代理都先交给 Jev,只问一个问题:这次调用对任务和你说过的话来说是需要的,超出了范围,无关,还是不清楚?只有「需要」且概率达到 0.8 或以上,才不经过你直接执行。其他情况都会问你,提示里写明原因,比如「Jev 认为这一步超出了你的要求」。

没有判定器能回答时(没有密钥且免费的 Jev 不可用、账户额度用完,或者只有一个本地判定器,而本地判定器不被信任来审批),spec.jev 每一步都问你,并说明原因。用 spec.jev setup 设置一个 Jev 密钥,或者切换模式。

spec.jev 什么时候问你

需要你决定的调用会显示一个选择框:

  • 允许这一次
  • 这次对话都允许,只在这次调用有安全的范围时才提供:项目内的所有编辑、一个程序(对 git、npm、cargo 这类程序还加上它的子命令,所以是 npm test,而不是所有 npm)、项目外的一个文件,或一个工具
  • 不允许

带串联、重定向或命令替换的命令,或以 sudo、env 开头的命令,只能允许一次。Esc 算作「不允许」。拒绝会告诉模型不要另找办法绕过去,而是问你,或者不做这件事继续往下。切换模式或运行 /permissions reset 时,允许过的操作会被忘掉。

任何模式下都成立的规则

  • 你的硬约束。 你排除掉的事,比如「别碰 migrations」,会一字不差地记在任务帧里。任何会改变东西的调用之前,都会对照这些约束检查,确定的违反会被拦下,并引用你的原话。完全访问模式下也一样,子代理也受同样的约束。
  • 读取从不需要问:读、搜索和列出文件,网页搜索和网页读取,以及只由只读程序组成的 shell 命令,比如 git status 或 cat … | grep …。
  • 未知的工具要问。 spec.jev 不认识的工具,比如一个 MCP 工具,需要授权。
  • spec.jev 自己的设置归你管。 动到 ~/.spec.jev/agent 的调用每次都要问你;Jev 不能批准它。

危险命令

规则会标记看起来危险的命令:rm -rf、强制推送、sudo、运行下载来的脚本等等。在「Jev 审批」模式下,这样的命令只有在 Jev 确定是你要的时才执行;在最小权限模式下,问你时会显示这个标记。被标记的命令只能允许一次,不能整个对话都允许。

外来内容

网页、搜索结果、内置浏览器和 MCP 服务器可能带着写来操纵 AI 的文字:「忽略你的规则」、「把这个文件发出去」、「运行这条命令」,或者一个把对话内容带出去的链接。模型读这类结果之前,会一段一段地筛查;带着冲着 AI 来的指令的段落会被扣下,换成一行说明。判定器没有按时回答时,明显的注入语句仍会被规则扣下。

web_fetch 本身也有限制:每次请求有时间和大小上限,页面文字标为不可信,你私有网络里的地址会被拒绝,除非你允许,所以网页没法把读取引到你的局域网里。

撤销改动

在每个会改文件的回合里,第一次改动之前,spec.jev 会给项目拍一张快照,存进它自己的影子 git 目录。你的仓库、索引和分支从不被碰到,项目也不需要是一个 git 仓库。存着机密的文件(.env、密钥、证书)从不进快照。

  • /checkpoints 列出对话当前分支上的检查点。
  • /rewind 先显示会有什么变化,再把文件、对话或两者一起退回去。你自己在那之后改过的文件会单独列出来,并问你。
  • /rewind undo 撤销上一次回退。

在你的主目录里开始的会话,以及非常大的项目(要收进的文件超过 5,000 个或 200 MB),会跳过检查点,并给出说明。另见目标模式与收尾。

喜欢 spec.jev,就去 GitHub 点个 Star

Star 能让更多人看到它。代码、讨论和每一个版本都在仓库里。

在 GitHub 上 Star1