第二章 工作台

本章覆蓋第 4–8 章,介紹日常使用的核心載體:工作區與工作階段的組織方式、五種工作模式、助手人設,以及模型與參數配置。


第四節 工作區

工作區(Workspace)是 AVL Code 的最小執行單位,每個工作區綁定一個本機目錄與一組配置。

4.1 建立工作區

  1. 左側欄點擊「+ 新增工作區」。
  2. 選擇本機路徑(例如 ~/projects/my-app~/samples/2026-04-malware)。
  3. 為工作區起一個簡短名字,作為左側欄與微信側的快捷識別。

一個本機目錄可以被多個工作區共享,例如同一個倉函式庫可以分別建立"開發"與"安全稽核"兩個工作區,綁定不同的助手人設與工具政策。

4.2 工作區目錄結構

每個工作區維護以下訊息(使用者無需直接操作,僅作了解):

  • 該工作區下所有的工作階段歷史
  • 工具開關與權限政策
  • 助手人設到模式的綁定
  • 接入的外部工具服務列表
  • 隨行通訊綁定關係
  • 本工作區可見的技能擴充

所有這些都以工作區為單位獨立儲存,互不乾擾。

4.3 切換、歸檔與刪除

  • 切換:左側欄點擊對應名字,或快速鍵 ⌘1 ~ ⌘9(macOS)/ Ctrl+1 ~ Ctrl+9
  • 重命名:右鍵 → 重命名。
  • 在系統檔案管理員中檢視:右鍵 → 在 Finder 中檢視 / 在檔案管理員中檢視(按平台顯示對應文案)。Header 頂部下拉選單中也有相同入口,便於直接跳轉到工作區的本機目錄。
  • 關閉其他工作區:右鍵 → 關閉其他工作區。一鍵保留當前焦點的工作區,關閉其他所有的,常用清場動作不再需要逐個關。
  • 歸檔:右鍵 → 歸檔。歸檔後工作區從主列表移除,仍可在 設置 → 最近工作區 裡復原。
  • 刪除:右鍵 → 刪除。刪除會清空該工作區的工作階段與配置,但不會刪除你的原始碼或樣本本身。刪除前會有二次確認。

macOS 上的"開啟工作區"系統對話框支持直接新增資料夾,無需先到 Finder 裡建好目錄再選。

4.4 專案指令(AGENTS.md)

在工作區根目錄放一份 AGENT.md / AGENTS.md / CLAUDE.md(按此優先級取一份),裡面寫的專案慣例會作為獨立的「# 專案指令」塊自動加進系統提示,AI 每輪都遵守你這個專案的規矩(程式碼風格、目錄慣例、禁忌項等)。

  • 每輪重新讀取:改了立即生效,不用重新啟動。
  • 子目錄指令按需注入:AI 讀寫某個子目錄下的文件時,會自動把那條路徑上各級目錄的 AGENT.md 一並帶進來作為補充上下文(每工作階段每子目錄只注入一次,不刷屏)。大倉函式庫裡不同模組各有規矩時尤其有用。
  • 安全護欄:讀取走工作區內路徑校驗 + 符號鏈接逃逸防禦(解析真實路徑後確認仍在工作區內),不會被符號鏈接帶出工作區;超長文件按 UTF-8 字元邊界安全截斷並加截斷標記,不會截出亂碼。

4.4.1 內置 AGENTS.md 編輯器

不用切到外部編輯器:工作階段選單 / 工作區選單(側邊欄 + Header 當前工作區)都新增了「編輯 AGENTS.md」入口,彈出內置編輯器:

  • 編輯 / 預覽(markdown 渲染)一鍵切換。
  • 快速鍵:Cmd/Ctrl+S 儲存、Tab / Shift+Tab 縮排。
  • 實時字數統計在副標題區。
  • 未儲存保護:有改動未存就關閉會先確認,避免誤丟。
  • 空狀態給內置模板:從零開始時填入一份可直接改的 AGENTS.md 模板。
  • 儲存同樣經符號鏈接逃逸校驗,只寫工作區根目錄的 AGENTS.md

