Chuyển tới nội dung chính

Dán Tầm nhìn & Hình ảnh

Hermes Agent hỗ trợ tầm nhìn đa phương thức — bạn có thể dán trực tiếp hình ảnh từ clipboard vào CLI và yêu cầu nhân viên phân tích, mô tả hoặc làm việc với chúng. Hình ảnh được gửi đến mô hình dưới dạng khối nội dung được mã hóa base64, do đó, bất kỳ mô hình nào có khả năng hiển thị đều có thể xử lý chúng.

Nó hoạt động như thế nào

  1. Sao chép hình ảnh vào khay nhớ tạm của bạn (ảnh chụp màn hình, hình ảnh trình duyệt, v.v.)
  2. Đính kèm bằng một trong các phương pháp dưới đây
  3. Nhập câu hỏi của bạn và nhấn Enter
  4. Hình ảnh xuất hiện dưới dạng huy hiệu [📎 Image #1] phía trên đầu vào
  5. Khi gửi, hình ảnh sẽ được gửi đến mô hình dưới dạng khối nội dung tầm nhìn

Bạn có thể đính kèm nhiều hình ảnh trước khi gửi - mỗi hình ảnh sẽ có huy hiệu riêng. Nhấn Ctrl+C để xóa tất cả hình ảnh đính kèm.

Hình ảnh được lưu vào ~/.hermes/images/ dưới dạng tệp PNG có tên tệp được gắn dấu thời gian.

Phương pháp dán

Cách bạn đính kèm hình ảnh tùy thuộc vào môi trường terminal của bạn. Không phải tất cả các phương pháp đều hoạt động ở mọi nơi - đây là bảng phân tích đầy đủ:

/paste Lệnh

Phương pháp đáng tin cậy nhất. Hoạt động ở mọi nơi.

/paste

Nhập /paste và nhấn Enter. Hermes kiểm tra khay nhớ tạm của bạn để tìm hình ảnh và đính kèm nó. Tính năng này hoạt động trong mọi môi trường vì nó gọi rõ ràng phần phụ trợ của clipboard — không cần lo lắng về việc chặn liên kết phím ở đầu cuối.

Ctrl+V / Cmd+V (Dán trong ngoặc)

Khi bạn dán văn bản trên bảng nhớ tạm cùng với hình ảnh, Hermes cũng tự động kiểm tra hình ảnh. Điều này hoạt động khi:

  • Bảng nhớ tạm của bạn chứa cả văn bản và hình ảnh (một số ứng dụng sẽ đặt cả hai vào bảng nhớ tạm khi bạn sao chép)
  • Thiết bị đầu cuối của bạn hỗ trợ dán trong ngoặc (hầu hết các terminal hiện đại đều hỗ trợ)
cảnh báo

Nếu khay nhớ tạm của bạn chỉ có một hình ảnh (không có văn bản), Ctrl+V sẽ không làm gì trong hầu hết các terminal. Thiết bị đầu cuối chỉ có thể dán văn bản — không có cơ chế tiêu chuẩn nào để dán dữ liệu hình ảnh nhị phân. Thay vào đó hãy sử dụng /paste hoặc Alt+V.

Alt+V

Các tổ hợp phím Alt đi qua hầu hết các trình mô phỏng terminal (chúng được gửi dưới dạng phím ESC + thay vì bị chặn). Nhấn Alt+V để kiểm tra bảng tạm để tìm hình ảnh.

cẩn thận

Không hoạt động trong terminal tích hợp của VSCode. VSCode chặn nhiều tổ hợp phím Alt+cho giao diện người dùng của chính nó. Thay vào đó hãy sử dụng /paste.

Ctrl+V (Thô - Chỉ dành cho Linux)

Trên terminal máy tính để bàn Linux (Thiết bị đầu cuối Gnome, Konsole, Alacritty, v.v.), Ctrl+V không là phím tắt dán — Ctrl+Shift+V mới là. Vì vậy Ctrl+V gửi một byte thô đến ứng dụng và Hermes nắm bắt nó để kiểm tra bảng tạm. Tính năng này chỉ hoạt động trên các terminal máy tính để bàn Linux có quyền truy cập clipboard X11 hoặc Wayland.

Khả năng tương thích nền tảng

| Môi trường | /paste | Ctrl+V văn bản+hình ảnh | Alt+V

| Ghi chú | |---|:---:|:---:|:---:|---| | Thiết bị đầu cuối macOS / iTerm2 | ✅ | ✅ | ✅ | Trải nghiệm tốt nhất — osascript luôn có sẵn | | Máy tính để bàn Linux X11 | ✅ | ✅ | ✅ | Yêu cầu xclip ( apt install xclip ) | | Máy tính để bàn Linux Wayland | ✅ | ✅ | ✅ | Yêu cầu wl-paste ( apt install wl-clipboard ) | | WSL2 (Thiết bị đầu cuối Windows) | ✅ | ✅¹ | ✅ | Sử dụng powershell.exe — không cần cài đặt thêm | | Thiết bị đầu cuối VSCode (cục bộ) | ✅ | ✅¹ | ❌ | VSCode chặn phím Alt+ | | Thiết bị đầu cuối VSCode (SSH) | ❌² | ❌² | ❌ | Không thể truy cập clipboard từ xa | | Thiết bị đầu cuối SSH (bất kỳ) | ❌² | ❌² | ❌² | Không thể truy cập clipboard từ xa |

¹ Chỉ khi clipboard có cả văn bản và hình ảnh (clipboard chỉ có hình ảnh = không có gì xảy ra) ² Xem SSH & Phiên từ xa bên dưới

Thiết lập dành riêng cho nền tảng

macOS

Không cần thiết lập. Hermes sử dụng osascript (được tích hợp trong macOS) để đọc bảng nhớ tạm. Để có hiệu suất nhanh hơn, hãy tùy chọn cài đặt pngpaste :

brew install pngpaste

Linux (X11)

Cài đặt xclip :

# Ubuntu/Debian
sudo apt install xclip

# Fedora
sudo dnf install xclip

# Arch
sudo pacman -S xclip

Linux (Wayland)

Máy tính để bàn Linux hiện đại (Ubuntu 22.04+, Fedora 34+) thường sử dụng Wayland theo mặc định. Cài đặt wl-clipboard :

# Ubuntu/Debian
sudo apt install wl-clipboard

# Fedora
sudo dnf install wl-clipboard

# Arch
sudo pacman -S wl-clipboard

Cách kiểm tra xem bạn có đang sử dụng Wayland không
echo $XDG_SESSION_TYPE
# "wayland" = Wayland, "x11" = X11, "tty" = no display server

WSL2

Không cần thiết lập thêm. Hermes tự động phát hiện WSL2 (thông qua /proc/version ) và sử dụng powershell.exe để truy cập bảng nhớ tạm của Windows thông qua System.Windows.Forms.Clipboard của .NET. Tính năng này được tích hợp vào Windows interop của WSL2 — powershell.exe có sẵn theo mặc định.

Dữ liệu clipboard được truyền dưới dạng PNG được mã hóa base64 qua thiết bị xuất chuẩn, do đó không cần chuyển đổi đường dẫn tệp hoặc tệp tạm thời.

WSLg Lưu ý

Nếu bạn đang chạy WSLg (WSL2 có hỗ trợ GUI), Hermes sẽ thử đường dẫn PowerShell trước, sau đó quay lại wl-paste . Cầu clipboard của WSLg chỉ hỗ trợ định dạng BMP cho hình ảnh - Hermes tự động chuyển đổi BMP sang PNG bằng cách sử dụng lệnh Pillow (nếu được cài đặt) hoặc convert của ImageMagick.

Xác minh quyền truy cập bảng tạm WSL2

# 1. Check WSL detection
grep -i microsoft /proc/version

# 2. Check PowerShell is accessible
which powershell.exe

# 3. Copy an image, then check
powershell.exe -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Clipboard]::ContainsImage()"
# Should print "True"

