# @boujot/happy-coder 中文文档

规范地址：https://npmcn.com/package/%40boujot/happy-coder/

版本：0\.17\.14
npm 元数据更新时间：2026-11-05T10:58:18.928Z
中文译文更新时间：2026-11-08T12:31:13.770Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40boujot/happy-coder
原文对照：https://npmcn.com/package/%40boujot/happy-coder/?lang=original

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

- 包体积（解压后）：115 MB，95 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：28 个
- 首次发布：2026-02-20T10:49:14.783Z
- 最新版本发布：2026-11-05T10:58:18.710Z
- 近 30 天下载量：6046（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：116（近 12 个月 116 个）

## 中文简介

Claude 代码和代码的移动和网络客户端

## 安装

```sh
npm install @boujot/happy-coder
```

也可以使用：`pnpm add @boujot/happy-coder`、`yarn add @boujot/happy-coder`、`bun add @boujot/happy-coder`

## README

# 布约特

运行的代码——控制您的移动设备中的AI编码代理.

开源. 暗号任何地方.

## 安装

```bash
npm install -g @boujot/happy-coder
```

## 升级到0.14.99

0.14.99 机器在开始任何会话之前改变运行方式。 在升级前读一下这个.

1.  **一台没有隔离服务的机器(例如Mac),直到其开始会话 用户选择在机器上.** 运行 `boujot machine-settings run-sessions-here on` 在一个 终端和类型 `yes` (命令读取终端的答案). 会话随后作为 那个用户 不是孤立的 关闭它停止了守护进程开始的会话.
2.  **一个孤立的Linux机需要服务所需的文件/处理能力.** 当前 释放需要0.4.2项保护;项目业务还需要审查过的网络 0.5.0提供的政策和现场证据。 CLI 0.17.0 将锁定的Rust源和安装器装入. npm 不安装根服务 。 排水聊天并停止守护进程和根服务 升级; 保存现有配置。 跟着 [服务发放程序](https://npmcn.com/package/%40boujot/happy-coder/isolator/README.md)。 。 。 .
3.  **Shell 和文件以及 SSH 默认是独立的开关** (单位:千美元)`boujot machine-settings shell-and-files|ssh on|off`) (中文(简体) ). 当 shell 和文件关闭时 :
    -   远程启动可能只设定设置 `src/daemon/remoteStartSettings.ts` 清单; 程序路径, `PATH`, (中文(简体) ), `CODEX_HOME`拒绝代理、证书或姓名不明;
    -   一个模型网关地址需要它自己的提供商在同一请求中的密钥; 此机器的 登录、配置和tmux从未用于网关启动;
    -   `${NAME}` 请求只用一个无秘密的小型集合填充;
    -   准备状态和模型列表回答“未检查”一个网关;
    -   a Claude 会话在代理 Plane 会话文件夹中只装入用户的设置和 服务器在启动时选中; 文件夹的 `CLAUDE.md` 在系统提示中通过.
4.  **降级:** 0.14.96及更年长者不读 `run-sessions-here` 并给这机器的 登录到网关。 在降级前停止守护进程并保持它停止(同样在Linux上) 禁用其服务单位),直到您选择了更老的行为.

已知限制 : 运行中的 Claude 进程将它装入的东西保存到下次启动时; a `switch` 请求结束守护进程启动会话的转弯,而不是切换到本地模式 开关不会从已经作为机器用户运行的代码中分离出任何东西.

### 回复中的信息

代理 Plane 可以发送文本和图像到当前 Claude 或 Codex 响应, 包括 克劳德正在做背景工作 输入保持原转弯的模型, 权限和权限。 在本地投递之前下载和检查图像参考; 下载失败报告为未发送。 呼叫者承认的RPC身份防止 丢失的收据或重复审理的两次发出同一信息的请求.

