跳到内容
BeeuniBeeuni
中文
Esc
↑↓导航↵打开⌘J预览
本页内容

会话

会话是一个 Git 分支,也是代理工作的沙箱。

会话是智能体工作的一项单元。Beeuni 会为其创建一个 git 分支,并配置 一个沙箱。会话 ID、分支名称和沙箱 ID 是同一个值。

状态

实际使用中,会话有 4 种状态。

状态 含义
provisioning Beeuni 创建分支并请求沙箱。
running 沙箱已启动且可以访问。
stopped 会话已暂停,可能是你暂停的,也可能是空闲时自动停止的。
failed 配置失败。

数据库还定义了另外 3 个值(queued、branching、completed)。 目前 Beeuni 不会为会话写入这些值。

停止、恢复和空闲时自动停止

你可以自行停止会话。恢复会重新启动同一个沙箱,保留相同的文件系统和运行时身份。只有正在运行的进程和内存会重置。标准运行器 对话仍与该会话关联。

Beeuni 也会为你停止空闲会话:

  • 普通会话或触发器运行空闲 15 分钟后。
  • 由另一个会话启动的工作会话空闲 2 分钟后。

智能体正在执行回合时不会停止。维护任务每 5 分钟运行一次。因此,普通会话通常会在终端回合结束后约 15 到 20 分钟自动停止。

需要等待人员响应的回合不会执行任何工作:智能体提出了问题,或请求运行工具的权限。这类回合最多会让电脑在 Beeuni 首次检测到等待后继续运行 2 小时。如果是触发器或计划任务运行,则没人会收到请求,时限为 30 分钟。之后 Beeuni 会结束回合并停止电脑。发送消息即可继续。模型调用或你打开的会话页面会被视为活动,电脑会照常延长运行时间。

你正在使用的会话页面会让会话保持运行。只有在标签页可见、且你在最近 10 分钟内点击、输入、滚动或触摸过页面,并且你有权在该项目中启动会话时,页面才会被视为正在使用。打开标签页但没有输入,10 分钟后就不再计入,因此会话会在约 15 到 20 分钟后停止。只读查看者打开的标签页不会让会话保持运行。仅使用页面最多只能让会话在智能体上一个回合结束后继续运行 2 小时;发送新消息会开始一个回合并重置时限。

停止和删除会保留什么

停止和恢复会保留沙箱的身份和文件系统。删除会销毁沙箱。Git 是唯一持久记录:智能体提交并推送的工作会保留,其他内容都会丢失。

标签

标签用于分类会话:bug、customer: eu、worker。打开会话的 ⋯菜单并选择 Edit labels。会话列表中的 Labels 筛选器只会显示带有你选定的所有标签的会话。标签可自由填写,长度为 1–64 个字符,每个会话最多 20 个。

智能体和脚本也可以设置标签:beeuni sessions new --label worker、 beeuni sessions update --label needs-review(在会话内使用且不指定 ID 时,会为当前会话添加标签),或在 API 和 SDK 中使用 labels。会话还包含一个可自由填写的 metadata 对象,供你存储自定义键值 — 参见 SDK sessions。

运行时

会话运行一个执行框架:标准运行器 或实验运行器。参见 Harnesses。Beeuni 会在会话启动时保存选定的智能体和模型。运行中的会话会继续使用原来的执行框架,直到重新启动或恢复。

会话访问权限

会话仅对创建者开放。所有者打开 Session access,并从 3 个选项中选择一个。

选项 谁可以打开会话
Only you 仅所有者。这是默认设置。
Specific people 所有者,以及所有者选定的成员和群组。
Whole project 项目中的所有成员。

所有有权访问的人都可以阅读对话并继续对话。

共享会话使用共享密钥。 会话共享后,只能使用与整个项目共享的提供商密钥,不能使用任何个人密钥或 ChatGPT 连接。如果会话使用你的个人密钥运行模型,共享后就会切换为该提供商的项目密钥。如果项目没有可用于该模型的共享密钥,则无法共享,会话仍保持私有。参见 Provider keys and member access。

只有所有者可以更改此设置。 未创建该会话的项目管理员在会话与其共享后可以打开会话,也可以停止、重启或删除会话,但无法更改其他人的访问权限。与管理员共享会话,不代表将其访问名单交给管理员管理。

有一类会话没有人工所有者:由触发器创建、以触发器智能体身份运行的会话。这类会话由项目管理员管理。要为所有这类会话设置策略,请在触发器本身的 Session access 下进行设置 — 保存后也会更新该触发器已创建的会话。

管理员可以打开所有会话

账户所有者可以允许账户所有者和管理员打开账户中的所有会话,包括成员设为私有的会话。在 Account → Settings → Security → Admins can open every session 下启用此选项。默认关闭。

  • 只有账户所有者可以更改此设置。 管理员可以看到开关,但无法切换,因此没有管理员可以自行授予自己访问所有人工作内容的权限。
  • 管理员可以在项目的 Sessions 页面找到这些会话。 侧边栏仍只列出你启动的会话或与你共享的会话。
  • 访问权限完整。 管理员可以打开、阅读并继续会话,与共享给整个项目的会话相同。
  • 成员可以看到此设置。 启用后,Session access 对话框会说明所有者和管理员可以打开所有会话。
  • 所有操作都会记录审计日志。 每次切换都会记录为 iam.session_oversight.enable 或 iam.session_oversight.disable,管理员通过此功能打开的每个会话都会记录为 project.admin_oversight_session_read (每位管理员对每个会话每小时最多记录一次)。
  • 智能体和沙箱令牌不会因此获得访问权限,即使它们是由管理员启动的也不例外。

按所有者或访问权限查找会话

项目的 Sessions 页面会在每个会话条目中显示其所有者和访问权限:所有者的头像和名称(自己的会话显示 You),以及表示谁可以打开会话的图标:锁表示 Only the owner,多人图标表示 Specific people,地球图标表示 Whole project。

在 Sessions 页面打开 Filter 以缩小列表范围:

  • Owner — 每人一项,并显示数量。
  • Access — Only the owner、Specific people 或 Whole project。
  • Grouping → Owner — 按人员分组,每人一个分区,你的分区排在最前。

这些筛选条件可以与 Status、Source 和搜索组合使用。Reset 会清除所有筛选条件。

分享预览

你可以通过公开链接分享会话的实时预览,并选择只读或交互模式。是否创建此链接由会话所有者决定,原因相同:该链接无需身份验证,因此任何持有 URL 的人都可以在不登录的情况下查看会话。项目管理员可以列出并撤销会话链接,即使他们不是会话所有者也可以 — 撤销只会移除访问权限。

完整状态枚举、注入的环境变量和守护进程端点,请参见 Runtime。了解会话如何选择智能体,请参见 Agents。了解由计划任务或 webhook 启动的会话,请参见 Triggers。要将会话工作合并到默认分支,请参见 Change requests。

这个页面有帮助吗?