---
title: 换成你自己的样子：颜色、logo、发送图标、机器人
nav: 外观主题
summary: 手机网页的状态底色、消息卡片、左上角 logo、发送按钮图标和跳舞机器人都能换，也能换回圆点。一个文件夹，按规则检查通过才生效；原来的样子会休眠，一条命令就能换回来。
order: 33
---
# 换成你自己的样子：颜色、logo、发送图标、机器人

手机网页可以换成你喜欢的样子：换背景颜色，左上角放你自己的 logo，发送按钮换个图标，画你自己的跳舞机器人，或者换回安静的小圆点。Agent J 出厂带两套样子：

| 样子 | 是什么 |
|---|---|
| **robots**（默认） | 回复卡右上角跳舞的 16 个像素小机器人，一个机器人就是一个在后台干活的 Agent（[后台小机器人](/docs/robots/)） |
| **dots** | 以前的小圆点：一个 Agent 一个点，轻轻闪，不跳舞 |

最省事的办法，是直接跟你自己的 Agent J 说。用大白话就行：「把空闲时的绿色换成深蓝色」「左上角换成我们公司的 logo」「按我们的品牌色画四个机器人」「换回圆点」。它知道所有规则（自带的 agentj-theme 技能），会做好主题、检查、换上。**手机几秒内自己刷新，不用重新打开。**

## 能换什么

