從網頁終端機進 Vi 的 TUI

Vi(預裝 Hermes-Agent)有兩個入口:

  1. 網頁 dashboard(一般客戶用):在瀏覽器點選、看圖、按按鈕
  2. TUI(進階客戶用 / 想完整控制 Hermes 用):黑底白字的文字終端機介面,輸入命令、看到 ANSI 美化的回覆

這篇教你用 admin panel 內建的網頁終端機進 TUI,完整體驗 Hermes v0.12 升級後的新功能(LaTeX 數學公式、/resume 切歷史對話、/reload 重讀環境變數、自動接上次對話、滑鼠滾輪滾動)。

這是什麼?

TUI = Text User Interface,文字終端機介面。不是網頁,是黑底白字的字符畫面,類似你印象中的「駭客畫面」。實際上很好用 — 反應快、不需要載入網頁資源、能完整控制 Hermes。


為什麼要用 TUI?

網頁 dashboard 適合:

  • 設定 / 開關訊息平台
  • 看用量圖表
  • 一般對話

但有些事 TUI 比較好用:

你想做的事用 TUI 比較好的原因
跟 Vi 深度對話,問複雜問題TUI 沒有畫面渲染延遲,每個字一進來就顯示
看 Vi 怎麼思考TUI 會顯示思考過程(thinking trace)
跑一個小 script 看結果TUI 一行命令就跑,網頁要切到 dashboard 找按鈕
大量複製貼上對話TUI 直接框選複製,比網頁順手
同時開好幾個對話 sessionTUI /resume 切換比網頁快

怎麼進 TUI(一步一步)

