---
title: 装好之后，电脑上怎么用
nav: 电脑上怎么用
summary: 让它一直运行、打开本机的 Agent 管理页、换 AI 编程工具、改名、全部停下、看记忆和记录，常用命令都在这里。
order: 3
---

# 装好之后，电脑上怎么用

装好以后，平时你基本只用手机。电脑上要做的事很少：让它一直开着，偶尔改个设置。这一页列出会用到的命令。

所有命令都在终端里运行。这些事你都可以直接让电脑上的 AI 替你做；只有配对手机要你自己来，而且在账户页或已配对的手机上点就行，不用终端。遥控器配对密码是可选的，见下文。

Agent 需要管理员密码或者某个 API key 时，会在你手机上弹一张卡片，不用回到电脑前，见 [手机上完成管理员授权和密钥录入](/docs/phone-admin/)。Agent J 自己出了问题，Agent 会先去问我们的客服，见 [遇到问题找客服](/docs/support/)。

## 先看一眼状态

`agentj`

```bash
agentj
```

`agentj doctor`

```bash
agentj doctor
```

`agentj status`

```bash
agentj status
```

- `agentj`（不带参数）：列出安装步骤的完成情况，并提示下一步该做什么。
- `agentj doctor`：逐项自检，每项一行。✓ 表示正常，! 表示提醒，✗ 表示需要修复，后面会说明怎么修。
- `agentj status`：查看后台程序是否在运行、是否已连接。

想看全部命令：`agentj --help`。

## 让它一直运行

安装时 AI 已经帮你装成了系统服务。电脑开机、你登录之后，它会自己启动。

`agentj service status`

```bash
agentj service status
```

`agentj service install`

```bash
agentj service install
```

`agentj service uninstall`

```bash
agentj service uninstall
```

- `status`：看服务在不在运行。
- `install`：安装并启动服务（Linux 上是 systemd 用户服务，Mac 上是登录项 LaunchAgent）。
- `uninstall`：停掉并删除服务。

`install`（以及每次升级）还会顺带装一个小小的救援守护。电脑上的 Agent J 不响应时，靠它手机上的 设置 →「紧急修复」照样能用；`uninstall` 也会一起删掉它。运行 `agentj rescue status` 可以看它在不在，详见 [手机显示灰色或断开怎么办](/docs/reconnect/)。

Mac 上，系统设置 → 通用 → 登录项与扩展的「App 后台活动」里，Agent J 的条目是：这个服务一条，它的救援守护一条；装了 Agent J 浏览器会再多一条。服务那一条显示为「Agent J」和机器人图标，下面是签名开发者的名字：服务由一个经过 Apple 公证的小程序 Agent J.app 启动，它装在你个人的「应用程序」文件夹（~/Applications）里，请不要删。万一下载不到签名版，会退回原来的方式，那一条就显示成 agentj、写着「来自身份不明的开发者」，不影响使用；救援守护那一条目前也是这样显示。升级、切换 Agent 时用到的一次性任务不再登记到那里，用完就删；旧版本留下的那些，升级后会自动清掉。不要关掉这些开关，否则电脑重启后服务不会自己起来。

云服务器上，没人登录也得让它跑着。先执行 `loginctl enable-linger $USER`，再跑 `agentj service install`。

不想装成服务，也可以在一个终端窗口里运行 `agentj serve`，窗口关了它就停了。

> **注意**：电脑关机、睡眠或断网时，手机连不上它。电脑恢复后，它会自己重新连上。

## 本机的 Agent 管理页

```bash
agentj admin
```

运行后，终端会打印一个链接。用这台电脑的浏览器打开它，就能进入这台电脑自己的 Agent 管理页。在这里可以：

- 配对新手机（点「添加手机遥控器」）；
- 在「手机遥控器」里看已配对的手机（满 10 台显示「已满」），解绑某一台；
- 在「Agent 的名字」里改名；
- 开关「从账号后台解绑」（勾选「允许在账号后台解绑这台电脑的手机遥控器」）；
- 在「连接状态」里看「电脑端程序」是否在运行、「转发服务器」是否连上、是否加入 Agent J 账号。

页面上的「使用建议」写着：一个人用一个 Agent。10 台手机遥控器，给同一个人的手机、平板和电脑用。

这个页面只能在这台电脑上打开，别的电脑和手机打不开。链接 10 分钟内有效，只能用一次。在终端里按回车会换一个新链接，旧的立刻作废；按 Ctrl-C 关掉管理页。