| 部分 | 在手机上的哪里 | 规则 |
|---|---|---|
| 状态底色 | 整个聊天页：等你说话（绿）、在干活（蓝）、等你批准（橙）、等你选答案（紫）、断开（灰） | 什么颜色都行；上面的白字要看得清（对比度至少 2.5:1），五种颜色要一眼分得开；深色模式会自动调深 |
| 消息卡片 | 每一页最上面那张卡片，按谁发的分：你、别的 Agent、电脑上打的字、开发工具、系统和定时任务 | 用浅色：上面的深色字对比度至少 4.5:1 |
| logo | 聊天页左上角 | PNG，正方形，128 × 128 或 256 × 256 像素，最大 64 KiB，静态图；后面那个浅色圆底可以留也可以去掉 |
| 发送图标 | 发送按钮上的图案（现在是小火箭） | 透明背景的 PNG，128 × 128 或 256 × 256 像素，最大 32 KiB；只用它的形状（统一画成白色），四个角要透明，图案占 5%–70% |
| 机器人 | 回复卡右上角 | 1–16 个像素画机器人（规则见[后台小机器人](/docs/robots/#make-your-own)） |
| 圆点 | 同一个位置，代替机器人 | 1–9 对颜色；每个点在自己的两种颜色之间闪 |

菜单颜色（`colors.menu`）：「设置」「全部命令」「键盘快捷键」这些菜单页默认是深色的（底色和页眉 Noir，分组 Sooty，文字 Lotion，强调色 Milky Waves）。主题可以改 `background`（底色）、`panel`（分组底色）、`text`（文字和图标）、`accent`（开关、选中标记和焦点框）、`line`（分隔线）。文字和说明文字在底色、分组底色上的对比度都至少 4.5:1，强调色在底色上至少 3:1。「这个网页版有多安全」页始终用官方配色。

弹窗颜色（`colors.dialog.background`）：屏幕中间弹出的方框——用量、在办的机器人清单、负载线、确认框、联系人卡片——和全屏阅读都用同一个底色，默认 Noir（`#2c2b26`）。主题改这一个值，所有居中弹窗一起换。弹窗上的字是 Lotion 白字，所以这个颜色要够深：和 Lotion 的对比度不到 4.5:1，检查就不通过。

你自己选的颜色不受任何调色板限制。出厂的颜色全部来自 Agent J 自己的调色板。

## 永远是官方样子的部分

不管主题里写了什么，下面这些都保持 Agent J 自己的样子，这样你永远分得清真页面和仿冒页面：配对和安全码页面，安全相关的页面（「网页版」标志和它的说明、菜单里的盾牌那一行），断开和已移除的页面，主屏幕上的图标，字体，以及 agentj.app 上的所有页面。离开聊天页以后，左上角的 logo 也是官方的。

## 怎么做

一个主题就是一个文件夹：`theme.json`（设置）加上它用到的 PNG 图片。每一部分都可以不写，没写的部分保持出厂样子。你的 Agent（或者你自己在终端里）这样做：

1. 从一套出厂样子复制一份开始：

   ```bash
   agentj theme export robots ~/agentj-themes/night-owl
   ```

2. 改 `theme.json` 和图片。
3. 检查。只有每条规则都通过的文件夹才能换上：

   ```bash
   agentj theme validate ~/agentj-themes/night-owl
   ```

4. 换上：

   ```bash
   agentj theme apply ~/agentj-themes/night-owl
   ```

一个只改两种颜色、其余都不动的小例子：

```json
{
  "schema": 1,
  "id": "night-owl",
  "name": { "zh": "夜猫子", "en": "Night owl" },
  "colors": { "state": { "idle": "#2d4f83", "working": "#8a4fb0" } }
}
```

全部设置项写在主题的 JSON Schema 里：运行 `agentj theme schema`，或者看 https://agentj.app/schema/agentj-theme-2.json 。

## 检查没通过怎么办

`validate` 每条没通过的规则打一行：在 `theme.json` 的哪里、哪里不对、应该是多少。它什么都不会改：

```text
✗ colors.state.idle: #ffe292 太浅：上面的白字（Lotion #faf9f5）对比度只有 1.20:1，至少 2.5:1，调深一点 / #ffe292 is too light: the Lotion #faf9f5 text on it is only 1.20:1, needs 2.5:1 — go darker
✗ busy.robots.sheet_18: r18.png 必须是 234×54 像素（13 帧 × 18 像素宽，3 个机器人 × 18 像素高；现在 234×36）/ r18.png must be 234×54 px (13 frames × 18 px across, 3 robots × 18 px down; now 234×36)
✗ 2 项没通过，改好再 validate；什么都没改 / 2 failed — fix and validate again; nothing was changed
```

改好再检查，直到显示「全部通过」。

## 换回去：什么都不会丢

每换上一个主题，原来那个就进入休眠（保留最近 20 个）。

| 你想 | 命令 |
|---|---|
| 看出厂的、正在用的和休眠的主题 | `agentj theme list` |
| 唤醒一个休眠的主题（正在用的那个去休眠） | `agentj theme restore <列表里的名字>` |
| 回到出厂样子（跳舞机器人） | `agentj theme reset` |
| 换成小圆点 | `agentj theme apply dots` |

浅色、深色是另一个开关，用法不变：`agentj theme dark`、`agentj theme light`、`agentj theme system`。

<details>
<summary>技术细节</summary>

- 主题存在你自己的电脑上，在 Agent J 的状态文件夹里（`agentperm/theme/`：当前设置、`active/` 和 `dormant/`）。`apply` 换上之前会对一份私有副本再检查一遍，所以检查通过的就是手机收到的。
- Agent J 通过和你的消息同一条端到端加密通道，把主题发给已配对的手机，我们看不到。网页会把每个值再检查一遍（颜色 `#rrggbb`、PNG 文件和它的准确像素尺寸），其他的一概不用；主题坏了就回到出厂样子。
- 规则里的数字：状态底色对 Lotion `#faf9f5` 至少 2.5:1，卡片底色对 Noir `#2c2b26` 至少 4.5:1；整个主题最大 512 KiB。

</details>

机器人的更多介绍和怎么画你自己的机器人：[后台小机器人](/docs/robots/)。


主题格式 2 支持一组五张 logo：`logo.states` 里分别填写 `idle`、`working`、`waiting`、`question`、`offline` 的文件名，也兼容格式 1 的单张 `logo.image`。五张都要是静态 PNG，尺寸一致，128×128 或 256×256，每张不超过 64 KiB，画面不能近乎空白。校验会检查每张图在对应状态底色上的深浅色对比度：至少 10% 的画布像素达到 2.5:1；保留奶白圆盘时，圆盘与底色也要达到 2.5:1。发送图标规则不变。

更换跳舞机器人时，Agent J 会先问要不要同时换 logo。要换就做一组五张，同形、随五种状态换机身主色，并逐张校验；不换就保留当前 logo 组，当前没有自定义组则使用出厂组。

非聊天页的官方 Agent J Father logo 随当前状态换色，用 12 帧舞步循环 2.4 秒。开启减少动态效果时显示静态图与边界内心跳描边。单击打开菜单，长按返回聊天。
