---
title: "运行任务"
description: "工作如何从提示词推进到合并更改，以及它启动的三种方式。"
---

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

<CardGroup>
  <Card icon="git-branch" title="会话" href="/docs/zh/work/sessions">用于完成一项任务的分支和沙盒。</Card>
  <Card icon="git-pull-request" title="更改请求" href="/docs/zh/work/change-requests">经审查后合并回默认分支。</Card>
  <Card icon="cpu" title="运行时" href="/docs/zh/work/runtime">会话运行所需的环境变量、令牌和沙盒镜像。</Card>
</CardGroup>

<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)。你审查并合并它——这是任务进入默认分支的唯一方式。

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

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

## 运行任务的三种方式

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

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

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

## 相关内容

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