不想复制链接，就运行 `agentj admin --open`：它直接用这台电脑的默认浏览器打开管理页，命令马上结束，链接不会打印出来。页面 30 分钟不用会自动关闭，要再开就再运行一次。跟 Agent 说「打开 Agent 管理页」，它运行的就是这条命令。

如果你是用 SSH 登录的云服务器，`agentj admin` 会同时打印一行 `ssh -N -L …` 命令。在你自己的电脑上运行这行命令，再在自己电脑的浏览器里打开那个链接。

## 手机和设备

`agentj pair`

```bash
agentj pair
```

`agentj devices`

```bash
agentj devices
```

`agentj revoke <设备号>`

```bash
agentj revoke <设备号>
```

- `agentj pair`：配对一部新手机。后台程序得在运行，没运行的话它会提示你先跑 `agentj service install`。具体步骤看 [手机上怎么用](/docs/phone/)。
- `agentj devices`：列出已经配对的手机和浏览器。
- `agentj revoke <设备号>`：马上断开并移除一台设备（设备号在 `agentj devices` 里查）。

一个 Agent 最多配 10 台手机。满了再配，`agentj pair` 会列出这 10 台，让你先解绑一台。

## 换 AI 编程工具或工作文件夹

`agentj agent`

```bash
agentj agent
```

`agentj agent detect`

```bash
agentj agent detect
```

`agentj agent codex --dir ~/agentj-work`

```bash
agentj agent codex --dir ~/agentj-work
```

- `agentj agent`：看现在接的是哪个 AI 编程工具、在哪个文件夹干活。
- `agentj agent detect`：看这台电脑上哪些 AI 编程工具能用。
- `agentj agent claude --dir <文件夹>`、`agentj agent codex --dir <文件夹>`、`agentj agent opencode --dir <文件夹>`：换成 Claude Code、Codex 或 OpenCode，并指定文件夹。OpenCode 还要加 `--model`，写成「服务商/模型」，比如 `--model zhipuai/glm-5.3`。
- `agentj agent reset`：忘掉之前的对话，下一条手机消息开始一段新对话。

用火山方舟、Kimi、阿里百炼或 DeepSeek 的模型：见[按你用的模型选](/docs/models/)。

会话模式：新安装默认用**独立会话**——Agent J 自己开一个、在隔离里运行，不改你终端里的工具。想让手机接上你电脑上已经开着的那个会话（高级），在这几条命令后面加 `--shared`；加 `--independent` 就改回来。每次切换都会说明这意味着什么，并给出改回去的那一行（`agentj config set agent.session_mode independent|shared`）；手机「设置」→「会话模式」也一样。从默认共享的旧版本升级上来的安装保持共享（写进设置文件，不会被悄悄切走）。共享模式下，文件夹里同时开着好几个 Claude Code 会话时，它会列出来（名字、最近活跃时间、第一条消息）让你选一个；以后想换：`agentj config set agent.shared_session_id <会话 ID>`。

换完要重启后台程序才生效

```bash
agentj service uninstall
agentj service install
```

用 Codex 共享模式（手机和电脑同一个会话）时，手机发的第一条消息不会被拒。没指定会话，就接上这个文件夹里最近的 Codex 会话；一个都没有，就新开一个，并在手机上告诉你。电脑上用 `codex resume <id>` 也能接着聊。电脑上那一轮还没答完，手机的消息会排队，等它答完再发，最多等 30 分钟，`/stop` 可以取消。接不上原来的会话、或者读不到原来的权限设置，按你自己的 Codex 默认设置来，手机上提示一次。原因都记在 `agentj activity` 里；`agentj doctor` 也会多一行，写明会接上哪个会话。

## 改 Agent 的名字

`agentj name`

```bash
agentj name
```

`agentj name 小助手`

```bash
agentj name 小助手
```

不带名字是查看，带名字是修改。名字要短：中文最多 8 个字，英文、数字、横杠和空格最多 13 个；混着写时中文每个算 1.6、其他算 1，合计不超过 13（比如「市场部 Agent」算 10.8）。同一个账号里不能重名。以前起的长名字升级后照常用，下次改名时才按这个规矩。这台电脑加入了 Agent J 账号时，会先在账号后台改，成功了才改本机。也可以在账号后台或本机 Agent 管理页里改。