Claude 使用带有 UUID 接收和结果关联的流式用户输入( 符合 克洛德代码2.1.318. 较早的结果无法在后期输入被排队时关闭进程 . 更新Boujot对新开始的运行时间的儿童生效;排出现有儿童之前 通过支持的无子停止/启动程序重启守护进程 .

### Agent Plane的背景工作

克劳德的反应可以在背景工作之前完成。 Boujot继续让Plane探员转身 打开,同时这些工作及其完成回复正在运行,因此其输出和后期工具 权限到达同一对话框。 停止,转弯的最后期限仍然适用. 只有在消耗了尚未取得的成果并结束了克劳德进程之后,回合才能结束.

使用 Claude Code 的本地背景任务事件和完成 `run_id` 编号 : `origin.runId` 关联,与克洛德代码2.1.318核实. 本地分娩收据也确认 已吸收到当前响应的完成; 前景命令不添加背景 续行. 这些收件不会产生重复的所有者信件 。 报告未完成的旧版本 它运行的ID以更新消息失败, 而不是默默地放弃续作 . 重新连接 Agent Plane 重放记录输出; 它不会启动任务的另一个副本 .

## 使用量

### 克劳德( 默认)

```bash
boujot
```

这将:

1.  启动 Claude 代码会话
2.  显示要从移动设备连接的 QR 代码
3.  允许在 Claude 代码和您的移动应用程序之间实时共享会话

### 双子座

```bash
boujot gemini
```

启动具有远程控制能力的双子座CLI会话.

**第一次设置 :** 登录此机上的双子座CLI本身(`gemini`),或设置 `GEMINI_API_KEY`。 。 。 . Boujot 不在其服务器上存储提供者登录 .

## 架构依赖( D)

Boujot有五个核心部分:

1.  `happy-app` (移动应用程序)
2.  地铁( 只在开发时) `happy-app`(中文(简体) )
3.  `@boujot/happy-coder` (单位:千美元)`boujot` 命令)
4.  `boujot daemon` (CLI的背景模式)
5.  Boujot 服务器 (`HAPPY_SERVER_URL`(中文(简体) )

他们如何互相依赖:

-   服务器是账户、会话和机器的真理的共同来源.
-   `boujot daemon` 是将您的计算机注册为在线机器并运行到本地代理进程的流程.
-   `boujot` 互动会话(Claude/Codex/Gemini)也通过服务器同步,这也是它们在app中出现的原因.
-   应用程序对服务器说话,选择一台机器,并发送由守护进程在那个机器上处理的动作.
-   Metro仅用于应用开发/热再装入;它不是生产运行时间的一部分,也不用于CLI/守护运行.

最小端到端要求( 应用控制您的机器 ):

1.  可到达服务器
2.  认证的CLI(`boujot auth login`(中文(简体) )
3.  守护进程正在运行 (M)`boujot daemon start`(中文(简体) )
4.  同一账户认证的应用程序
5.  在应用程序中选择的机器

## 图标

### 主要命令

-   `boujot` - 启动 Claude 代码会话( 默认)
-   `boujot gemini` - 启动双子座CLI会话
-   `boujot codex` - 启动代码模式

### 工具命令

-   `boujot auth` - 管理认证
-   `boujot notify` - 向设备发送推车通知
-   `boujot daemon` - 管理背景服务
-   `boujot doctor` - 系统诊断和故障排除

### 双子命令

```bash
boujot gemini                      # Start Gemini session
boujot gemini model set <model>    # Set default model
boujot gemini model get            # Show current model
boujot gemini project set <id>     # Set Google Cloud Project ID (for Workspace accounts)
boujot gemini project get          # Show current Google Cloud Project ID
```

**可用的模型 :** `gemini-2.5-pro`, (中文(简体) ), `gemini-2.5-flash`, (中文(简体) ), `gemini-2.5-flash-lite`

## 选项

### 克劳德选项

-   `-m, --model <model>` - 要使用的克洛德模型( 默认: sonnet)
-   `-p, --permission-mode <mode>` - 权限模式:自动、默认或计划
-   `--claude-env KEY=VALUE` - 设置克劳德代码的环境变量
-   `--claude-arg ARG` - 向克洛德·克洛德提出更多论点

### 全球选项

-   `-h, --help` - 显示帮助
-   `-v, --version` - 显示版本

## 环境变量

### CLI 配置

-   `HAPPY_SERVER_URL` - 说吧 **需求** 用于每个命令,但 `--version`。 服务器 URL; 没有默认值 .
-   `HAPPY_WEBAPP_URL` - 说吧 **需求** 以浏览器登录( n)`auth login`,网页浏览器). 网络应用程序地址, `https` 仅限(`http` 对本地主机),没有默认值.
-   `HAPPY_HOME_DIR` - 登录密钥、设置、守护进程状态和日志的文件夹(默认为 ~/.boujot)
-   `HAPPY_FLAVOR` - 准备 `boujot` 对于从检出中运行时的 Boujot 命名( 安装从路径检测)
-   `HAPPY_DISABLE_CAFFEINATE` - 禁用macOS睡眠预防(设置为: `true`, (中文(简体) ), `1`,或 `yes`(中文(简体) )
-   `HAPPY_EXPERIMENTAL` - 启用实验特性(设置为 `true`, (中文(简体) ), `1`,或 `yes`(中文(简体) )

### 双子座配置

-   `GEMINI_MODEL` - 推翻默认双子座模型
-   `GOOGLE_CLOUD_PROJECT` - Google Cloud项目ID(工作空间账户需要)

## 双子认证

### 个人 Google 账户

在此机上登录双子座 CLI, 然后开始一个会话 :

```bash
gemini
boujot gemini
```

### 谷歌工作空间账户

Google工作空间(组织)账户需要Google Cloud项目:

1.  在 [谷歌云控台](https://console.cloud.google.com/)
2.  启用双子座 API
3.  设定工程编号 :

```bash
boujot gemini project set your-project-id
```

或使用环境变量:

```bash
GOOGLE_CLOUD_PROJECT=your-project-id boujot gemini
```

**指南 :** [https://goo.gle/gemini-cli-auth-docs#workspace-gca 互联网档案馆的存檔,存档日期2013-12-21](https://goo.gle/gemini-cli-auth-docs#workspace-gca)

## 捐款

有兴趣捐款吗? 见 [捐款额](https://npmcn.com/package/%40boujot/happy-coder/CONTRIBUTING.md) (c) 发展结构和准则.

## Dev 测试

运行 `yarn build`,然后以两种方式之一测试你的构造:

-   **安装的 CLI 旁边 :** `npm run dev:daemon:start` 财务报告和审定财务报表 `npm run dev:variant <command>` 运行此 使用自己的数据文件夹、 登录和守护进程退出 。 安装 `boujot` 继续工作.
-   **替换已安装的CLI:** `yarn dev:deploy` 复制此组件到已安装的 `@boujot/happy-coder`。然后重新启动其守护进程 : `boujot daemon stop && boujot daemon start`。 。 。 .

详情见 [捐款额](https://npmcn.com/package/%40boujot/happy-coder/CONTRIBUTING.md)运行整个堆栈(后端、守护进程、移动应用程序、, 大都会在 [文献/编印](https://npmcn.com/package/%40boujot/happy-coder/docs/dev-bringup.md)。 。 。 .

## Boujot叉:分支和发行

`master` 是一条开发线 已经标出 `@boujot/happy-coder`。工作发生 时间短 `feat/*` 或者说 `fix/*` 分支合并为 `master`。每个版本是一个版本 打开 `master` 带着标签, `boujot-cli-v<version>`。 。 。 . `master` 只向前走,所以永远不要推 强迫.

从最新消息中释放 `master`数字 :

```bash
npm run release:boujot -- 0.14.86
git push sn1994 master boujot-cli-v0.14.86
# Drone builds and tests the tag once, then publishes 0.14.86 under latest.
```

注释:

-   帮手只拒绝干净的东西 `master`。 。 。 .
-   CLI 01.7. 包同位素0.5.0源,货物锁文件,安装器和探测器. 无人机建造和测试 在 npm 发布前 Linux 源码并检查实际的软件包列表。 原地部署 单独的 [无子安装步骤](https://npmcn.com/package/%40boujot/happy-coder/isolator/README.md)没有特权 npm 钩跑.
-   它运行 `yarn rebrand` 作为检查 : `master` 它不能改变任何事情。 如果是这样,释放 在实施或标记前停止.
-   它会撞倒版本,运行构建(除非跳过),承诺和标记. 没有测试,从来没有 推动和从来没有出版.
-   无人机测试和出版(`.drone.yml`) (中文(简体) ). 标记的构建 运行测试一次并发布 版本在 `latest` 并点出分数 `beta` (没有β释放:所有者,2026年10月28日) 没有名称 `package.json`'版本被拒绝. 释放 承诺自己的主构建跳过测试(这是测试前的承诺加一个版本). `npm-latest` 在 npm 移动的版本上 `latest` 回到它(没有新建筑,没有新出版). `npm-check` 除出版外,别无他法; `npm-token` 仅询问 npm 属于谁 。 使用软件传送工具的代理商 `drone_build_promote`时 `repo_write` 赠款允许.
-   NPM的标志是无人机的秘密 `npm_publish_token`,由软件发送证书保存 (证书) `boujot`:它显示过期,在14天前发出警告,并在其中替换指使符 立即跳伞和无人机 开发者机器上没有标记 .
-   最多为0.14.71的释放被削减为: `boujot-cli-release/<version>` 树枝,那些留在原地.

### 采用上游变化

上游为 `happy-coder`,在 `packages/happy-cli` 文件夹 [斜坡/快乐](https://github.com/slopus/happy)。旧的 slopus/happy-cli 存储器存档. 别把上游合并成这个叉子 相反:

1.  检视您想要的上游变化.
2.  应用到一个 `feat/*` 分支从 `master`通过手或与代理人.
3.  运行 `yarn rebrand`它将上游名称(包、命令、数据文件夹)转换为 Boujot; 承诺 它会改变什么.
4.  构建、测试和合并到 `master` 和往常一样.

## 所需资源

-   节点.js >= 20.0.0

### 克劳德

-   Claude CLI 已安装和登录(`claude` 命令可用于 PATH)

### 双子座

-   安装双子座CLI(`npm install -g @google/gemini-cli`(中文(简体) )
-   双子座CLI通过你的Google账户登入这台机器,或者 `GEMINI_API_KEY` 设定

## 许可证

麻省理工学院

## 常见问题

### @boujot/happy-coder 是什么？

Claude 代码和代码的移动和网络客户端

### 如何安装 @boujot/happy-coder？

在项目目录运行 npm install @boujot/happy-coder，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 boujot、boujot-mcp，可以用 npx boujot 直接运行。

### @boujot/happy-coder 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @boujot/happy-coder 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @boujot/happy-coder 可以商用吗？

@boujot/happy-coder 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @boujot/happy-coder 的下载量有多少？

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

### @boujot/happy-coder 还在维护吗？

最新版本 0\.17\.14 发布于 2026/11/05（3 天前）；至今共发布 116 个版本，其中过去 12 个月发布了 116 个；首次发布于 2026/02/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