SSH & Phiên từ xa

Dán bảng tạm không hoạt động qua SSH. Khi bạn SSH vào một máy từ xa, Hermes CLI sẽ chạy trên máy chủ từ xa. Tất cả các công cụ clipboard ( xclip , wl-paste , powershell.exe , osascript ) đều đọc clipboard của máy mà chúng chạy trên đó — là máy chủ từ xa, không phải máy cục bộ của bạn. Bảng nhớ tạm cục bộ của bạn không thể truy cập được từ phía xa.

Giải pháp cho SSH

  1. Tải tệp hình ảnh lên — Lưu hình ảnh cục bộ, tải nó lên máy chủ từ xa thông qua scp , trình khám phá tệp của VSCode (kéo và thả) hoặc bất kỳ phương thức truyền tệp nào. Sau đó tham chiếu nó theo đường dẫn. (Lệnh /attach <filepath> được lên kế hoạch cho bản phát hành trong tương lai.)

  2. Sử dụng URL — Nếu hình ảnh có thể truy cập được trực tuyến, chỉ cần dán URL vào tin nhắn của bạn. Tác nhân có thể sử dụng vision_analyze để xem trực tiếp bất kỳ URL hình ảnh nào.3. Chuyển tiếp X11 — Kết nối với ssh -X để chuyển tiếp X11. Điều này cho phép xclip trên máy từ xa truy cập bảng nhớ tạm X11 cục bộ của bạn. Yêu cầu máy chủ X chạy cục bộ (XQuartz trên macOS, tích hợp sẵn trên máy tính để bàn Linux X11). Chậm đối với hình ảnh lớn.

  3. Sử dụng nền tảng nhắn tin — Gửi hình ảnh tới Hermes qua Telegram, Discord, Slack hoặc WhatsApp. Các nền tảng này xử lý việc tải lên hình ảnh một cách tự nhiên và không bị ảnh hưởng bởi các giới hạn của bảng nhớ tạm/terminal.