## 全部停下

`agentj stop`

```bash
agentj stop
```

`agentj resume`

```bash
agentj resume
```

- `agentj resume`：恢复。设了遥控器配对密码就要输它（没设的话要你自己在键盘上确认），所以 Agent 自己解除不了「全部停下」；在已配对的手机上点「恢复」也行。

手机上 ≡ 菜单里的「全部停下」和这里是同一个开关，在手机上点「恢复」也行。

## 看它记住了什么

Agent 每次开工都会读一些记忆文件，比如 Claude Code 的 `CLAUDE.md`。你可以一条一条地看、一条一条地删：

`agentj memory list`

```bash
agentj memory list
```

`agentj memory show 1`

```bash
agentj memory show 1
```

`agentj memory rm 1 3`

```bash
agentj memory rm 1 3
```

`agentj memory restore`

```bash
agentj memory restore
```

- `list`：列出记忆放在哪几处，每处有几条。
- `show <编号>`：看某一处的每一条。
- `rm <编号> <条目号>`：删掉一条。删掉的原文先进回收站，7 天内可以恢复。
- `restore`：看回收站；`agentj memory restore <编号>` 恢复一条。

手机上的「记忆」页也能做同样的事。

## 看它做过什么

`agentj activity --since 2h`

```bash
agentj activity --since 2h
```

`agentj approvals --verify`

```bash
agentj approvals --verify
```

- `agentj activity`：看操作记录：每轮对话的开始和结束、每次请求批准、谁批准或拒绝了、全部停下和恢复。`--since` 可以写 `2h`、`3d` 或日期。记录只存在这台电脑上，保留 30 天。
- `agentj approvals --verify`：看每一次批准和拒绝，并核对它确实来自你配对过的手机。

不想记录：`agentj config activity off`。马上删掉所有记录：`agentj activity --clear`。

手机上的「记录」页读的就是这份记录。

## 定时任务

如果你用「工作流设计向导」搭了按时运行的工作流，可以在这里管：

`agentj tasks list`

```bash
agentj tasks list
```

`agentj tasks show <任务名>`

```bash
agentj tasks show <任务名>
```

`agentj tasks enable <任务名>`

```bash
agentj tasks enable <任务名>
```

`agentj tasks disable <任务名>`

```bash
agentj tasks disable <任务名>
```

`agentj tasks run <任务名> --dry-run`

```bash
agentj tasks run <任务名> --dry-run
```

任务装好时都是关着的。用 `enable` 打开（你让 Agent 开，它也能直接开），手机上的「定时任务」页也能开关。`run --dry-run` 只显示会怎么跑，不真的运行。

想搭工作流，在手机上对 Agent 说「帮我设计工作流」，它会一个问题一个问题地问你。

## 遥控器配对密码

可选，推荐设。它只存在这台电脑上（至少 8 个字符），有两个用处：在这台电脑的终端里配对（`agentj pair` 必须有它，没设会先请你设）；在别的电脑的浏览器上用邮箱验证码登录账户页、添加遥控器时，可以用它代替通行密钥。不设也能用账户页的通行密钥或已配对的手机添加遥控器；但将来所有遥控器都失效、手边又没有通行密钥时，就得回到这台电脑的终端来设它。安装结束时会问你一句要不要现在设，直接回车就跳过。

`agentj passphrase status`

```bash
agentj passphrase status
```

`agentj passphrase change`

```bash
agentj passphrase change
```

`agentj passphrase reset`

```bash
agentj passphrase reset
```

- `status`：看有没有设置、是不是因为输错太多被锁了。
- `change`：改密码。
- `reset`：忘了遥控器配对密码时用。要输入 RESET 确认。它会删掉旧密码，**同时解绑所有手机**，之后用 `agentj passphrase set` 设新密码，再重新配对。

密码至少 8 个字符，别的没有要求。

## 升级

`agentj update check`

```bash
agentj update check
```

`agentj update apply`

```bash
agentj update apply
```

`agentj update check` 看有没有新版本。谁都可以运行，AI 也可以替你查。第一行开头的词说明情况：`newer` 是有新版本；`current` 是已经最新；`ahead` 是你这台电脑上的比公开发布的还新，不用管；`unknown` 是这次没查到，多半是没联网，过会儿再查就行。

