> For the complete documentation index, see [llms.txt](https://tinyhumans.gitbook.io/openhuman/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tinyhumans.gitbook.io/openhuman/zh/gong-neng/subconscious.md).

# 潜意识循环

一个用于后台任务评估和执行的系统。在周期性节拍中，它会加载用户自定义任务和系统任务列表，读取工作区的当前状态，决定每一项该怎么处理，并且要么自主执行，要么上报给你审批。

可以把它看作代理的空闲线程：在你停止输入后，它仍在继续思考的那部分。

***

## 一次节拍如何工作

```
┌─────────────────────────────────────────────────────────┐
│                    心跳                                  │
│             （每次节拍之间会休眠几分钟）                │
└──────────────────────┬──────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────┐
│                  潜意识引擎                              │
│                                                         │
│  1. 加载到期任务                                        │
│  2. 将每项标记为进行中                                  │
│  3. 构建情况报告（记忆 + 工作区）                        │
│  4. 使用本地模型评估每个任务                            │
│  5. 执行决策（执行 / 不做事 / 升级）                    │
│  6. 将结果写回活动日志                                  │
└─────────────────────────────────────────────────────────┘
                       │
           ┌───────────┼───────────┐
           ▼           ▼           ▼
         不做事       执行       升级
        （跳过）    （执行）   （更深层代理）
```

每次节拍都是独立的。如果某个节拍在下一个节拍开始时仍在运行中（模型调用很慢、网络抖动），新节拍会接管，旧节拍中正在进行的条目会被标记为已取消。节拍不会堆积。

***

## 任务类型

### 系统任务

在引擎启动时自动种子化。不能删除，只能禁用。默认项涵盖了你希望任何助手都去关注的内容：

* 检查已连接技能是否有错误或断开
* 查看新的记忆更新中是否有可执行事项
* 监控系统健康状况（本地模型、记忆、连接）

你可以通过在工作区中的一个 `HEARTBEAT.md` 文件里逐行列出其他任务，来扩展系统任务集合。

### 用户任务

任何你从界面手动添加的内容。可切换开/关、编辑、删除。示例：

* “检查紧急邮件”（只读）
* “将每日摘要发送到 Slack”（写入意图）
* “汇总 Notion 更新”（只读）

***

## 决策

对于每个到期任务，本地模型会返回以下三种决策之一：

| 决策 | 含义               |
| -- | ---------------- |
| 跳过 | 当前没有相关内容         |
| 执行 | 发现了相关内容，执行该任务    |
| 升级 | 需要更深层推理，交给云端代理处理 |

该决策如何执行，取决于任务是否具有 **写入意图** （它要求代理采取一个行动）还是 **只读** （它要求代理查看并报告）：

```
决策：跳过
  → 记录“没有新内容”，安排下次运行

决策：执行
  → 在本地模型上执行（读或写）

决策：升级
  ├─ 写入意图任务
  │   → 以完整权限运行云端代理
  │   → 无需审批（因为这是你明确要求执行的操作）
  │
  └─ 只读任务
      → 以仅分析模式运行云端代理
      → 如果代理给出了未经请求的推荐操作
      │   → 创建一个升级卡片供你审批
      │   → 审批后 → 以完整权限重新运行
      └─ 否则 → 记录结果，完成
```

每次任务评估都会以一个彩色圆点和简短状态记录到活动日志中：

| 状态   | 颜色     | 文本      |
| ---- | ------ | ------- |
| 进行中  | 蓝色（脉冲） | “正在评估…” |
| 已执行  | 绿色     | 结果文本    |
| 已跳过  | 灰色     | “没有新内容” |
| 等待审批 | 琥珀色    | “等待审批”  |
| 失败   | 珊瑚色    | 错误消息    |
| 已取消  | 灰色     | “已取消”   |
| 已忽略  | 灰色     | “已跳过”   |

***

## 两个模型，一个循环

| 阶段                | 运行位置         | 原因               |
| ----------------- | ------------ | ---------------- |
| 逐任务评估（每个节拍）       | 本地模型（Ollama） | 免费、无限速、本地运行效果好   |
| 纯文本执行（总结、检查）      | 本地模型         | 相同               |
| 使用工具的执行（发送、发布，……） | 云端代理         | 工具、更大的上下文、速率限制重试 |
| 升级后的读取分析模式        | 云端代理（只读）     | 当本地模型放弃时进行更深层推理  |

这种拆分保持了循环的低成本：只有当任务真正需要云端调用时，你才需要为其付费。

***

## 审批门控

只有当代理想要执行一个 **你并未明确要求的写入操作时，才需要审批**.

| 任务意图               | 代理想要写入  | 需要审批吗？        |
| ------------------ | ------- | ------------- |
| “将摘要发送到 Slack”（写入） | 是       | 否，你要求这么做了     |
| “检查紧急邮件”（读取）       | 否       | 否，只读结果        |
| “检查紧急邮件”（读取）       | 是（转发它们） | **是**，未经请求的写入 |

审批流程：

1. 云端代理以仅分析模式运行。
2. 它会给出一条建议，例如 *“将 3 封紧急邮件转发到 #team-alerts。”*
3. 界面中会出现一张升级卡片，位于 **需要审批**.
4. **继续** 会以完整权限重新运行。
5. **跳过** 不会执行任何操作。

与技能相关的升级（集成损坏、OAuth 过期、缺少权限范围）会显示一个 **修复技能** 按钮，直接带你转到技能页面。

***

## 失败处理

一个失败计数器会跟踪整个评估步骤连续失败的节拍数（本地模型宕机、网络中断）。任何一次成功的节拍都会将其重置为零；当其不为零时，会在界面状态栏中以珊瑚色显示。

单个任务失败不会触发这个计数器，节拍本身仍然会被视为成功。

如果某个节拍失败或被取消，引擎不会推进其“上次看到”的时间戳，因此下一次成功的节拍会覆盖同一时间窗口。工作区中的任何内容都不会被跳过。

***

## 配置

该循环可在桌面应用中配置：

* **启用 / 禁用。** 开启或关闭整个后台循环。
* **节拍间隔。** 节拍触发的频率。默认是 5 分钟；这也是最小值。
* **推理。** 本地模型是否在每个节拍评估任务。如果你更愿意只通过手动的 **立即运行** 按钮来执行事情，就禁用它。
* **上下文预算。** 一次可以传入多少工作区情况报告内容。默认值已经足够合理；提高它可获得更丰富的上下文，降低它可减少成本。

***

## 在界面中

位于 **智能 → 潜意识**.

* **状态栏。** 任务数量、总节拍数、上次节拍时间、失败计数器（如有）。
* **活动任务。** 系统任务（只读，带“默认”徽标）和你自己的任务（切换 + 删除）。
* **需要审批。** 用于待处理升级的琥珀色卡片。每张卡都有标题、描述和优先级。按钮： **继续**, **修复技能** （如相关），或 **跳过**.
* **活动日志。** 每个任务评估的按时间顺序排列的信息流，彩色圆点 + 结果。只要有任何内容在进行中，就会自动刷新。
* **立即运行。** 手动触发一次节拍。会立即返回；界面会轮询结果。

***

## 另见

* [记忆树](/openhuman/zh/gong-neng/obsidian-wiki/memory-tree.md)，情况报告从这里读取内容。
* [从集成自动获取](/openhuman/zh/gong-neng/obsidian-wiki/auto-fetch.md)，工作区在节拍之间保持新鲜的方式。
* [本地 AI（可选）](/openhuman/zh/gong-neng/model-routing/local-ai.md)，负责评估的本地设备模型。

***

## 分脑层

潜意识不只是做后勤工作。它 **引导**。当你的代理参与 [tiny.place 编排会话](/openhuman/zh/gong-neng/tinyplace.md) （代理间协作）时，入站流量会经过一个分脑唤醒图：

* 一个 **快速反射代理** 会在几秒内对每条消息进行分诊：要么立即回复，要么把一份简洁的简报交给深层核心（一个 *是什么*，而不是一个 *如何*).
* 一个 **深层推理核心** 会完成真正的多步工作，将任务委派给并行的子代理工作线程，并通过硬性的超步上限保证终止。
* 长会话的边界由 **20:1 历史压缩** 再加上一个带基于利用率回收的滚动世界状态差异来控制。

在周期性节拍中，潜意识会查看那段压缩历史和世界差异，并把一条简短而密集的 **引导指令** （上限约 900 个字符，约 20 个推理周期后过期）注入到推理核心的系统提示中。这样可以让始终在线的这一层与 *你的* 目标保持一致。潜意识本身严格离线：它从不联系任何人，也从不采取外部操作；对外部变化做出响应的节拍会被标记为 **受污染**，因此审批门控会拒绝外部效果工具。

***

## 晨间简报

潜意识最显眼的输出是 **个性化晨间简报**：一份每日摘要，会按你的名字称呼你，匹配你实际的本地时间（不会在下午 4 点说“早上好”），并将过去 24 小时以及即将到来的内容分为四个固定类别： **亮点**, **待办事项**, **提及**，以及 **仅供参考**。它会读取你最近的记忆树窗口以及实时日历/邮件/任务数据，绝不编造，严格遵守发送者和主题的隐私规范，并且在平静的日子里会压缩为一行“没有紧急事项”。在 **自动化 → 晨间简报**.
