扩展
扩展可以提供任务看板等全屏页面。从会话列表上方的扩展页面菜单打开。只有已启用并获批准的页面才会显示此菜单。选择聊天、重新加载、暂停、移除或切换服务器会关闭页面。扩展不能自行打开全屏页面。
扩展自身的数据保存在连接的服务器上,移除扩展时一并删除。看板可以跟踪多个项目和工作树的会话,而无需在项目中创建文件。
通过 设置 → 扩展 可以把其他人制作的面板添加到 OpenChamber。扩展是放在右侧栏上的一个小页面,与内置面板并排。它可以向你展示来自其他服务的数据,把任务附加到聊天中,如果你允许,还可以启动会话、发送提示或读取文件。
扩展在 OpenChamber 网页版和桌面版上运行。VS Code 和移动应用暂时不会加载它们。它们和 OpenCode 插件不是一回事。
安装扩展
标记为内置的扩展随所选 OpenChamber 实例提供。它们默认启用,声明的权限会自动授予,不显示额外的权限对话框。在卡片上使用停用或启用。内置扩展不能独立于应用删除或更新。停用会保留数据和已连接的账户,该状态在应用更新后也会保留。
它们的账户设置位于设置 → 集成 → 内置集成。服务访问你的账户时,仍可能需要 API 令牌或登录。
- 打开 设置 → 扩展。
- 把下面任意一项粘贴到 文件夹、ZIP 或 URL 字段,然后选择 添加:
- 这台电脑上某个文件夹的绝对路径
- 一个
.zip文件的路径 - 指向 git 仓库或 zip 文件的 https 链接
- SSH Git 地址,例如
[email protected]:owner/extension.git
- 如果扩展请求权限,会有一个对话框列出这些权限。选择 允许并启用,或选择 移除 把它撤掉。
也可以把 .zip 拖到字段上,或者用旁边的压缩包按钮选择;压缩包会上传到 OpenChamber 服务器,所以远程实例也能用。在桌面版上,文件夹按钮会打开系统选择窗口,拖入的文件夹则按其路径安装。
扩展的图标会出现在侧栏上。如果没有出现,请看 故障排除。
从文件夹安装的扩展直接在该文件夹中运行,所以开发扩展的人可以边改边重新加载。zip 或 URL 会先复制到 OpenChamber 自己的数据文件夹;原始文件不会被改动。
私有仓库和 Git 身份
SSH 安装支持 [email protected]:owner/extension.git 和 ssh://[email protected]/owner/extension.git,可以添加 #branch-or-tag。在输入框旁的指纹菜单中选择全局身份或已保存的 Git 身份。更新检查和安装更新会沿用该选择,身份中的密钥变更会在下次操作时生效。
全局身份使用运行所选 OpenChamber 服务器的用户的 Git/SSH 配置和 SSH agent。对于远程实例,密钥必须在该服务器上可用。有密码的密钥需要先在服务器进程使用的 SSH agent 中解锁。HTTPS 使用 Git 的 HTTPS 凭据,不会自动切换为 SSH。Git 主机必须解析为公共地址;不支持本地 SSH 别名或私有网络目标。
扩展可以做什么
显示面板以及读取当前打开的项目和会话不需要权限。凡是代表你执行的操作都需要权限,整个列表你会在安装时看到一次:
- 在你的会话中发送消息:向模型撰写并发送提示,这会消耗令牌,也可能运行工具。
- 访问项目和会话:列出项目、工作树和会话状态,并在已添加的项目中创建和打开会话。不会读取对话内容。
- 读写项目文件:当前打开项目中的任何文件。
- 读写项目之外的文件:仅限对话框中列出的位置。
- 使用你的 Small Model:在你的会话之外进行一次性文本生成,使用 设置 → 会话 → Small Model 中的模型。消耗令牌。
- 连接外部服务:使用你在 设置 → 集成 中连接的账户。
- 读取会话的对话:仅在你对该会话运行扩展的操作时。
- 运行本地服务:一个拥有你全部用户权限的独立程序。只有信任作者时才允许。
当新版本请求的权限超出你已允许的范围时,卡片会显示 需要批准 和一个 查看权限 按钮。在你允许新列表之前,这个扩展保持关闭。
它会出现在哪里
除了侧栏上的面板,扩展还可以在你已经在用的菜单里添加项目:聊天消息上的操作、会话的菜单、聊天框旁的 + 菜单,以及像 /task ABC-12 这样不打开任何东西就附加内容的斜杠命令。它还可以让自己的工具在聊天里拥有像 OpenChamber 内置工具那样的正式图标、标题和输出布局。提供哪些由扩展决定;在你允许该扩展之前,它们全部处于关闭状态。
有些扩展不显示自己的面板,而是显示实时画面:智能体在服务器上正在操作的内容,例如浏览器或模拟器。点击画面或输入即可接管控制,状态栏会显示由你控制,在你按下交还给智能体之前,智能体的浏览器操作都会被拒绝。复制和粘贴照常可用。同时连接的其他设备可以看到由谁控制,但无法夺取控制权。这类扩展还可以在画面旁边添加自己的控件,例如上方的地址栏或侧边的工具栏。
连接它的账户
与某个服务通信的扩展会在 设置 → 集成 的 扩展账户 下获得一张卡片。根据服务不同,卡片会要求 API 令牌、用户名加令牌,或用于登录流程的 client id。选择 连接;断开 会忘记已保存的令牌。扩展声明的额外字段会在你离开时自动保存。
令牌保存在 OpenChamber 服务器上。扩展的页面永远看不到它。
更新
从 git URL 安装的扩展可以自行更新。打开 设置 → 扩展 时,每个扩展最多每小时检查一次;检查更新 会立即检查。有新版本的卡片会显示 有可用更新 和一个 更新 按钮。更新会保留你的权限、账户和设置;如果新版本要求更多权限,审批对话框会再次出现。文件夹和 zip 安装不会更新:请手动替换。
安装时在 git URL 后加上 #v1.2.0 或 #stable,即可跟随某个标签或分支,而不是默认分支。
暂停或移除
每张卡片都有一个 已启用 开关。关闭后扩展仍然保持安装,但面板会隐藏,调用会被阻止。移除 会把 zip 或 URL 安装从 OpenChamber 的数据文件夹中删除;对于文件夹安装,它只会忘记路径,你的文件夹会保留。
自己做一个
扩展能做的一切以及如何制作,请看 构建扩展。