@codenamegary/harold

中文文档
3.4.1发布于 2026/11/04ES Module零依赖构建来源已验证近 30 天下载 2387

大声点! 哈罗德特工星 - 从任何地方进入Android的特工.

此软件包已被标记为弃用

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

中文使用文档
文档目录9 节
  1. 哈罗德经验
  2. 快速启动
  3. 连接到哈罗德
  4. 信任 HTTP 的本地网络
  5. 哈罗德克利
  6. 工作空间
  7. Android 应用程序
  8. 从源头运行
  9. 配置

哈罗德

大声点! 哈罗德特工星

解放你的特工,在沙发上工作.

Harold是ACP代理代理 也是Android代理的应用体验 和你的探员一起跑 不管他们在哪里 不管是什么 都用哈罗德的应用程序和他们说话.

哈罗德经验

https://github.com/user-attachments/assets/d9eac0bd-94e9-4bd4-aeb6-fe6a8f76538e 页面存档备份,存于互联网档案馆

快速启动

  1. 安置哈罗德 无论你的探员在哪里.

    要求数 阿宝。 。 。 .

bun install -g @codenamegary/harold
harold setup # enable your agents, pick your connection method
harold start # start the Harold proxy
harold pair  # generate a code and show a QR code
  1. 为Android下载并安装了哈罗德应用程序.

    https://harold.codenamegary.com (中文(简体) )

  2. 启动应用程序,点击 pair 从终端扫描QR代码.

连接到哈罗德

哈罗德是一个代理,你可以指 它就像其他的 http 服务器。 哈罗德只需要知道您在QR代码中嵌入它时设置的终点,尽管您也可以使用生成的代码手动对接. 你可以通过...

  • 在运行 Harold 的 IP 上标注 DNS 记录
  • 或分级
  • 或 ngrok 语句
  • 或者从你的哈罗德机器通过VPS反向隧道
  • 或可信任的本地网络覆盖 plain HTTP(见下文)
#!/usr/bin/env bash
# Runs on your Harold host - reverse-SSH Harold to a VPS with a public IP and/or DNS record

set -euo pipefail

REMOTE_HOST="${PUBLIC_HOST_USERNAME:[email protected]}"
SSH_KEY="${PUBLIC_HOST_KEY:-$HOME/.ssh/your-hostname.com.key}"
LOCAL_PORT="${HAROLD_TUNNEL_LOCAL_PORT:-3847}"
REMOTE_PORT="${HAROLD_TUNNEL_REMOTE_PORT:-3847}"
STATUS_URL="http://127.0.0.1:${LOCAL_PORT}/v1/status"
PUBLIC_URL="${AGENT_TUNNEL_PUBLIC_URL:-https://your-hostname.com/v1/status}" # For embedding in pairing QR codes

if [[ ! -f "$SSH_KEY" ]]; then
  echo "SSH key not found: $SSH_KEY" >&2
  exit 1
fi

if ! curl -fsS --max-time 2 "$STATUS_URL" >/dev/null; then
  echo "Harold is not reachable at $STATUS_URL" >&2
  echo "Start Harold locally before opening the tunnel." >&2
  exit 1
fi

echo "Tunneling ${REMOTE_HOST}:0.0.0.0:${REMOTE_PORT} -> 127.0.0.1:${LOCAL_PORT}"
echo "Public check: $PUBLIC_URL"
echo "Ctrl-C to stop."
echo

exec ssh \
  -i "$SSH_KEY" \
  -o BatchMode=yes \
  -o ExitOnForwardFailure=yes \
  -o ServerAliveInterval=30 \
  -o ServerAliveCountMax=3 \
  -N \
  -R "0.0.0.0:${REMOTE_PORT}:127.0.0.1:${LOCAL_PORT}" \
  "$REMOTE_HOST"

信任 HTTP 的本地网络

Harold默认为每个接口服务,所以同一网络上的电话可以 在不附加设置的情况下到达它 :

harold start
harold pair    # lists remembered endpoints and this machine's addresses, prints the QR code

