# @codenamegary/harold 中文文档

规范地址：https://npmcn.com/package/%40codenamegary/harold/

版本：3\.4\.1
npm 元数据更新时间：2026-11-10T04:33:24.985Z
中文译文更新时间：2026-11-10T07:42:20.612Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40codenamegary/harold
原文对照：https://npmcn.com/package/%40codenamegary/harold/?lang=original
项目主页：https://github.com/codenamegary/harold#readme
源码仓库：https://github.com/codenamegary/harold

弃用说明：Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.7 MB，3 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2026-10-06T03:35:36.639Z
- 最新版本发布：2026-11-04T14:00:13.473Z
- 近 30 天下载量：2387（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

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

## 安装

```sh
npm install @codenamegary/harold
```

也可以使用：`pnpm add @codenamegary/harold`、`yarn add @codenamegary/harold`、`bun add @codenamegary/harold`

## README

# 哈罗德

**大声点! 哈罗德特工星**

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

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

### 哈罗德经验

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

## 快速启动

1.  安置哈罗德 无论你的探员在哪里.
    
    要求数 [阿宝](https://bun.sh/)。 。 。 .
    

```bash
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
```

2.  为Android下载并安装了哈罗德应用程序.
    
    [https://harold.codenamegary.com (中文(简体) )](https://harold.codenamegary.com/)
    
3.  启动应用程序,点击 `pair` 从终端扫描QR代码.
    

## 连接到哈罗德

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

-   在运行 Harold 的 IP 上标注 DNS 记录
-   或分级
-   或 ngrok 语句
-   或者从你的哈罗德机器通过VPS反向隧道
-   或可信任的本地网络覆盖 plain HTTP(见下文)

```bash
#!/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:-user@your-hostname.com}"
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默认为每个接口服务,所以同一网络上的电话可以 在不附加设置的情况下到达它 :

```bash
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` 你选择.

```bash
harold workspace add ~/sites/harold          # already registered is not an error
harold workspace clone git@github.com: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\* 发布](https://harold.codenamegary.com/) 并打开手机。 Android 曾经要求允许从您的浏览器安装.

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

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

## 从源头运行

要求数 [阿宝](https://bun.sh/)克隆回波,然后...

```sh
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_PORT` | `3847` | 设备 API 端口 |
| `HAROLD_DATA_DIR` | `~/.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。作者已将其标记为弃用，新项目建议寻找替代方案。

