工具與功能
概述
工具是您的代理程式在對話期間可以採取的動作。當代理程式需要瀏覽網頁、執行命令、讀取檔案或控制裝置時,它使用工具。
Neotask 提供豐富的內建工具集,涵蓋檔案管理、程式碼執行、瀏覽器自動化、裝置控制、訊息傳送、網頁搜尋等。
檔案操作
代理程式可以讀取、寫入和編輯其工作空間中的檔案:
- Read, 讀取檔案內容
- Write, 建立或覆蓋檔案
- Edit, 對檔案的特定部分進行有目標的編輯
- Apply Patch, 套用多區塊統一差異以進行複雜的檔案修改
程式碼執行
代理程式可以執行具有可設定隔離的 shell 命令:
- Gateway 執行, 直接在託管 Gateway 的機器上執行命令
- 沙盒執行, 在具有資源限制的隔離 Docker 容器中執行命令
- 節點執行, 在已連接的伴侶裝置(macOS、Linux 節點)上執行命令
執行功能
- 可設定的超時(預設 30 分鐘)
- 背景工作管理(列表、輪詢、終止、清除)
- 長時間執行命令自動轉至背景
- 互動式程式的 TTY 支援
- 特權操作的提升模式(僅限 Gateway 主機)
核准工作流程
敏感命令在執行前可能需要使用者核准:
- Allowlist, 只有預先核准的命令才能執行
- Ask, 未知命令提示核准
- Full, 無限制
瀏覽器自動化
代理程式控制基於 Chromium 的完整瀏覽器(Chrome、Brave 或 Edge):
動作
- Navigate, 開啟 URL 並在頁面間導覽
- Interact, 點擊、輸入、懸停、拖曳、選擇、填寫表單
- Capture, 截圖、匯出 PDF
- Inspect, 擷取 DOM 或無障礙樹快照
- Execute, 在頁面上下文中執行 JavaScript
- Upload, 上傳檔案至網頁表單
- Manage, 處理對話框(警告、確認)、讀取主控台輸出
瀏覽器設定檔
多個隔離的瀏覽器設定檔用於分隔帳戶:
- 每個設定檔都有自己的 Cookie、儲存空間和歷史
- 自動分配 CDP 連接埠以進行程式化控制
- 遠端瀏覽器支援(連接至其他機器上的瀏覽器)
畫布與 A2UI
代理程式到 UI(A2UI)系統讓代理程式在已連接裝置上渲染互動式視覺內容:
- Present, 在裝置畫布上顯示網頁或自訂內容
- Navigate, 控制畫布視窗中顯示的內容
- Evaluate, 在畫布上下文中執行 JavaScript
- Snapshot, 擷取當前顯示的內容
- A2UI Push, 將結構化 UI 更新(JSONL 有效負載)傳送至畫布
- A2UI Reset, 清除畫布狀態
畫布渲染可在 macOS(WebKit)、iOS(SwiftUI)、Android(Jetpack Compose)和網頁(WebChat)上使用。
節點裝置功能
透過已連接的伴侶應用程式,代理程式可以:
相機
- Snap, 拍照(前置或後置相機)
- Clip, 錄製具有可設定時間長度和幀率的影片片段
螢幕
- Record, 擷取具有可設定時間長度和品質的螢幕錄影
位置
- Get, 擷取具有精確度選擇的 GPS 座標
通知
- Notify, 傳送具有標題、正文和優先級的原生作業系統通知
系統命令
- Run, 在節點裝置上執行 shell 命令
- Which, 檢查節點上是否有可用命令
訊息傳送
代理程式可以透過已連接的頻道傳送和管理訊息:
- Send, 向任何已連接的頻道/收件人傳送訊息
- Edit, 編輯之前傳送的訊息
- React, 為訊息添加回應
- Thread, 建立討論串並在其中回覆
- Poll, 在支援的平台上建立投票
- Voice, 檢查語音頻道狀態(Discord)
網頁
- Search, 透過 Brave Search API 進行網頁搜尋
- Fetch, 擷取網頁並將 HTML 轉換為 Markdown/文字
記憶體與上下文
- Memory Search, 對代理程式記憶體檔案進行向量相似性搜尋
- Memory Get, 按名稱擷取特定記憶體檔案
工作階段管理
- List Sessions, 查看跨代理程式的活躍工作階段
- Session History, 獲取任何工作階段的轉錄
- Send to Session, 向其他代理程式工作階段傳送訊息
- Spawn Sub-Agent, 啟動隔離的子代理程式執行
- List Agents, 查看可用的代理程式
自動化
- Cron, 建立、編輯、執行和管理排程工作
- Gateway, 重新啟動 Gateway、套用設定更改、執行更新
圖像分析
代理程式可以使用設定的視覺模型分析圖像, , 描述內容、提取文字、識別物件,以及回答關於視覺內容的問題。
工具群組
工具按群組組織,以便輕鬆進行權限管理:
| 群組 | 工具 |
|---|---|
| runtime | exec、bash、process |
| fs | read、write、edit、apply_patch |
| sessions | sessions_list、sessions_history、sessions_send、sessions_spawn、session_status |
| memory | memory_search、memory_get |
| web | web_search、web_fetch |
| ui | browser、canvas |
| automation | cron、gateway |
| messaging | message |
| nodes | nodes |