AI 省著用: 實作篇

一、 純聊天

  1. saved info 讓你跟 gemini 超頻倍速溝通
  2. 低成本高報酬的「迷你語言」:
    1. 一般電腦問題 => linux 命令列
    2. 純文字檔 => 正規表示式
    3. json => jq、 zq、 mlr
    4. 數學式 => mathjax
    5. 圖片 => imagemagick
    6. 影片 => ffmpeg
    7. 概念圖 => graphviz 的 dot 格式

二、 備料

  1. Linux 命令列基本操作
  2. Docker 基本操作: Docker 新手第二課: 前景/背景/收工休息 圖解狀態轉換、 docker 的 volume、 port、 link
  3. 信用卡 => OpenRouter 帳號

三、 撿便宜

3.1 OpenRouter

https://openrouter.ai/docs/api/api-reference/models/list-all-models-and-their-properties
wget -O or-models.json https://openrouter.ai/api/v1/models
jq -r '
  (["id","modality","input","output","cached_input","intelligence","coding","agentic"]),
  (.data | sort_by(.benchmarks.artificial_analysis.intelligence_index, .benchmarks.artificial_analysis.agentic_index) | reverse | .[] | [
    .id, .architecture.modality,
    ((.pricing.prompt | tonumber) * 1e6 * 100 | round / 100),
    ((.pricing.completion | tonumber) * 1e6 * 100 | round / 100),
    ((.pricing.input_cache_read // "0" | tonumber) * 1e6 * 100 | round / 100),
    .benchmarks.artificial_analysis.intelligence_index,
    .benchmarks.artificial_analysis.coding_index,
    .benchmarks.artificial_analysis.agentic_index
  ]) | @csv
' or-models.json > or-models.csv
mlr --csv filter '$id=~"(google|openai|nvidia|thinkingmachines|mistralai)/"' or-models.csv | \
    grep -Pv '/gemini|/gpt-[^o]|openai/o\d|:free|:batch'
mlr --csv filter '$id !=~ ":batch"' then sort -nr intellegince,agentic then head -n 60 or-models.csv

3.2 AWS BedRock

建立 aws bedrock 模型與價格清單、 畫氣泡圖挑選性價比最佳的租賃 LLM

四、 Hermes Agent

4.1 啟動

啟動官方版:

docker pull nousresearch/hermes-agent
docker run -it --name hermes
    -v /x/gym/hermes:/opt/data \
    -p 9119:9119 \
    -e HERMES_UID=1006 \
    -e HERMES_GID=1006 \
    -e HERMES_HOME=/opt/data \
    --entrypoint /init \
    nousresearch/hermes-agent bash

啟動貴哥版:

docker pull ckhung/hermes-agent
docker run -it --name hermes \
    -v /x/gym/hermes:/opt/data \
    -p 9119:9119 \
    -e HERMES_UID=1006 \
    -e HERMES_GID=1006 \
    -e HERMES_HOME=/opt/data \
    ckhung/hermes-agent bash

以後重新進來: docker start -ai hermes

如果需要 root: docker exec -it --user root hermes bash

4.2 試車

hermes -h
hermes config
hermes sessions -h

4.3 設定

當初啟動命令列上的 -v /x/gym/hermes:/opt/data 和 -e HERMES_HOME=/opt/data 指定了 hermes 的家目錄。 以下檔案皆相對於此目錄。

設定你習慣的 .bashrc、 .vimrc、 .inputrc、 ... 等等。 其中 .bashrc 應包含:

export LANG=zh_TW.UTF-8
export LC_MESSAGES=POSIX
. /etc/bash_completion
export TERM=xterm-256color
eval "$(hermes completion bash)"

[ .env ]

API_SERVER_KEY=xxxx
DEEPINFRA_API_KEY=xxxx
EXA_API_KEY=xxxx
OPENROUTER_API_KEY=xxxx

[ config.yaml ] 先備份。 執行 hermes setup 之後, 可以拿它與備份版比較看看。 也可以再執行一次 hermes config 。

[ SOUL.md ] 設定你的助理的性格。

[ memories/USER.md ] 你的助理所了解的你。 可以手動設定, 但 hermes 會去更新它。

[ memories/MEMORY.md ] 你的助理所學到的事。 可以手動設定, 但 hermes agent 會去更新它。

以上這些是很小、 很重要的檔案, 我會較常備份。

遇到問題時, 可以嘗試: hermes doctor --fix 。

4.4 常用指令

  1. 列出所有對話: hermes sessions list
  2. 更改某一對話的短名: hermes sessions rename 20260624_120410_c6a680 general
  3. 延續 (resume) 某一對話: hermes -r general
  4. 延續 (coontinue) 最近的對話: hermes -c

4.5 備份還原

備份: hermes backup

還原: hermes import hermes-backup-2026-10-03-134702.zip

五、 附錄

Dockerfile:

FROM nousresearch/hermes-agent:latest

USER root

ENV UV_TOOL_DIR=/opt/hermes/uv-tools \
    UV_TOOL_BIN_DIR=/opt/hermes/bin \
    PATH="/opt/hermes/bin:${PATH}"

RUN uv tool install --no-cache browser-use

# Hermes 唯一的 persistent home
ENV HERMES_HOME=/opt/data \
    HOME=/opt/data

RUN apt update && \
    apt install -y \
        locales bash-completion file less jq vim wget \
        php-cli sqlite3 php-sqlite3 && \
    perl -i -pe 's/^#\s*(C|zh_TW)\.UTF-8/$1.UTF-8/' /etc/locale.gen && \
    locale-gen && \
    apt clean && \
    rm -rf /var/lib/apt/lists/*

ENV LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu