手里攒了一串想让 agent 依次做的事,就只能一条条开会话、盯着它跑完、再点开下一条;人一走,队列就停在那儿。OpenChamber Queue 接的正是这件事:打开开关,你去睡觉,它还在接着往下走。
它是给 OpenChamber 做的一个按项目排队的扩展,每个项目一条独立队列,切项目就是切队列。装上以后侧栏多一个 Queue 面板,你只管往里塞任务,派发的事不用再管。真正省下来的不是几次点击,是那种「我还得在场」的感觉。
🔦 一行内容进队,剩下的不用管
任务只有一个字段:内容,也就是提示词;模型、agent、变体沿用项目自己的默认值,不用为了排队再配一遍。填完点「加入队列」,把顶部开关打开,之后每条任务都由它新建会话、发出内容。
比如睡前排这五条:修登录跳转、补单元测试、更新 README、升依赖、写变更记录。早上回来,五条各自躺在自己的会话里,你挨个看结果就行。
任务发出的那一刻就离开队列、计入「已完成」,这个计数说的是「发出去了」,不是「跑成了」。下一条什么时候发,看的是上一个会话还在不在跑,不是队列表(细节在下一节)。发送失败或会话中断才标成失败,那一行才会多出「重试」。
等不及的有两条快车道:「立即执行」不排队,直接用输入框里的内容开一个新会话;列表里每一行也有「执行」按钮,想先跑哪条点哪条。这是你手动点的,不受空闲规则限制。队列空了开关会自动关闭,下次加任务时再打开就是。
⏱ 一次只跑一个,中间还要空 10 秒
派发条件不是「队列不为空」,而是这个项目连续 10 秒没有任何会话在执行。这 10 秒是给项目留的冷却时间,期间只要你自己开了个会话,或者刚结束的会话又重试了一次,计时就从头再来,任务不会一个叠一个地压上去。这个数字目前固定,暂不可配置。
占用与否也算得很细。running、retrying、等授权都算占用,队列乖乖等着;智能体停在等你回话时不算,它没在干活,你不在的一个提问不该卡住整条队列;你手动开的会话真正在跑时,队列会让路,等你跑完;会话把命令丢到后台、界面看着像空闲,队列也会等这条命令结束才派下一个。自动调度的并发固定是 1。知道什么时候该按兵不动,比跑得快更值钱。
任务默认先进先出,想插队就用某一行的「置顶」。
🛌 关掉页面也照跑,半行字也丢不了
调度不在面板或窗口里。队列由 OpenChamber 启动的一个本地 Node 进程负责,它和产品自带的openchamberCLI 走同一条本机 API,去读会话状态、建会话、发提示词,所以面板关了、窗口关了,队列照样一条条往下派。面板只是这个服务的视图,所有状态只有一份,就存在服务读写的那个文件里,面板不另存副本;服务还没起来时显示「连接中」并自动重试,不会把你刚加的任务写到别处去。
睡前记得开过一次面板:OpenChamber 进程重启后,后台这个进程要被触发一次才会起来(打开面板、发一条/queue都行),之后就常驻了,忘了这一步整晚都不会派发。
队列状态存在~/.config/openchamber-queue/state.json,每个项目还各存一份输入草稿,刷新页面、重启、意外退出都会把打到一半的那行字还回来。
几个上手就能用的入口
- 三个入队入口:面板输入框是主入口;你或智能体发的任意一条消息,菜单里都有「加入队列」,能把那条消息变成任务;输入框里敲
/queue 内容也行。 - 队列停止时点任务卡片就地展开编辑,运行中会拒绝修改,免得改到一半被派发出去。
- 面板文案自带英文、简体中文、繁体中文,跟随 OpenChamber 的语言设置。
- 它已经在官方扩展列表里:openchamber.dev 的 Extensions 页收了 17 个扩展,OpenChamber Queue 是其中一个。
装上只要粘一条地址
打开设置 → 扩展,把下面这条粘进「文件夹、ZIP 或 URL」输入框,点「添加」,再在权限框里点允许并启用:
https://github.com/open-tecmz/openchamber-queue/releases/latest/download/openchamber-queue-latest.zip这条地址永远指向最新构建,不用翻 Releases 页;zip 安装不能在应用内更新,更新就是把新地址再粘一次(想在应用里点更新,改用 git 地址https://github.com/open-tecmz/openchamber-queue.git#release安装)。
权限框会列三项:sessions读项目与会话、prompt发送内容、service本地服务,以你的用户权限运行。本地服务是队列能常驻的原因,不批准它队列就不工作;调度代码和它调用的通道都写在仓库里,路径只有本机这一条,代码可审计。
项目本身:Apache-2.0 开源,要求 OpenChamber 2.0.0 及以上,Web 与桌面端都能装。
先说清三个限制:任务提交就算完成,跑没跑成要回会话里看;服务用的是产品自己的控制 API,属于内部契约,OpenChamber 升级时可能变动;VS Code 和移动端不加载扩展,队列也就不在那儿。
你把夜晚留给它,它把队列一条条跑完。下次手里积了一串想让 agent 依次做的事,你最想先丢进去的是哪一条?