跳至主要內容

檔案與終端機

給出 Workspace、目標和驗收方法後,Anyy 可以讀檔案、搜尋、修改內容和執行指令。實際 I/O 在 Anyy 的執行主機發生,用戶端電腦上有某個指令,不表示常駐主機也安裝了它。

先檢查,再修改​

例如先要求:

找到旧配置名的全部引用,列出文件和行号,先别修改。

確認範圍後,再指定替換內容,檢視 Diff,並執行對應驗證。各工具的主要行為如下:

工具關鍵行為
read讀取文字範圍或 JPEG/PNG/GIF/WebP/BMP 圖片
ls按名稱列目錄,包括隱藏檔案
find按 Glob 查路徑,遵循 .gitignore
grep搜尋內容並回傳路徑、行號,遵循 .gitignore
write建立/覆蓋檔案,自動建立父目錄
edit在同一檔案替換唯一且互不重疊的精確區域

長文字和搜尋輸出有大小限制,應按繼續讀取提示取得後續內容,或縮小搜尋,不可將摘要當作完整證據。預設直接選中的可移植工具為 read、bash、edit、write;grep、find、ls 可另行選擇,或在符合存取範圍時經 Codemode 呼叫。

修改會立即發生​

write/edit 不增加語法驗證或自動還原;即使寫入的是無效原始碼,也會按請求修改。同一目標的修改排隊執行。I/O 已開始後發生錯誤或取消,應先檢視實際檔案,再決定是否重試。

相對路徑以工具工作目錄為基準,絕對路徑、.. 和一般 Symlink 遵循檔案系統語義。Workspace 是工作上下文,不是檔案存取沙箱;可存取範圍仍受作業系統權限約束。

Shell 和搜尋依賴​

本機 bash 使用已設定 Shell,否則尋找 bash,最後退回 /bin/sh。腳本需要的直譯器、程式和認證資料應在 Anyy 主機環境準備好。

grep 依賴 rg,find 依賴 fd/fdfind。Anyy 先找 Profile 的 bin/,再找 PATH;缺失時可從官方 release 獲取。程序環境設定 ANYY_OFFLINE=1 禁止自動獲取,已有依賴仍可用;Android 跳過自動獲取。詳見搜尋輔助程式。

結果和程序記錄在暴露前保護已知認證資料。工具的程式回傳值和給模型看的文字預算不同。例如 Codemode 呼叫 tools.bash 得到 output、truncated、exit_code、wall_time_seconds;超過 1 MiB 的程式輸出保留首尾並給出 full_output_path。非零結束也可能回傳這個物件,必須檢查 exit_code。

長時間指令用受管程序​

process 可列出、輪詢、讀記錄、等待、寫入/提交輸入、關閉輸入、終止已經追蹤的背景程序。啟動服務或長測試時,要求 Anyy 記下程序工作階段識別碼,完成後檢查並停止。

同一 Profile 所有對話預設合計最多四個受管背景程序;前景 Shell 指令不佔這個名額。程序只屬於啟動它的對話,其他對話不能讀記錄、輸入或終止。結束的程序不會再次收到訊號。常駐服務重啟後,舊 PID 不足以復原控制;無法控制時會明確報告,而不會憑舊 PID 終止其他程序。

獨立繼續的 Agent 工作見背景任務;工具證據引用和分段讀取見內建工具參考。