新版本桌面版 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