Tại sao terminal không thể dán hình ảnh

Đây là nguyên nhân gây nhầm lẫn phổ biến, vì vậy đây là giải thích kỹ thuật:

Thiết bị đầu cuối là giao diện dựa trên văn bản. Khi bạn nhấn Ctrl+V (hoặc Cmd+V), trình mô phỏng terminal:

  1. Đọc clipboard cho nội dung văn bản
  2. Gói nó trong chuỗi thoát dán ngoặc
  3. Gửi nó đến ứng dụng thông qua luồng văn bản của terminal

Nếu bảng nhớ tạm chỉ chứa một hình ảnh (không có văn bản) thì terminal không có gì để gửi. Không có chuỗi thoát đầu cuối tiêu chuẩn cho dữ liệu hình ảnh nhị phân. Thiết bị đầu cuối đơn giản là không làm gì cả.

Đây là lý do tại sao Hermes sử dụng tính năng kiểm tra bảng tạm riêng biệt — thay vì nhận dữ liệu hình ảnh thông qua sự kiện dán terminal, nó gọi các công cụ cấp hệ điều hành ( osascript , powershell.exe , xclip , wl-paste ) trực tiếp thông qua quy trình con để đọc bảng tạm một cách độc lập.

Model được hỗ trợ

Tính năng dán hình ảnh hoạt động với mọi kiểu máy có khả năng nhìn. Hình ảnh được gửi dưới dạng URL dữ liệu được mã hóa base64 ở định dạng nội dung tầm nhìn OpenAI:

{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,..."
}
}

Hầu hết các mô hình hiện đại đều hỗ trợ định dạng này, bao gồm GPT-4 Vision, Claude (có tầm nhìn), Gemini và các mô hình đa phương thức nguồn mở được cung cấp thông qua OpenRouter.