升级用 `agentj update apply`：你让 Agent 升级，它会自己运行这条命令，装好、重启、自检，再把结果告诉你。

后台程序每天查一次新版本，有新版就在手机上提醒你一句。这个每天的检查本身不会安装任何东西。不想让它每天查：`agentj update auto off`。

这台电脑加入了 Agent J 账号的话，新版本发布时还会收到我们签名的官方通知。Agent 按你选的升级方式处理：默认自动升级，再告诉你改了什么；也可以改成先问你。紧急安全修复总是马上升级。在手机「设置」的「升级方式」里改，或者在电脑上运行 `agentj config set updates.mode ask`（改回来用 `auto`）。

我们每天早上 9 点（日本时间）还可能发一封升级邮件，里面有升级授权码。把邮件转给 Agent J，它会自己升级（`agentj update apply --from-email -`），中间不用你再确认。详见 [官方通知](/docs/notices/)。

## 其他开关

- `agentj report-hostname off`：不再把这台电脑的名字报给账号后台。
- `agentj remote-unbind off`：不让账号后台解绑这台电脑的手机，解绑只能在这台电脑上做。
- `agentj unlink`：把这台电脑从 Agent J 账号里移出来。用设置码加入的，账号后台那边也会一起移掉；用 `agentj login` 加入的，只删本机的记录，账号后台那边还要在 Agent 卡片上点「移除这个 Agent（释放席位）」。

想彻底卸载，见 [安装](/docs/install/) 最后一节。卸载不会停止扣费，订阅要在账号后台的「管理账单」里取消。


## 个性化设置

`agentj config path` 显示唯一的用户 JSON5 文件（`~/.config/agentj/config.json5`）。可以写注释和尾逗号，只写自己改过的项。升级保留你的改动，未修改项使用新默认值。`agentj config keys` 列出当前配置项、默认值、别名和安全等级。

用 `agentj config get`、`agentj config set`、`agentj config unset`、`agentj config validate`、`agentj config diff`、`agentj config history`、`agentj config rollback`、`agentj config apply` 管理配置。主机把校验、保存和生效放在一个事务里；生效失败保留上一份可用配置，并明确报错。返回 `applied:false` 表示还要启动或重启主机，不能宣称手机已改变。声音调整后仍需听真实样本。

**重新加载，不用重启（`agentj reload`）**：设置分三层。大多数设置保存就生效；隔离、Docker、高危提醒、审批强度、你的追加指令和 Telegram 通道要「重新加载」：在手机 ≡ 全部命令里点「重新加载配置」、发 `/reload`、按 Alt+Shift+L，或在电脑上运行 `agentj reload`。后台服务不重启，主 Agent 在下一条消息前重启，对话接着原来的；服务密钥文件里新存的 key（比如 Telegram 机器人的）也一起读进来。Agent 用 `agentj config set` 改了这类设置会自己重新加载；你在手机设置页改了，会弹一张卡片，点「重新加载」就行。只有工作根目录和会话模式（独立 / 共享）还要 `agentj service restart`。

`agentj skill install` 把随包附带的 `agentj-config` 技能安装给 Claude Code、Codex 和 OpenCode，你让 AI 装它就会装。`agentj skill uninstall` 只移除自己的链接，不覆盖已有同名技能。你本机的 AI 可结合技能和 `agentj doctor --offline --json` 完成个性化与诊断；独立会话里的 Agent 看不到 Agent J 的设置文件，改设置时用共享会话或手机「设置」。

唤醒词留空时跟随嘿加上你给 Agent 起的名字，连接后会同步改名。安卓后台监听默认关闭，陌生名字可能需要指定发音。安卓 APK 目前供审阅测试，任意名字识别率和耗电尚未完成验收。iOS 网页版 App 不能后台唤醒。

ASR 默认在你的主机识别。云 ASR 用你自己的 OpenRouter key，音频直接发给该服务商。TTS 默认用手机已安装的本地声音，也可选主机或自有 key 的 OpenAI / ElevenLabs 服务。云 TTS 将回复文字直接发给所选服务商，返回音频经过我们的中继时是密文。安卓本地通知播报只说通用提醒，不在锁屏读对话。后台播放仍受系统和浏览器策略限制。