4.4.2 SSH 遠端工作區(遠端零安裝)

只要遠端機器能 SSH 登入,就可以把它的目錄當作工作區使用 — 遠端什麼都不用裝,文件讀寫、命令執行、git 操作全部通過 SSH / SFTP 通道完成。

新增入口:左側欄「新增遠端工作區」對話框按協議分段(zWorkspace / SSH)。SSH 表單支持:

  • 密碼 / 私鑰 / 私鑰 + 通行碼 三種認證方式;私鑰可用文件選擇器挑選
  • 遠端根目錄支持 ~(自動展開為遠端家目錄);不允許指向 /,也不能經 ..~/.. 逃出家目錄
  • 「記住密碼 / 通行碼」複選框:勾選則加密落盤長期保留;不勾選則只在本次執行期間有效 —— 連線期內保留以便重連,應用啟動與結束時自動清除
  • 已新增的連線右鍵 → 「編輯 SSH 連線」修改(複選框會按已存狀態預填,避免誤把已記住的憑證降級)

憑證安全:SSH 密碼與私鑰通行碼一律國密 SM4-GCM 加密落盤,與本機綁定,且每次儲存使用隨機鹽。

首次連線要核對主機指紋:連線一台新主機時,對話框內會展開確認區塊,列出該主機的 host:portSHA256 金鑰指紋,請與伺服器方提供的指紋核對一致後再點「確認繼續」。確認之前不會發送密碼;確認後指紋才被釘住,之後連線自動校驗。若已知主機的金鑰發生變化,連線會直接失敗而非靜默接受 —— 這可能意味着中間人攻擊,請先確認變更來源。

遠端深度整合

  • 文件變更面板走遠端 git(遠端沒裝 git 時明確隱藏,不再報錯堆紅框)。
  • 技能(Skills)/ 外掛(Plugins)/ 掛鉤(Hooks) 在 SSH 工作區全部可用:技能從遠端讀取、外掛人設寫到遠端 .avlcode/、hook 命令在遠端執行。
  • 文件威脅掃描(VirusTotal AI)對遠端文件同樣生效(經 SFTP 取位元組後掃描)。
  • fs.grep 在 SSH 下走遠端系統 grep 提速。
  • 計畫 / 結果草稿等文件統一落遠端,不再本機 / 遠端兩邊腦裂。
  • 後台長駐命令同樣可用:可在遠端啟動長時間執行的命令(服務、建置、測試),隨時拉取輸出、列出在跑的任務、需要時終止。工作階段狀態存在遠端,斷線重連、甚至應用重新啟動後仍能列出並繼續追蹤(本機工作區的後台工作階段則隨應用結束而結束);終止時連同子程序一併收走。注意遠端後台命令不做 Python 虛擬環境自動感知(venv 探測依賴本機目錄結構),需要時請在命令裡顯式指定直譯器。

安全收口

  • samples/ 子沙箱全鏈路走遠端。
  • sys.info 如實報遠端身份。
  • 右鍵選單不提供「關閉並清除資料」 — 這個清理動作對本機工作區清的是自管資料,但對 SSH 工作區刪的是遠端伺服器上的真實目錄,誤刪不可挽回。普通「關閉工作區」保留;後端硬性拒絕該操作(即使繞過介面直接呼叫也拒),錯誤提示引導改用「移除工作區」(只清本機記錄與已存憑證,不碰遠端文件)。

連線失敗的提示就近內聯在對話框裡並區分原因(密碼錯 / 不可達等),不再只彈一個含糊的 toast。

跨 OS 用戶端(Windows 用戶端連 Linux 遠端,或反之)已徹底打通:遠端命令不再注入本機環境變數(用遠端登入 shell 自帶環境),遠端路徑一律按 POSIX 文法構造。早期版本在 Windows 上連 Linux 時幾乎每條命令都會報 bash: syntax error 或路徑找不到,本版根治。

自定義名稱重新啟動不丟:給 SSH / 遠端工作區改過名後,重新啟動恢復時會讀回你儲存的名稱,不再被自動派生的 SSH-<主機名> 覆蓋。

