# 运行任务

工作如何从提示词推进到合并更改，以及它启动的三种方式。

Canonical page: https://beeuni.ai/docs/zh/work

Beeuni 在一个 [会话](/docs/zh/work/sessions) 中执行任务：它是一个分支和沙盒，用于完成一项
任务。会话在其 [更改请求](/docs/zh/work/change-requests) (CR)
合并回默认分支时结束。本页将介绍整个流程，然后展示启动会话的三种方式。

- [会话](/docs/zh/work/sessions): 用于完成一项任务的分支和沙盒。
- [更改请求](/docs/zh/work/change-requests): 经审查后合并回默认分支。
- [运行时](/docs/zh/work/runtime): 会话运行所需的环境变量、令牌和沙盒镜像。

<a id="what-happens-when-a-session-starts"></a>

## 会话启动时会发生什么

1. Beeuni 创建会话行，并从默认分支创建一个分支。
   分支名称就是会话 ID。
2. Beeuni 确定沙盒镜像：使用默认镜像，或者在清单中声明了
   `.beeuni/Dockerfile` 时使用你自己的镜像。
3. 沙盒启动。其守护进程 `beeuni-agent` 将仓库克隆到
   `/workspace`。随后启动会话的 [运行框架](/docs/zh/work/harnesses)。
   会话状态变为 `running`。
4. 智能体开始工作。它通过 Beeuni 设置的环境变量使用[密钥](/docs/zh/project/secrets)，然后提交更改并推送到会话
   分支。
5. 智能体发起[更改请求](/docs/zh/work/change-requests)。你审查并合并它——这是任务进入默认分支的唯一方式。

> **Git 是唯一持久的记录**
>
> 停止会话会暂停沙盒，但会保留其中的文件。删除会话则会永久销毁沙盒。只有已提交并推送到分支的工作会保留下来，而只有已合并的更改请求才能使其成为永久更改。

<a id="three-ways-work-runs"></a>

## 运行任务的三种方式

会话有三种启动方式之一。

| 模式 | 工作方式 |
|---|---|
| 按需 | 在聊天中提出请求，即刻获取结果。 |
| 人工协助 | 智能体执行任务，并在关键决策时与你确认。 |
| 自动化 | [触发器](/docs/zh/connect/triggers)——定时计划或 Webhook——端到端启动会话。 |

<a id="related"></a>

## 相关内容

- [项目](/docs/zh/project): 带有清单的 git 仓库。
- [智能体](/docs/zh/project/agents): 具有指定工具权限的 Markdown 人设。
- [模型](/docs/zh/project/models): 会话使用哪个模型，以及由谁付费。
- [触发器](/docs/zh/connect/triggers): 用于启动会话的定时计划和 Webhook。
- [连接器](/docs/zh/connect/connectors): 对外部应用的限定访问权限。
- [Slack 和频道](/docs/zh/connect/slack): 用于启动会话的聊天入口。
- [计算机](/docs/zh/connect/computers): 与会话沙盒不同的机器。
- [账户](/docs/zh/accounts): 主体、角色和分配——谁可以做什么。