云端朗读用 OpenAI 时，默认模型是 `gpt-realtime-2.1-mini`。OpenAI 会在 2027-01-06 停用旧的 `gpt-4o-mini-tts`：你的设置里如果还是这个旧默认值，Agent J 启动时会自动换成新模型；你自己指定过的其他模型原样保留，`agentj doctor` 会提醒你检查一下。用 ElevenLabs 时，没指定模型就用 `eleven_v4`。

也可以用你自己的本地发声程序：把 `voice.tts.mode` 设成 `host`、`voice.tts.provider` 设成 `command`，在 `voice.tts.command` 里按参数数组写好命令，用 `{output}` 标出要写的文件。程序从标准输入读回复的文字，写出一个 WAV 文件；超过 `voice.tts.command_timeout`（默认 60 秒）会被停掉。命令里不要写密钥。

Telegram 可选、默认不启用，用的是你自己的 bot。接入时先保存 bot 密钥，再运行 `agentj channel add telegram`（或在手机「设置」里点「重新绑定 Telegram」）：手机上会出现一个一次性的 6 位配对码，在 Telegram 私聊里给你的 bot 发 `/start 配对码`，这个私聊就成了主人。不需要找别的 bot 查 ID；别人给这个 bot 发消息只会收到他自己的数字 ID，在群里发配对码不算数。文字、图片、语音、视频和文件都能发，单个最大 20 MB；语音和视频里的话在你的电脑上转成文字，手机上选了云端识别也一样。在 Telegram 里长按一条消息点「回复」再说话，被回复的那条也会一起转给 Agent，标成「回复 Telegram 消息」的引用（谁说的、几点；最多 300 字，先选中一段再回复就只引用那一段；图片、语音只写成「[图片]」「[语音]」，不会重新下载）。引用里的命令不会执行，只有你自己打的字才算命令。

想让这个机器人也接待客人：在客服 bot 里打开「让我的 Agent J Telegram 机器人也接待客人」。你的私聊照旧是主对话，其他人由那个客服 bot 单独接待，见[客服 bot](/docs/bots/)。

macOS 后台服务的 Telegram 和服务商密钥写在 `~/Library/LaunchAgents/net.agentj.host.env`，使用配置里 `key_env` 指定的变量名；文件必须由你本人拥有、权限为 0600，不能是软链。保存后运行 `agentj service restart`。不要把密钥写进 plist、聊天或命令参数。

群聊要在 `telegram.groups` 里写明群的编号，以及允许发言的成员的数字 ID，两样都对上才处理。代理群（默认）里要 @ 机器人或者回复它，它才接话；家庭群里，名单上成员的普通消息也会处理。发回群里的内容会先去掉网址、路径和地址这类信息。

```json5
telegram: {
  groups: [
    { id: "-1001234567890", members: [123456789], profile: "family", label: "家里" }
  ]
}
```

群里的人可以在 `names` 里配上称呼（只认名单里的数字 ID），Agent 就知道是谁在说话。`telegram.private_domains` 写上你自己的域名，发往任何群的回复都会隐去这些域名和它们的子域名；邮箱地址一律隐去。家庭群里被拦下的消息，机器人会在群里礼貌拒绝，你的手机上只多一行提示，不带原话。同一批消息按你的私聊、家庭群、代理群的顺序处理；一组相册算一轮；群升级成超级群后编号会自动跟上；你私聊里的命令菜单和家庭群的 `/notification` 会自动同步到 Telegram。

私聊和群聊回复时，常用 Markdown 会自动转成 Telegram 格式。要是 Telegram 不认某个格式片段，就会用纯文本重发同样的内容。

`telegram.owner_commands` 可以让你私聊里的某个命令直接由你电脑上的程序回答，不经过 Agent：程序的输出只发回你的私聊，不进对话、历史和日志，每小时有次数上限，程序必须是你自己的、别人改不了的可执行文件。手机上每条回复下面的分享按钮，配好 Telegram 后一点就发到你自己的私聊（`telegram.forward`，默认开）；没配时用手机自己的分享。

Telegram 不能批准任何操作。端到端加密、已配对设备签名审批，都不能用配置关闭。

预装准备可先放入 JSON5、校验，再运行 `agentj init` 和首次向导。镜像不能复制身份密钥、设备审批状态或云 key。遥控器配对密码和设备配对仍需本人操作；本轮不提供镜像。
## 受限地区：代理怎么配