步驟 1:從 admin panel 打開網頁終端機

  1. 登入 admin panel
  2. 切到 hm-3 (Vi) 容器
  3. 主頁底部找 終端機 按鈕(或 Terminal
  4. 點下去會打開一個全螢幕的黑底白字面板(這就是網頁終端機)

📷 截圖待補(網頁終端機按鈕與 hm-3 主頁尚未拍攝)

步驟 2:在容器內輸入 hermes

網頁終端機打開後,游標停在 $ 提示符:

root@hm-3:/# 

輸入:

hermes

按 Enter。幾秒鐘後 TUI 互動介面跳出來:

┌─ Hermes Agent v0.12.0 ──────────────────────────────────┐
│                                                         │
│  > 自動接上次對話 (auto-resume)                         │
│                                                         │
│  上次對話:3 小時前                                     │
│  最後一句話:「整理一下這週的客戶來信」                 │
│                                                         │
│  按 Enter 繼續,或輸入 /new 開新對話                   │
└─────────────────────────────────────────────────────────┘

> _

📷 截圖待補(網頁終端機內 TUI 啟動畫面尚未拍攝)


v0.12 升級的客戶感知

下面這些是 v0.12 後的新功能,從網頁終端機進去就能體驗:

1. 自動接上次對話(auto-resume)

v0.11 之前:每次 hermes 都是一個新對話,你要 hermes resume 才能接上次的。

v0.12 開始:開 TUI 自動問你要不要接上次。按 Enter 直接接、輸入 /new 開新對話。

對「常常從網頁終端機快速進來查個東西」的客戶 UX 提升明顯。

2. 數學公式漂亮顯示(LaTeX)

問 Vi 數學問題,回覆裡的公式會用 LaTeX 樣式渲染:

> 解這個積分: ∫(0 to ∞) e^(-x²) dx

Vi: 這是高斯積分,結果是:
    

       ∫  e^(-x²) dx = √π/2
       0

積分符號、根號、分數都會用美化的 ANSI 字符畫出來,比一般純文字版好讀。

3. /resume 切歷史對話

輸入 /resume

> /resume

過去的對話 session:

  ▶ 整理一下這週的客戶來信      (3 小時前)
    幫我寫個 Python 腳本撈資料  (昨天)
    分析這份 CSV               (3 天前)
    Vi 的人格設定討論          (上週)

↑↓ 切換 · Enter 接上 · d 刪除 · q 取消
  • 用方向鍵選想接的 session
  • 按 Enter 接上
  • d 刪除這個 session(v0.12 新功能 — 之前要從外面手動刪檔案)

4. /reload 重讀環境變數(不退出 TUI)

如果你改了 .env 設定(例如換了 API key),v0.11 之前要退 TUI 重進。

v0.12 開始:直接在 TUI 內輸入 /reload,環境變數熱重新載入,對話 session 不中斷。

> /reload

✓ 環境變數已重新載入
  - OPENAI_API_KEY: 已更新
  - SPOTIFY_CLIENT_ID: 已更新

5. 滑鼠滾輪滾動

在網頁終端機裡,直接用滑鼠滾輪上下捲 TUI 內容(看回前面的對話)。v0.12 之前要按鍵盤上下鍵或 PageUp/PageDown。


常見情境

情境一:想跟 Vi 深度對話

> 我想設計一個 customer churn 分析流程,幫我從資料準備、模型選擇、評估指標
  一步一步討論

Vi: 好的,我們從第一步開始 —
    [完整推理過程顯示]
    
    1. 資料準備 ...
    2. 特徵工程 ...
    3. 模型選擇 ...
    4. 評估指標 ...
    
    哪一步想先深入?

TUI 顯示 Vi 的「思考過程」(thinking trace),你能看到它怎麼推理 — 對抓 prompt engineering 很有幫助。

情境二:跑一個小 script

> 用 Python 算一下 1 到 1000 的質數總和

Vi: [執行...]

    結果:
    質數個數:168
    總和:76127

    跑了 0.04 秒。要顯示質數列表嗎?

情境三:看 Vi 處理 Spotify

v0.12 開始 Vi 原生支援 Spotify,從 TUI 可以直接:

> 播放 Daft Punk Random Access Memories

Vi: 在 Spotify 上找到專輯 "Random Access Memories" (2013)。
    現在播放裝置:MacBook Pro 喇叭
    
    ▶ Give Life Back to Music (0:10 / 4:35)

退出 TUI

兩種方式:

方式動作
/quit在 TUI 輸入 /quit 然後 Enter
Ctrl + D鍵盤直接按

退出後對話會被保存(下次開 TUI 自動 resume,除非你手動 /new)。

回到容器 shell 後,可以 exit 退出網頁終端機(admin panel 會關掉那個面板)。


進階用法

hermes -z(一行命令,不進 TUI)

如果你只想問一個問題、不想開整個 TUI 互動模式:

hermes -z "今天台北天氣"
# Vi 回一段文字然後直接結束,不進 TUI

適合用在 shell script 裡呼叫 Vi。

/mouse 切換滑鼠模式

如果你滑鼠滾輪在某些終端機環境不順,輸入 /mouse 切換 Hermes 的 mouse handling 模式。

同時開多個 session

開兩個網頁終端機面板(admin panel 允許多個 tab),每個面板各跑一個 hermes,session 互相獨立。


為什麼要從網頁終端機進,而不是 SSH?

兩種都可以:

入口優點缺點
admin panel 網頁終端機不用記 SSH 命令、瀏覽器直接用、有 admin 權限保護速度比 SSH 慢一點點
SSH 進主機速度快、習慣 terminal 的客戶用順手要自己管 SSH key

新手 / 偶爾用 / 不想記 SSH key:用網頁終端機。 每天大量用 / 對 terminal 已經很熟:直接 SSH,更快。


常見問題

TUI 開了但沒反應?

  1. 確認容器是 Running:admin panel → hm-3 → 主頁
  2. 重開網頁終端機面板(關掉再開)
  3. exit 退到容器 shell,看看 $ 提示符還在嗎?
  4. 如果連容器 shell 都沒反應,restart 容器:admin panel → hm-3 → Restart

LaTeX 公式顯示亂碼?

網頁終端機(xterm.js)支援 ANSI + Unicode,理論上不會亂。如果亂:

  • 換瀏覽器試試(Chrome / Edge / Firefox 都支援)
  • 確認終端機字體(admin panel 設定可能可以改字體)

退出 TUI 後對話沒保存?

每次 /quitCtrl+D 退出時 Hermes 會自動保存。如果強制關閉網頁終端機面板(沒 /quit),可能保存中斷。下次進 TUI 用 /resume 看歷史。

我改了 .env 但 /reload 沒生效?

  • 確認 .env 路徑是 Hermes 認得的位置(通常是 ~/.hermes/.env
  • 有些環境變數需要進程重啟才生效(例如 GPU / CUDA),這時要 /quit 後重進

相關文件