4.5 同時活躍工作區上限 7

為防止一次性開太多工作區把記憶體 / 句柄打滿,AVL Code 把"同時活躍"的工作區數量限制在 7。一旦達到上限:

  • Sidebar 上的「+」與「開啟遠端工作區」按鈕自動隱藏。
  • 設置 → 最近工作區 中點開歷史項也會被拒絕並提示原因;提示出現時 Settings 不會自動關閉,讓你讀完再決定。

需要繼續加新工作區時,先在 Sidebar 上右鍵關一兩個不再用的工作區即可。

4.6 最近工作區面板

設置 → 最近工作區 是一個獨立 Tab,專門管理開啟過的所有工作區:

  • 搜尋框始終顯示,列表自適應滾動;命中詞醒目顯示。
  • 置頂區其他區 各自獨立滾動,置頂項不會隨下方列表滾動消失。
  • 支持多選 + 頂部批量操作欄(批量刪除 / 開啟所選)。
  • 批量開啟改為「開啟所選」(不再是「開啟全部」),避免一不小心一次性開啟太多;超過同時活躍上限時按前 N 項截斷開啟並明確告知。
  • 刪除走 inline 倒數計時(武裝-倒數計時-確認兩步式),不再彈原生 confirm。

4.7 工作區粒度的設置

下列設置都是按工作區獨立的:

  • 預設工作模式
  • 五種模式各自指派的助手
  • 工具開關與權限政策
  • 模型選擇與參數
  • 接入的外部工具服務
  • 隨行通訊綁定

如果你希望把一份配置復用到新工作區,可以使用 設置 → 資料

4.8 工作區與工作階段佈局(側邊欄 / 頂部分頁)

工作區與工作階段的導航佈局有兩檔,可在 設置 → 一般 → 工作區與工作階段佈局 切換(Header 快捷選單的「佈局」滑塊也能一鍵切,無需進設置頁):

檔位 呈現
側邊欄(預設) 左側縱排工作區圖示 + 底部工具按鈕,經典佈局
頂部分頁 工作區與工作階段以頂部橫向分頁欄呈現,內容區隨之貼邊展開,可用縱向空間更充裕

頂部分頁模式的細節:

  • 每個工作區一枚彩色 chip,當前工作區展示名稱;點 chip 文字或 ▾ 都能開合下拉(最近工作階段 / 新增工作階段 / 新增例行程式)。
  • 工作階段以分頁呈現:點擊切換;活動分頁帶 × 關閉按鈕,滑鼠中鍵或右鍵選單「關閉分頁」同效。關閉分頁只是移出分頁欄,工作階段本身仍在,可從 chip 下拉或命令面板找回。
  • 開啟的分頁會被記住,重新啟動後自動恢復。
  • 釘選分頁:右鍵選單「釘選分頁」把常用工作階段釘在分頁欄前部,釘選的分頁不會被數量上限擠掉,並歸入「已釘選」分組;再次右鍵可取消釘選。
  • 拖曳重排:分頁可直接拖動調整順序。預設按最近更新時間排列,一旦拖動就轉為手動順序;右鍵選單「按最近更新排序」可復位回預設。
  • 分頁欄右端保留登入 / 設置 / 幫助與版本徽標;登入後會顯示當前使用者名稱(定寬顯示,過長自動省略號截斷,滑鼠停留可見全名)。

4.8.1 工作階段列表的排序與分組(側邊欄佈局)

側邊欄的工作階段列表可以按你的習慣組織。點列表工具條上的滑塊圖示開啟「排序與分組」選單:

維度 可選項
排序 最近更新(預設)/ 建立時間 / 名稱 / 手動拖曳
分組 按時間(預設)/ 按狀態(活動、已歸檔)/ 不分組
  • 手動拖曳排序時列表強制平鋪不分組,可直接拖動工作階段調整次序。
  • 排序與分組方式是全域偏好,手動排出來的順序按工作區分別儲存
  • 預設組合(最近更新 + 按時間分組)與以往行為一致,不動設置即可保持原樣。