优先用 Claude Code。所在地区（比如香港）连不上模型服务时，最简单的办法是对电脑上的 Agent 说：「帮我把代理设成 http://127.0.0.1:7890」（换成你本机代理软件的端口）。它会运行 `agentj config set proxy.https http://127.0.0.1:7890`。不要把代理密码、订阅链接或模型 key 发到手机对话里。

这个设置只给 Agent J 替你启动的 Claude Code、Codex 或 OpenCode 进程用，作为 `HTTPS_PROXY`、`HTTP_PROXY` 和 `NO_PROXY`；本机地址不走代理。语音、更新和手机连接都不受影响。设好后，Agent 的进程会在你下一条消息前重启，对话接着聊。共享会话用的是你电脑上原来的进程：代理要在它启动前配好，改了以后请自己重启它。

需要用户名和密码的代理不写进设置。让 Agent 把它存进环境变量，设置里只填变量名，例如 `proxy.https_env: "AJ_HTTPS_PROXY"`（另有 `proxy.http_env` 和 `proxy.no_proxy_env`）。两样都填时，以直接填的地址为准。

OpenCode 的认证分两件事：连接模型服务商，再选择匹配的 `provider/model`。v1 的 `auth.json` 或 v2 的 `opencode.db` 存在，都不能证明 key 有效。v1 的运行时诊断读取 `GET /provider` 的 `connected`，这里只表示连接已配置，余额、权限和网络仍须验证。用 `opencode auth login` 换 key 后，Agent J 会在你下一条消息前重启它启动的 OpenCode，对话不断；也可以让 Agent 运行 `agentj agent restart`。如果连的是你电脑上自己开的 OpenCode 服务，请自己重启它。出错时，手机上的提示和 `agentj doctor` 会说明是哪一类：登录或 key（401）、地区（403/451）、权限（403）、余额或额度、限流、模型名称、网络。

OpenCode v1 和 v2 都能用：官方安装脚本现在装的是 v2（2.0.x），Agent J 启动 OpenCode 时会自己认出版本，独立会话（默认）和共享会话都一样。v2 允许同一个服务商存好几把 key（比如「DeepSeek 2」），但只有选中的那一把生效；换了新 key，运行 `opencode auth switch <服务商>` 选中它。如果 OpenCode 里根本没有所选服务商的 key（比如 key 只在终端里 export，后台服务看不到），手机上会直接说明是哪个服务商缺 key，存好之后再发一条消息就行。你在电脑上自己开着的 OpenCode 服务（设置了 `agent.shared_opencode_port` 和 `agent.shared_session_id`）v1、v2 都能接：手机上能发文字、批准请求，你在电脑上打的字和回复也会同步到手机；换模型、斜杠命令仍在电脑上操作。接 v2 服务时「高危操作提醒」用不了，要用它就去掉端口设置，让 Agent J 自己启动 OpenCode。你的 server 设了密码的话，Agent J 不会去读别的程序的环境变量：手机上会提示一条 `agentj secret request --name OPENCODE_SERVER_PASSWORD --purpose "Your OpenCode server password" --dest "env:<Agent J service env file>#OPENCODE_SERVER_PASSWORD"` 命令，在电脑上运行它、在手机的密钥卡片里贴上密码，再 `agentj service restart` 就能接上。403 也可能是地区或权限限制，不一定是 key 错了。

如果你从第三方服务商拿到的是一个 base_url 加一把 key（OpenAI 兼容或 Anthropic 兼容），让 Agent 运行 `agentj provider add <名字> --base-url <地址> --model <模型>`。它把这个服务商写进 OpenCode 的配置，配置里只记 key 的变量名；key 本身由你在手机的密钥卡上粘贴，Agent 看不到。之后把模型换成 `<名字>/<模型>`，重启一次服务即可。

## 从另一台电脑给席位添加遥控器

目标电脑安装完成、绑定账号且在线后，在账户页找到它的席位卡，点「添加遥控器」，确认是你本人后用手机扫码即可，不用去目标电脑的终端。确认方式二选一：通行密钥（这台电脑上没有的话，在弹窗里选「使用手机或平板」，用手机确认）；或者输入那台电脑的遥控器配对密码。用通行密钥确认后，同一会话十分钟内免重复确认；二维码五分钟内只可添加一台设备。待批准设备也可在席位卡查看、批准；席位卡「更多」里的「查看电脑上等你处理的事」只在两种时候用：电脑被「全部停下」后要恢复，或 Agent 新建的定时任务等你启用；它跟席位和付费无关，欠费也不会停掉电脑上的任务。