harold pair 记得你使用的终点. 在互动终端上 列出第一个、最近第一个使用 与该条目预选, 之后,每一个地址 在这个机器上 一个电话可以拨,标签 来源(历史来源或界面名称)。 选择终点 没有回答 GET /v1/status 解释为何并重开清单 输入自定义 URL 总是有一个选项。 提要载有: 手动输入的端点和代码,以及用于扫描的QR编码. 过 --url 以跳过终点提示.

Plain HTTP 以清晰文本发送设备证书和会话流量 。 用这个 只在你信任的网络上 对于公众访问,通过Tailscale(a)使用HTTPS 反向代理或隧道,并配对 harold pair --url https://your-endpoint。 。 。 .

哈罗德克利

> harold

Usage: harold [options] [command]

Hark! The Harold Agents Sing - Access your agents on Android from anywhere.

Options:
  -V, --version      output the version number
  -h, --help         display help for command

Commands:
  start              start the Harold daemon in the background
  setup [options]    configure agents, a workspace, and pairing
  status             show Harold status summary and live daemon state
  stop               stop the running Harold daemon
  agent              list, enable, disable, and probe agents
  pair [options]     pair a device with a QR code or a manual code
  device             manage paired devices
  workspace          open, clone, list, and remove workspace folders
  logs [options]     tail the Harold daemon log

工作空间

一个工作空间是哈罗德主机上一个项目文件夹的书签. 这不是一个 沙盒而不是存储位置。 任何现有的可读文件夹作品,以及 会话仍然在任意开始 cwd 你选择.

harold workspace add ~/sites/harold          # already registered is not an error
harold workspace clone [email protected]:acme/widgets.git --into ~/sites
harold workspace list
harold workspace remove harold

workspace add 找到或创建通过犬科路径. workspace clone 创建一个 新文件夹在 --into,带有宿主git设置的克隆,然后注册. 使用 --folder-name 选择不同的文件夹名称和 --name 用于显示 名称。 删除工作区只删除书签;文件夹保留.

Android 应用程序

下载 harold-android-<version>.apk 从最近 哈罗德-和机器人-v* 发布 并打开手机。 Android 曾经要求允许从您的浏览器安装.

用Android SDK验证计算机上的APK:

sha256sum harold-android-<version>.apk
apksigner verify --print-certs harold-android-<version>.apk

从源头运行

要求数 阿宝克隆回波,然后...

bun install
bun run dev start

bun run dev 运行 CLI. 传它任何命令: bun run dev setup, (中文(简体) ), bun run dev status, (中文(简体) ), bun run dev stop。 。 。 .

Harold API 为端口上的每个接口服务 3847。除此之外,所有路线 GET /v1/status 和配对索赔需要设备证书(Authorization: Bearer) (中文(简体) ). 给设备配对 harold pair 为了得到一个.

配置

变量默认含义
HAROLD_PORT3847设备 API 端口
HAROLD_DATA_DIR~/.harold数据库、日志和运行时间设置

绑定地址不能配置:守护进程总是为每个接口服务,因此网络上的电话可以对接.

版本与发布记录

@codenamegary/harold 共发布 20 个版本,首次发布于 2026/10/06;过去 12 个月发布了 20 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.4.1latest2026/11/045 天前
3.4.02026/11/046 天前
3.3.02026/11/036 天前
3.2.12026/11/027 天前
3.2.02026/11/028 天前
3.1.02026/11/018 天前

关于 @codenamegary/harold 的常见问题

@codenamegary/harold 是什么?

大声点! 哈罗德特工星 - 从任何地方进入Android的特工.注意:该包已被作者标记为弃用——Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

如何安装 @codenamegary/harold?

在项目目录运行 npm install @codenamegary/harold,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 harold,可以用 npx harold 直接运行。

@codenamegary/harold 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/codenamegary__harold 是否存在。

@codenamegary/harold 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@codenamegary/harold 可以商用吗?

@codenamegary/harold 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@codenamegary/harold 的下载量有多少?

根据 npm 官方下载统计,@codenamegary/harold 在 2026/10/10 – 2026/11/08 这 30 天内被下载 2,387 次,日均约 80 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@codenamegary/harold 还在维护吗?

最新版本 3.4.1 发布于 2026/11/04(5 天前);至今共发布 20 个版本,其中过去 12 个月发布了 20 个;首次发布于 2026/10/06。作者已将其标记为弃用,新项目建议寻找替代方案。