跳到主要內容

Here.Now

將靜態站點發布到 {slug}.here.now,並將私有文件存儲在雲盤(Drives)中,以便智能體之間進行交接。

技能元數據

來源可選 — 使用 hermes skills install official/productivity/here-now 安裝
路徑optional-skills/productivity/here-now
版本1.15.3
作者here.now
許可證MIT
平臺macos, linux
標籤here.now, herenow, publish, deploy, hosting, static-site, web, share, URL, drive, storage

參考:完整 SKILL.md

信息

以下是 Hermes 在觸發此技能時加載的完整技能定義。這是技能激活時智能體看到的指令。

here.now

here.now 允許智能體發佈網站並將私有文件存儲在雲盤(Drives)中。

使用 here.now 執行兩項任務:

  • 站點(Sites):在 {slug}.here.now 發佈網站和文件。
  • 雲盤(Drives):將私有智能體文件存儲在雲文件夾中。

當前文檔

在回答有關 here.now 功能、特性或工作流的問題之前,請閱讀當前文檔:

https://here.now/docs

閱讀文檔的時機:

  • 在對話中首次進行與 here.now 相關的交互時
  • 當用戶詢問如何執行某項操作時
  • 當用戶詢問哪些功能是可能的、受支持的或推薦的時候
  • 在告知用戶某項功能不受支持之前

需要查閱當前文檔的主題(不要僅依賴本地技能文本):

  • 雲盤(Drives)和雲盤共享
  • 自定義域名
  • 支付和支付網關
  • 分叉(forking)
  • 代理路由和服務變量
  • 句柄(handles)和鏈接
  • 限制和配額
  • SPA 路由
  • 錯誤處理和修復
  • 功能可用性

如果文檔與實時 API 行為不一致,請以實時 API 行為為準。

如果文檔獲取失敗或超時,請繼續使用本地技能和實時 API/腳本輸出。對於活躍操作,優先採用實時 API 行為。

要求

  • 必需二進制文件:curl, file, jq
  • 可選環境變量:$HERENOW_API_KEY
  • 可選雲盤令牌變量:$HERENOW_DRIVE_TOKEN
  • 可選憑據文件:~/.herenow/credentials
  • 技能輔助腳本路徑:
    • ${HERMES_SKILL_DIR}/scripts/publish.sh 用於發佈站點
    • ${HERMES_SKILL_DIR}/scripts/drive.sh 用於私有云盤存儲

創建站點

PUBLISH="${HERMES_SKILL_DIR}/scripts/publish.sh"
bash "$PUBLISH" {file-or-dir} --client hermes