默认允许账户页添加；目标电脑的主人可用 `agentj remote-pair off` 关闭。离线时不排队，开机后重试；旧版本按提示运行 `agentj update apply` 或从已有手机升级。新设备来源显示「经账户页添加」，其他遥控器收到通知。

账户页配对依赖签名控制平面。配对材料只以浏览器临时公钥加密回传，后端不保存明文；签名服务被攻破仍可能增加设备，关闭开关可拒绝此路径。遥控器配对密码只在那台电脑上散列保存。在账户页输入它时，浏览器先用那台电脑临时给出的一次性公钥把它加密，只有那台电脑能解开、核对；我们的服务器只转发看不懂的密文，也不保存。连续输错 5 次，那台电脑会锁定一段时间。


### Claude 手机消息与服务登录

共享 Claude 接收手机消息，不用在电脑上逐条确认。选择共享模式、Agent J 启动和 `agentj doctor` 时，都会检查 Claude Code 在工作目录里实际生效的值（组织策略 > 该目录私有的 `.claude/settings.local.json` > 该目录的 `.claude/settings.json` > 你的 `~/.claude/settings.json`）。用户设置或私有本地设置里的拦截会就地改成放行；共享项目文件里的拦截从你私有的本地层覆盖，不改团队文件。组织策略、`refuse` 和你自己运行的 `agentj config claude-inbound off` 只报告、不改。改之前先备份。改设置之前就启动的 Claude Code 会话仍用旧设置，在它里面执行 /clear 或开新会话后生效。手机提示尚未接收时会说明具体原因：组织策略、项目设置、你关掉了、需要 /clear，或电脑正忙。先看电脑再决定是否重发，原消息仍可能送达。`agentj config claude-inbound on|off|status` 修改或查看实际生效的设置。macOS/Linux 的 Claude socket 以同一操作系统用户为边界，认证帧并非强制要求；Agent J 始终发送本机 peer token 认证帧。该用户下其他进程的消息也会被接受。

共享模式沿用电脑上活会话的登录。切换到独立模式前，Agent J 会检查服务是否有登录；没有就保留共享模式。在电脑终端运行 `claude` 并 /login 一次（Mac 存进钥匙串），或运行 `claude setup-token` 后自己把 token 写入服务专用 env 文件，权限设为600：Linux 用 `~/.config/systemd/user/agentj.env`，Mac 用 `~/Library/LaunchAgents/net.agentj.host.env`。不要把 token 发到聊天里。旧版 Mac 服务先运行一次 `agentj service install` 加上 env 文件路径，改完 env 后运行 `agentj service restart`。LaunchAgent plist 只存路径，不存 token。

登录过期时不用回电脑：手机 设置 →「紧急修复」→ ③「AI 账号登录失效」→「AI 登录救援」重新登录（Codex 设备码；Claude 授权链接，授权码只贴进密钥卡）。用手机换上的 Claude 长期 token 会记下日期、按一年推算到期日，到期前第 7、3、1 天各提醒一次，点「现在续期」在手机上授权一次就换上新的；新 token 实测通过才替换，没通过保留原来的。没有固定到期日的登录（订阅 /login、Codex 的 ChatGPT 登录、服务商密钥），电脑每天发一条不带工具的极短测试消息，失效立刻提醒。

## 共享 Claude 的模型和额度条

选择共享 Claude 时额度条也默认开启：手机显示同一会话的模型、思考深度、周额度、5 小时额度和上下文水位，并提示一次。运行 `agentj config claude-statusline off` 后会记住你的选择，不再自动开启。原状态栏命令收到的输入和输出都保留。设置先备份、再原子写入；`off` 精确恢复原值（只为 tap 新建的私有本地文件会删掉），主人之后的编辑不会被覆盖。手机只使用同一会话的测量值，并显示数据年龄，重新连接也不会让旧数据变新。组织策略设定的状态栏不改，`agentj doctor` 会报告。

