title: “Here.Now — Publish static sites to {slug}” sidebar_label: “Here.Now” description: “Publish static sites to {slug}”
{/* 此页面由 website/scripts/generate-skill-docs.py 根据技能对应的 SKILL.md 文件自动生成。请直接编辑源文件 SKILL.md,而非此页面。 */}
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 文件
here.now
here.now 允许智能体发布网站,并将私有文件存储在云盘 Drives 中。
该技能可用于完成两项任务:
- 网站发布:将网站及文件发布到
{slug}.here.now地址。 - 文件存储:将智能体的私有文件存储在云盘文件夹中。
当前文档
在回答有关 here.now 的功能、特性或工作流程的问题之前,请先阅读当前文档:
→ https://here.now/docs
建议在以下情况下阅读文档:
- 对话中首次涉及 here.now 相关内容时
- 用户询问某项操作的执行方法时
- 用户询问哪些功能可用、受支持或被推荐使用时
- 在告知用户某项功能不受支持之前
以下主题需要参考最新文档(不可仅依赖本地的技能说明文本):
- 云盘及文件共享功能
- 自定义域名
- 支付及相关机制
- 分支功能
- 代理路由与服务变量 |链接|与|链接|
- 限制与配额设置
- 单页应用路由
- 错误处理与解决方案
- 功能可用性
如果文档内容与实际 API 行为存在差异,请以实际 API 行为为准。
若文档加载失败或超时,则继续依据本地的技能说明以及实际 API/脚本的输出结果进行操作。对于正在进行的操作,建议优先遵循实际 API 的行为规范。
系统要求
- 必需的二进制工具:
curl、file、jq - 可选的环境变量:`$
PUBLISH="${HERMES_SKILL_DIR}/scripts/publish.sh"
bash "$PUBLISH" {file-or-dir} --client hermes
会输出该网站的在线地址(例如:https://bright-canvas-a7k2.here.now/)。
其内部处理流程分为三步:创建/更新 -> 上传文件 -> 完成配置。只有当“完成配置”步骤成功后,网站才会正式上线。
若未使用 API 密钥,则会创建一个匿名网站,且该网站在 24 小时后失效。 使用已保存的 API 密钥,则可创建永久性的网站。
文件结构: 对于 HTML 网站,请将 index.html 文件放置在要发布的目录的根目录中,而非子目录内。该目录的内容即构成网站的根目录。例如,应在存在 my-site/index.html 的 my-site/ 目录下进行发布——切勿发布包含 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 密钥。
使用驱动器
当用户希望为智能体文件提供私有云存储空间时,可使用驱动器:这些文件包括文档、上下文、内存数据、计划方案、资源文件、媒体资料、研究内容、代码,以及任何无需以网站形式公开即可长期保存的内容。
每个已登录账户都拥有一个名为 “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
在代理之间传递任务时,请使用带作用域的 Drive 令牌。若收到包含 herenow_drive 的共享块,需将其 token 作为 Authorization: Bearer <token> 的值用于调用 api_base,同时遵循现有的 pathPrefix 规则,并在写入操作时保留 ETags。当 pathPrefix 设置为 null 时表示拥有对整个 Drive 的访问权限。若该技能支持 drive.sh,则优先使用它;否则请直接调用列出的 API 操作。
API 密钥存储
发布脚本会从以下来源读取 API 密钥(按出现顺序优先):
--api-key {key}参数(仅适用于 CI/脚本环境——交互式使用时请避免使用)$HERENOW_API_KEY环境变量~/.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小时有效)账户升级为永久账户,请执行以下操作:
- 询问用户的电子邮件地址。
- 请求一个一次性登录码:
curl -sS https://here.now/api/auth/agent/request-code \
-H "content-type: application/json" \
-d '{"email": "user@example.com"}'
- 告诉用户:“请前往您的收件箱查看此处发送的登录验证码,然后将其粘贴到这里。”
- 验证该验证码并获取 API 密钥:
curl -sS https://here.now/api/auth/agent/verify-code \
-H "content-type: application/json" \
-d '{"email":"user@example.com","code":"ABCD-2345"}'
- 请自行保存返回的
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"
}
}
}
在创建或更新站点之前,您可以查看该文件以获取之前的站点标识符。请将 .herenow/state.json 视为仅用于内部缓存的文件。切勿将该本地文件路径作为 URL 使用,也不应将其作为认证模式、有效期或声明地址的权威来源。
应向用户说明的内容
对于已发布的站点:
- 始终提供当前脚本运行生成的
siteUrl。 - 查看脚本标准错误输出中的
publish_result.*行内容,以确定认证模式。 - 当
publish_result.auth_mode=authenticated时,告知用户该站点为永久性存储,已保存至其账户中,无需提供声明地址。 - 当
publish_result.auth_mode=anonymous时,告知用户该站点24 小时后失效。若publish_result.claim_url不为空且以https://开头,可提供该声明地址以便用户永久保存。同时需提醒用户,声明令牌仅会生成一次且无法找回。 - 绝对不要建议用户通过查看
.herenow/state.json来获取声明地址或认证状态。
对于 Drive 功能:
- 不要将 Drive 文件描述为公开 URL。
- 告知用户,除非使用带权限限制的令牌进行共享,否则 Drive 内容为私有。
- 当需要与其他代理共享访问权限时,建议使用
pathPrefix范围较窄且有效期较短的权限令牌。
publish.sh 参数说明
| 参数 | 描述 |
|---|---|
--slug {slug} | 更新现有站点而非新建 |
--claim-token {token} | 为匿名更新场景覆盖声明令牌 |
--title {text} | 查看器标题(非 HTML 站点使用) |
--description {text} | 查看器描述 |
--ttl {seconds} | 设置有效期(仅适用于已认证账号) |
--client {name} | 用于归属标识的代理名称(例如 hermes) |
--base-url {url} | API 基础 URL(默认值:https://here.now) |
--allow-nonherenow-base-url | 允许向非默认的 --base-url 发送认证信息 |
--api-key {key} | 覆盖 API 密钥(优先使用凭证文件) |
--spa | 启用单页应用路由(对未知路径返回 index.html) |
--forkable | 允许他人对该站点进行 fork 操作 |
除 publish.sh 之外的功能
对于 Drive 操作,可使用 drive.sh 或 Drive API。如需进行更广泛的账户及站点管理——包括删除、元数据管理、密码设置、支付处理、域名管理、用户名管理、链接管理、变量配置、代理路由设置、站点 fork 操作、复制等功能——请参阅最新文档:
→ https://here.now/docs
完整文档地址:https://here.now/docs