輸出實時 URL(例如 https://bright-canvas-a7k2.here.now/)。

底層這是一個三步流程:創建/更新 -> 上傳文件 -> finalize(最終化)。只有 finalize 成功後,站點才會上線。

如果沒有 API 密鑰,這將創建一個匿名站點,該站點將在 24 小時後過期。 如果保存了 API 密鑰,站點將是永久性的。

文件結構: 對於 HTML 站點,請將 index.html 放在要發佈的目錄根目錄下,而不是子目錄中。目錄的內容將成為站點根目錄。例如,發佈 my-site/,其中存在 my-site/index.html — 不要發佈包含 my-site/ 的父文件夾。

你也可以發佈沒有任何 HTML 的原始文件。單個文件會獲得豐富的自動查看器(圖片、PDF、視頻、音頻)。多個文件會獲得自動生成的目錄列表,包含文件夾導航和圖片畫廊。

更新現有站點

PUBLISH="${HERMES_SKILL_DIR}/scripts/publish.sh"
bash "$PUBLISH" {file-or-dir} --slug {slug} --client hermes

更新匿名站點時,腳本會自動從 .herenow/state.json 加載 claimToken。傳遞 --claim-token {token} 以覆蓋。

經過身份驗證的更新需要保存的 API 密鑰。

使用雲盤(Drive)

當用戶希望為智能體文件提供私有云存儲時使用雲盤:文檔、上下文、記憶、計劃、資產、媒體、研究、代碼以及任何其他應持久保存但不作為網站發佈的內容。

每個登錄賬戶都有一個名為 My Drive 的默認雲盤。

DRIVE="${HERMES_SKILL_DIR}/scripts/drive.sh"
bash "$DRIVE" default
bash "$DRIVE" ls "My Drive"
bash "$DRIVE" put "My Drive" notes/today.md --from ./notes/today.md
bash "$DRIVE" cat "My Drive" notes/today.md
bash "$DRIVE" share "My Drive" --perms write --prefix notes/ --ttl 7d

使用 scoped 雲盤令牌進行智能體之間的交接。如果你收到一個 herenow_drive 共享塊,請使用其 token 作為針對 api_baseAuthorization: Bearer <token>,在存在 pathPrefix 時尊重它,並在寫入時保留 ETags。pathPrefixnull 表示完全訪問雲盤。如果該技能可用,優先使用 drive.sh;否則直接調用列出的 API 操作。

API 密鑰存儲

發佈腳本從以下來源讀取 API 密鑰(首次匹配生效):

  1. --api-key {key} 標誌(僅用於 CI/腳本 — 避免在交互式使用中使用)
  2. $HERENOW_API_KEY 環境變量
  3. ~/.herenow/credentials 文件(推薦用於智能體)

要存儲密鑰,請將其寫入憑據文件:

mkdir -p ~/.herenow && echo "{API_KEY}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials

重要:收到 API 密鑰後,請立即保存 — 自行運行上述命令。不要要求用戶手動運行它。避免在交互式會話中通過 CLI 標誌(例如 --api-key)傳遞密鑰;憑據文件是首選的存儲方法。

切勿將憑據或本地狀態文件(~/.herenow/credentials, .herenow/state.json)提交到源代碼控制中。

獲取 API 密鑰

要從匿名(24小時)站點升級為永久站點:

  1. 詢問用戶的電子郵件地址。
  2. 請求一次性登錄代碼:
curl -sS https://here.now/api/auth/agent/request-code \
-H "content-type: application/json" \
-d '{"email": "user@example.com"}'
  1. 告知用戶:“請檢查您的收件箱,查找來自 here.now 的登錄驗證碼,並將其粘貼到此處。”
  2. 驗證驗證碼並獲取 API 密鑰:
curl -sS https://here.now/api/auth/agent/verify-code \
-H "content-type: application/json" \
-d '{"email":"user@example.com","code":"ABCD-2345"}'
  1. 自行保存返回的 apiKey(不要要求用戶執行此操作):
mkdir -p ~/.herenow && echo "{API_KEY}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials

狀態文件

每次創建或更新站點後,腳本會將數據寫入工作目錄中的 .herenow/state.json

{
"publishes": {
"bright-canvas-a7k2": {
"siteUrl": "https://bright-canvas-a7k2.here.now/",
"claimToken": "abc123",
"claimUrl": "https://here.now/claim?slug=bright-canvas-a7k2&token=abc123",
"expiresAt": "2026-02-18T01:00:00.000Z"
}
}
}

在創建或更新站點之前,您可以檢查此文件以查找先前的 slug。 僅將 .herenow/state.json 視為內部緩存。 切勿將此本地文件路徑作為 URL 呈現,也切勿將其用作身份驗證模式、過期時間或認領 URL 的真實來源。

如何告知用戶

對於已發佈的站點:

  • 始終分享當前腳本運行生成的 siteUrl
  • 閱讀並遵循腳本標準錯誤輸出(stderr)中的 publish_result.* 行以確定身份驗證模式。
  • publish_result.auth_mode=authenticated 時:告知用戶該站點是永久性的並已保存到其賬戶中。無需認領 URL。
  • publish_result.auth_mode=anonymous 時:告知用戶該站點將在 24 小時後過期。分享認領 URL(如果 publish_result.claim_url 非空且以 https:// 開頭),以便他們可以永久保留該站點。警告用戶認領令牌僅返回一次,無法恢復。
  • 切勿告知用戶檢查 .herenow/state.json 以獲取認領 URL 或身份驗證狀態。

對於 Drives:

  • 不要將 Drive 文件描述為公共 URL。
  • 告知用戶,除非通過 scoped token 共享,否則 Drive 內容是私有的。
  • 在與另一個 agent 共享訪問權限時,優先使用具有狹窄 pathPrefix 和短 TTL 的 scoped token。

publish.sh 選項

標誌描述
--slug {slug}更新現有站點而非創建新站點
--claim-token {token}覆蓋匿名更新的認領令牌
--title {text}查看器標題(非 HTML 站點)
--description {text}查看器描述
--ttl {seconds}設置過期時間(僅限已認證)
--client {name}用於歸屬的 Agent 名稱(例如 hermes
--base-url {url}API 基礎 URL(默認:https://here.now
--allow-nonherenow-base-url允許向非默認的 --base-url 發送身份驗證請求
--api-key {key}覆蓋 API 密鑰(優先使用憑證文件)
--spa啟用 SPA 路由(為未知路徑提供 index.html)
--forkable允許其他人 fork 此站點

超出 publish.sh 範圍

對於 Drive 操作,請使用 drive.sh 或 Drive API。對於更廣泛的賬戶和站點管理——刪除、元數據、密碼、支付、域名、句柄、鏈接、變量、代理路由、fork、複製等——請參閱當前文檔:

https://here.now/docs

完整文檔:https://here.now/docs