状态栏 tap 装在 Claude Code 对工作目录实际生效的那一层；本地或项目里原有的状态栏会从你私有的本地层串联起来，照常运行。更高一层把它遮住时，`status` 显示 `shadowed`，`agentj doctor` 指出是哪一层，手机显示「—」；运行 `agentj config claude-statusline on`（下次启动也会，除非你关掉了）会在实际生效的那一层重新串联。模型/思考强度标签和 `/model <名字> [强度]` 在电脑空闲时，通过 Claude Code 自己的 `/model` 选择器切换共享会话，只对本会话生效；要等本会话的状态栏显示新模型才算成功。`/cost` 显示 Claude Code 自己报告的本会话花费。想给主 Agent 加上你自己的长期规则，就把 `agent.private_instructions_file` 指向一份本机文本文件：它作为文字追加在核心身份之后，不授予任何权限；用 `agentj config private-instructions status` 检查。


升级后的重装与启动由独立的服务任务执行，当前会话退出也会继续。Linux 使用单独的 systemd 用户任务，macOS 使用一次性 launchd 任务。若启动失败，下次启动会提示，`agentj doctor` 会报错；在电脑运行 `agentj service start` 后再运行 `agentj doctor`。`agentj service stop` 停止后台服务并保留安装；`start` 在未安装时自动安装。


Codex 报错时，先看手机上的操作提示。账号用不了当前模型时，点顶部模型名换一个；被拒绝的模型会暂时禁用，重新登录后刷新。连不上 ChatGPT 时，检查代理/VPN 后重发；登录失效时，在电脑上运行 `codex login`。原始报错经脱敏后保留在「详情」里。


[装好 AI 命令行工具](/docs/setup-agents/) · [agentj 命令参考](/docs/cli/)

[让电脑保持唤醒](/docs/keep-awake/)：命令、系统设置和可发给 Agent 的请求。

[Agent J 专用浏览器与登录保活](/docs/browser-automation/)：管登录、每天体检、手机扫码卡，还有「早上好」。

## 接 Kimi Code {#kimi}

- `agentj agent kimi --dir <目录>`：接上 Kimi Code CLI（`kimi` 2.2.0 以上）。Kimi 会员在海外站 kimi.ai 的加 `--region global`；默认是国内站 kimi.com（`--region mainland-cn`）。只支持独立会话。
- `agentj agent switch kimi`：从别的工具安全切过来（先检查，不通自动切回），见[换 AI 编程工具](/docs/switch-harness/)。
- `agentj agent detect` 会列出 Kimi Code 的版本和有没有登录；`agentj doctor` 还会说出 `~/.kimi-code/config.toml` 里有几条不经手机卡片就放行的规则。
- 登录：在你自己的终端运行 `kimi login --region mainland-cn`（或 `global`），或者用手机上的 AI 登录救援（设备码）。

## 接 Qwen Code {#qwen}

- `agentj agent qwen --dir <目录>`：接上 Qwen Code（`qwen` 0.25 以上），想省额度再加 `--model qwen3.8-flash`。只支持独立会话。
- `agentj agent switch qwen`：从别的工具安全切过来，见[换 AI 编程工具](/docs/switch-harness/#qwen)。
- `agentj agent detect` 会列出 Qwen Code 的版本、有没有 key 或你自己的设置；`agentj doctor` 还会数出 `~/.qwen/settings.json` 里有几条不经手机卡片就放行的 `permissions.allow` 规则。
- key：`agentj provider bailian` 会打印手机密钥卡命令（`BAILIAN_TOKEN_PLAN_API_KEY`），见[阿里百炼 Token Plan](/docs/setup-agents/#bailian)。

## 接 DeepSeek dsh {#dsh}

- `agentj agent dsh --dir <目录> --base-url https://<服务>/v1 --model <模型 id>`：接上 DeepSeek 的编程工具 dsh（`DeepSeek Harness` 0.2.0-rc.2 以上，还是预览版），模型用 Olares Router 或任何 OpenAI 兼容服务。不加 `--base-url`，就用你自己配好的 dsh，或者 DeepSeek 官方 API 的 key。只支持独立会话。
- `agentj agent switch dsh`：从别的工具安全切过来，见[换 AI 编程工具](/docs/switch-harness/#dsh)。
- `agentj agent detect` 会列出 dsh 的版本、有没有模型路线或登录；如果 `~/.dsh` 里的设置会改动 dsh 的审批或插件，Agent J 不会启动它，`agentj doctor` 会指出是哪个文件，挪走就好。
- key：服务要 key 时，Agent 会发手机密钥卡（`DSH_ROUTER_API_KEY`；DeepSeek 官方 API 用 `DEEPSEEK_API_KEY`），见[DeepSeek dsh](/docs/setup-agents/#dsh)。
