# Caelum Orbis：给 AI 编程助手装一个会变色的 3D 状态球


> 写代码的时候，我最想知道的一件事是：它现在在干什么？Caelum Orbis 就是为这个问题做的——一个常驻在 DeepSeek Harness 界面上的 3D 状态球和一块小面板，把 AI 正在思考、正在跑命令、正在等你确认，变成一眼就能看见的颜色。

<!--more-->

## 为什么需要它

用 AI 编程助手的时候，界面通常只告诉你两件事：在跑，或者跑完了。

中间那段才最难熬：它是在读代码？在跑测试？在等你点确认？还是已经卡住了？想搞清楚只能不停点开面板翻记录，翻完关掉，接着干活又心痒。

Caelum Orbis 的想法很简单：**不用打开任何面板，让它自己在旁边告诉你。**

Agent 一开始工作，对话区右侧就浮出一块玻璃小面板，写着当前任务、进行到哪一步、最近完成了哪几件事。闲下来，它自己收成一颗会呼吸的球，不占地方。

![Always-on HUD：任务、阶段、最近活动、当前状态](/images/dsh-orbis/hud-panel.webp)

## 它长什么样

三块东西，随叫随到：

- **Always-on HUD**：对话区右侧的常驻小面板。当前任务、阶段、运行时长、最近 5 条活动、当前状态。Agent 空闲时自动收起；你手动收起过之后，它不会再自己弹回来。
- **3D 能量球**：右下角一颗 76px 的球，随状态变色、流动、脉动。可以拖到任意位置，位置会记住。
- **工作空间**：点球打开的大面板。3D 球、完整活动记录、执行时间线、统计数字都在这里。

![十一种状态](/images/dsh-orbis/orb-states-v2.webp)

球不是贴图轮播，是真的 3D：内层能量材质、外层玻璃壳、多层轨道、外围粒子，状态切换是平滑过渡。

## 颜色就是状态

不用记任何术语，看颜色就知道它在干嘛：

| 颜色 | 状态 | 说人话 |
| --- | --- | --- |
| 蓝 · 缓慢呼吸 | 空闲 | 没事做，在等你 |
| 紫 · 能量脉冲 | 思考中 | 正在推理、组织思路 |
| 青紫 · 加快 | 准备中 | 正在拼参数，马上要调工具 |
| 青蓝 · 粒子高速 | 执行中 | 正在跑命令、读写文件 |
| 紫 · 更快 | 输出中 | 正在写回答 |
| 琥珀 · 轨道变慢 | 等待确认 | 有操作需要你点同意 |
| 灰蓝 · 极静 | 安静了 | 在跑，但已经 30 秒没动静 |
| 绿 · 能量扩散 | 完成 | 这一轮干完了 |
| 琥珀 · 高频闪 | 已中断 | 被你或系统打断 |
| 红 · 短促警示 | 出错 | 出问题了 |

安静下来时，面板给的是真实秒数——「已连续 45 秒没有收到新的活动」，而不是含糊地说一句"卡死了"。

## 安装

前提：DeepSeek Harness **0.2.2-rc.1** 或更高版本。

一条命令：

```bash
dsh plugin --profile desktop add dsh-orbis
```

> 如果你是用 `dsh web` 启动 Harness 的，把 `desktop` 换成 `web`。

装完**刷新一次 Harness 页面**，右下角就会出现那颗球。

不想用命令行也可以，GUI 两步：

1. 打开 **设置 → 插件**
2. 点 **添加插件 → 安装第三方插件**，填包名 `dsh-orbis`

国内网络慢的话，加一个镜像参数：

```bash
dsh plugin --profile desktop add dsh-orbis --registry=https://registry.npmmirror.com
```

## 怎么用

日常操作都在那颗球上：

| 想做的事 | 怎么做 |
| --- | --- |
| 看详细信息 | 点一下球，打开工作空间 |
| 关掉工作空间 | 再点一次球，或按 `ESC` |
| 换个位置 | 按住球拖，松手就记住 |
| 看当前状态 | 鼠标悬停在球上，显示状态和正在跑的工具数 |
| 暂时不想看 | 悬停时点左上角 `×`，球消失，原地留一颗小点，点小点能唤回来 |
| 让它别收起来 | 点面板标题栏的 📌 固定 |
| 只要球不要面板 | 设置里把显示模式改成「仅能量球」 |

**三种显示模式**，按习惯挑一个：

| 模式 | 平时是什么 | 点它做什么 |
| --- | --- | --- |
| 自动展开 | 干活时完整卡片，空闲时收成球 | 展开 / 收起 |
| 始终紧凑 | 一行小胶囊 | 打开完整工作区 |
| 仅能量球 | 只有 76px 的球 | 打开完整工作区 |

设置里还能调：总开关、帧率 30/60、粒子密度、轨道、光效、减少动态（照顾晕动敏感）、后台暂停，以及各个列表的开关。

## 它不做什么

这一条比功能更重要：

- **不调用大模型，不消耗 Token。** 所有状态都来自 Harness 自己已经在发的事件，插件只是旁听。
- **只读。** 不执行工具、不改会话、不写数据库。关掉它，Harness 一切照旧。
- **不改 DSH 源码。** 装上就是一个插件，卸载就干净消失。
- **局域网内其他设备看不到。** 手机、另一台电脑都读不到这块面板——宁可不可用，也不要一个看起来能用、实际不设防的入口。

## 卸载

```bash
dsh plugin --profile desktop remove dsh-orbis
```

本地剩下的只有浏览器里的几个偏好设置（球的位置、面板折叠状态），清一下浏览器数据就没了。

## 链接

- GitHub：<https://github.com/mycherish/dsh-orbis>
- npm：<https://www.npmjs.com/package/dsh-orbis>

用起来有问题、或者想要什么效果，欢迎到 GitHub 开 issue。

