Repository navigation
Releases: zuiho-kai/bothouse
Release list
bothouse v0.1.45
Highlights
- QQ group turns keep their context without turning it into commands. Paragraph bubbles are opt-in, the group-member allow list can be extended, original images are stored with bounded previews, and recent, quoted and forwarded messages are attributed to their senders; command, permission and stop routing still read the raw sender text. An optional judging model (off by default) can answer turns that are neither a clear command nor a clear mention: it supports a self-hosted OpenAI-compatible endpoint, a remote API whose credential comes from an environment variable, and a custom HTTP endpoint, and stays silent when the decision is unclear or the model fails (#752).
- Each channel keeps its own model and reasoning effort. Changing one channel's model no longer rewrites the shared agent or project defaults; the choice is persisted per execution session and handed to each adapter at startup, so two channels can run different models and efforts at the same time and keep them after the engine is rebuilt. Directory defaults remain the fallback (#840).
- Memory and guard hooks can be installed once for the whole machine. The setup wizard and
bothouse setup hooks --globalgain two optional items, both off by default: memory (relevant wiki pages on every message and end-of-session ingest for every Claude Code session) and guard (the Claude Code role guard in~/.claude/settings.jsonplus the long-task agent). Hooks the bot or project already installs are not duplicated, and turning the options off restores the previous file byte for byte after a backup (#850). - The progress prompt costs one line per turn. A turn only carries
[在做] <title>when a task is open, instead of the whole journal, member and artifact guide (about 1.3k tokens); the full guide moved tobothouse progress --help, and voice turns now register the run token sobothouse progressworks there too (#860, #861). - Claude Code sessions no longer report themselves as
sdk-cli. They use a bothouse entrypoint, avoiding the one Anthropic's issue tracker shows burning the five-hour window about 1.8–2.5× faster per token;BOTHOUSE_CLAUDE_ENTRYPOINToverrides it (#859). - Task acceptance and paused queues are closed up. A handback waits for acceptance and is chased on the ten-minute watch, falling back to the lead when nobody is assigned; the board shows the last real progress and marks an hour without progress as stuck; a paused task keeps its queue position and resumes there (#830). A late report is bound only to the task it names, so a reused workspace no longer applies it to the new task or resets its session (#831).
- Reinstalling no longer drops the delivery and handoff checks that came with the install. The bundled contrib sources now carry the requirement sheets, attachment checks and the sourced headquarters judgment used by handoffs (#858).
Fixes
ws-forwardis no longer mistaken for status polling. A one-minute forwarded prompt that mentioned "status", "receipt" or "quota" was rejected by the anti-spin guard, so the handoff file looked delivered while the workspace was never woken; forwarded jobs now carry a trusted one-shot marker and pass, for both normal and--interruptforwards (#838).- Timers queued after a restart no longer answer "message received". One-shot, cron and heartbeat turns that wait in the queue skip the receipt, and a paused task is no longer reminded twice in the same round by the paused-question pass and the roundup (#855, #856).
- A first-turn workspace report that the delivery check bounces is no longer lost. When no repair turn can follow, it is forwarded to the chat channel with a
系统核对line, and both the bounce and the refused authorization are logged (#849). intent_judgechecks the wiki before judging a start-authorization question. A question like "should I start" that matches a recorded "give me a plan first" decision is passed instead of blocked; no wiki or a search error keeps the old behaviour (#834).- DSH installs resolve their own packages. The web app,
wsandyamlare resolved from the running DSH and from collab's ownnode_modulesinstead of being borrowed from another install, an ordered patch array is applied in order, and a DSH that is missing its own web app fails with a clear error (#847).
Improvements
- A handoff that says
无(新建)must list what was surveyed for reuse — which existing capability was checked and why it does not fit (#841). - QQ outbound sends leave a structured receipt: pid, project, session, inbound and outbound message ids, action and a content summary, so a doubled send can be traced back to the turn that caused it (#843).
- Tests: the QQ blank/cancelled-send reproductions and the team wake-limit test follow the new behaviour (#820, #851).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS - DSH plugin:
npm i bothouse-dsh@0.1.45
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
- @Zssan12: #752, #820, #830, #831, #838, #840, #843, #847.
- @zuiho-kai: #834, #841, #849, #850, #851, #855, #856, #858, #859, #860, #861.
重点
- QQ 群里的上下文不再被当成命令。 气泡段落可开、群成员白名单可扩展,原图会保存并生成有上限的预览,最近消息、引用和转发都带上说话人;命令、权限和停止的判定仍然只读发送者原文。可选的判断模型(默认关)处理既不是明确命令、也不是明确 @ 的轮次:支持自建的 OpenAI 兼容接口、凭据放在环境变量里的远程接口和自定义 HTTP 接口;判不准或模型出错时保持安静(#752)。
- 每个频道有自己的模型和推理强度。 改一个频道的模型不再改写共享的 agent 和项目默认值;选择按执行会话保存,启动时作为固定快照交给各适配器,两个频道可以同时跑不同的模型和强度,引擎重建后也还在。目录里的旧默认值仍作兜底(#840)。
- 记忆和守门只装一次,全机可用。 安装向导和
bothouse setup hooks --global多了两个可选项,默认都关:记忆(每条消息附相关 wiki 页、会话结束自动整理,覆盖本机所有 Claude Code 会话)和守门(把 Claude Code 角色的守门 hook 装进~/.claude/settings.json,long-task agent 放进全局 agents)。bot 会话或项目里已装的同名 hook 不会重复;关闭时先备份,只删 bothouse 加的部分,全删光时逐字节还原原文件(#850)。 - 进度提示每轮只剩一行。 只有手上有活时才带
[在做] <标题>,不再每轮塞进整套进度日志、成员和产物说明(约 1.3k token);完整用法移到bothouse progress --help,语音轮也会登记 run token,语音会话里bothouse progress同样可用(#860、#861)。 - Claude Code 会话不再自报
sdk-cli。 改用 bothouse 入口,避开 Anthropic 议题里记录的、同样工作每 token 烧五小时窗口快约 1.8–2.5 倍的那条路径;可用BOTHOUSE_CLAUDE_ENTRYPOINT覆盖(#859)。 - 任务验收和暂停队列收口。 交回后进入待验收,沿十分钟看门周期催验收,没配验收人就转主角色;任务板按最后一次真实进展显示,一小时没进展标为卡住;暂停的活保留队位,恢复和答复续办都按原队列接上(#830)。迟到的报告只绑它明确写的任务,复用工作区不再把旧报告安到新任务头上,也不会重置新任务的会话(#831)。
- 重装不再丢掉随包安装的交付和交接检查。 随包发布的 contrib 源码补回了需求单、附件检查和交接必须引用总部判断的那套规则(#858)。
修复
ws-forward不再被当成状态轮询。 一分钟的转交提示里只要带「状态」「回执」「额度」这类词,就会被 anti-spin 拒收,交接文件看着已转、工作区其实没被叫醒;现在转交任务带一个受信的一次性标记直接放行,普通转交和--interrupt紧急转交都覆盖(#838)。- 重启后排队中的定时轮不再回「消息已收到」。 一次性、周期和心跳轮次在队列里等待时都不发排队回执;同一件暂停的活也不会在同一轮被 paused-question 和整点汇总各提醒一次(#855、#856)。
- 首轮被交付核对退回的工作区报告不再丢。 没有可重交的回合时,照常转到聊天频道并附一行「系统核对:…」,退回和授权拒发都补了日志(#849)。
intent_judge判开工授权题前先查 wiki。 「要不要开工」这类问题命中用户定过的「先给方案」时直接放行,不再误拦;没有 wiki 或搜索出错时保持原来的行为(#834)。- DSH 安装只解析自己那份包。 web 应用、
ws和yaml从正在运行的 DSH 和 collab 自己的node_modules解析,不再借用别的安装;补丁数组按上游顺序依次应用;DSH 缺自己的 web 应用时直接报清楚的错(#847)。
改进
- 交接写
无(新建)时必须附「复用盘点」, 写清查过哪些现成能力、为什么不能用(#841)。 - QQ 出站留下结构化回执: pid、项目、会话、入站和出站 message_id、动作和内容摘要,重复发送能追回到触发它的那一轮(#843)。
- 测试: QQ 空白/取消发送的复现和团队唤醒上限测试跟上了新行为(#820、#851)。
安装
- macOS(Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS - DSH 插件:
npm i bothouse-dsh@0.1.45
已经是 v0.1.6 或更新?点左下角的 更新到 vX 按钮。v0.1.5 或更早的,下载安装这一版一次。旧版更新器超时的话,手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次 右键 → 打开。Windows:SmartScreen 提示时点 更多信息 → 仍要运行。
致谢
bothouse v0.1.44
Highlights
- Platforms are modules you choose at setup. One install still ships everything; the wizard now asks where you want to use bothouse first, QQ is a first-class choice with its own page, and the sidebar can add a platform to an existing setup and marks what is already configured (#813, #814, #815, #817).
bothouse module list | add | disable <platform>does the same from the command line, backing up the config first and preserving unknown keys. A platform markeddisabled = trueis not created, not connected and not probed, and a role whose platforms are all disabled does not start. - QQ buttons can be limited to your own number. The new
command_allow_fromoption decides who may send/-commands: everyone else in the group still chats normally, and unknown commands are dropped before they reach the engine. It judges by QQ number, not nickname, and leaving it unset keeps the previous behaviour (#827). - A workspace task stuck on a request that never returns is rescued once. The ten-minute watch stops the hung turns, posts a notice in the chat the task came from, and wakes the role to continue in the same session; only the next no-progress check parks it, and parking is announced too (#825). The hourly task-board stale check no longer pauses a workspace that is actually working: it reads the bridge's event stream first and renews the entry when the bound session moved in the last hour (#826).
- Handbacks wait for acceptance. A final workspace report now keeps its task open as "waiting for acceptance" and pings whoever dispatched it; only acceptance closes it, and after an hour the board says "nobody accepted · waiting for the dispatcher" and falls back to the lead if that person is away (#800).
- Cooldowns are scoped to the account, not the role. A model that ran out no longer blocks a role after it switches to an independent account or quota pool, changing the model releases the full-load cooldown immediately, and one notice is posted per channel instead of one per dropped message (#824, #821). An expired cooldown is re-probed silently in the background, with exponential backoff and no spin polling, without waking the model or spending tokens (#759).
- Cost numbers come back. The usage page showed
—with an un-priced marker for roles whose model was logged with a provider prefix or a variant suffix; pricing is now matched for those names too (#754). - New on the web pages: the roles page tells busy, idle, paused and offline apart with distinct colours (#765); the usage page has a Raw / M / B unit switch and a custom date range (#758); and a project with no usable providers now says why instead of contradicting the "all global providers already linked" message (#799).
Fixes
- QQ: sender names and bot identity survive group messages (#734); oversized attachments are rejected instead of truncated (#736); failed HTTP media downloads and failed file uploads report the real status instead of success (#742, #744); received voice is decoded through
get_recordand replies can be sent as voice (#647). - Relay: a relay that dies after its turn ended wakes the lead (#745); dispatch is refused when a prepaid relay cannot pay one turn and warns on low balance (#746); a task can be dispatched from a chat channel into its own workspace, and the running process knows which workspace it is in (#485); main's dispatch protections are synced into develop (#761); the v0.1.43 release is merged back into develop with the queue-batching test updates (#741).
- Usage: cost is priced when the logged model name carries a provider prefix or variant suffix (#754), and Codex usage is imported from every role's
codex_homeinstead of only the default one (#796). - Gate:
sync_gate.shnow ships every local modulegate.pyimports, so a freshly synced remote gate starts instead of silently falling back to local rules, and the switcher answers/contextlocally from the wiki (#16, #591). - Hooks: a hook that exits early reports its exit status instead of a stdin pipe error (#798);
doc-okaccepts Codex session IDs (#508); local hook hotfixes that only lived on one install are ported into the product (#782); the restart-ok opt-out is dropped from the bridge-kill rule (#783). - Wiki search: a page file that starts with a UTF-8 BOM keeps its description in search results, and the gate's context service tests run on Python 3.9 as well (#794, thanks @ChillAndHumble for the original fix in #223).
- Claude Code: the trust dialog is answered even when its rendering carries stray characters, so a probe timeout no longer extends a usage cooldown indefinitely (#810).
- Windows desktop helper: the generated icon is true colour with the "b" inside its frame again (#793).
- Restart:
safe-restartrefuses to restart when the signed.appfails its bundle-seal verification, which used to silently drop the macOS permissions the app was granted (#772). - Team: a delivered handback is not lost if the chat never shows it, and a posted ask wakes the lead even when the timer write failed first (#625); a question the user already answered is not asked again (#773); a reused workspace no longer applies the previous task's paused or closed state to a new task (#818, #823); product names and links are allowed in handoff summaries (#775).
- Workspaces: stopped assignments stay stopped across a restart resume (#790); a watch whose title was cut with an ellipsis is matched again (#791); idle-watch resumes stop after two consecutive agent errors (#787); accepts that are still waiting for an answer and handoffs that were not accepted are kept on the board (#763); a stuck workspace handoff is reconciled on startup and a task that stalls after making progress is detected (#768); the ten-minute watch renews while the workspace is still active, resolves the owner correctly, and warns once before pausing (#519); tests no longer write into the live data directory (#792).
- Other: a project can turn team-rules injection off with
inject_team_rules = false(#627); the no-model setup can answer only when named, without the lead butting into other people's conversations (#474); ACP voice sessions stay resident and report segment timings (#607).
Improvements
- Lead handoffs carry more context and check more: prior user decisions ride along and direction is checked on every watch window (#771); a handoff that names a reference must map the copy against it (#769); image handoffs require reference images and their reports a side-by-side image (#770); channel feedback is attributed in the recall (#780); Claude-Code-only scope is rejected (#784). A
[report]that skips an item in the handoff scope is bounced (#777). - Workspace wake-ups get recall context and a code map (#789), and the same workflow guards and code maps install across every supported CLI (#785, #779), including a long-task subagent type and a 290-second subagent wait cap (#779).
- Hooks: the fix-claim guard blocks denying an own feature without looking it up (#776); a time estimate or a timer over fifteen minutes needs a measured basis (#786); delayed prompts re-read what the user changed since scheduling (#778).
- Task board rows are easier to scan: pinned rows show name, workspace and age (#766);
bothouse report file-frequencyranks the most-read files and suggests which belong inSTANDING.mdand which should be split (#584). - External task events: a repeated report of the same change is folded into the existing task, with a durable cursor and a consumption receipt, instead of spawning a new session (#809); task text delivery and uncertain receipts are persisted (#807).
- Authorization: optional, default-off proactive policies record decisions and enforce durable source, identity and scope boundaries across admission, queueing, recovery, permissions and output (#808).
- Collab: each chat channel can set its own relay cap from 6 to 20 in channel settings, stored per channel and applied immediately (#801).
- Tools: the Windows desktop helper can embed bothouse's icon, let you pick a custom one and choose where its shortcut goes (#720); optional watchvid site adapters and a configurable news digest are both off by default (#806).
- Docs: the README is rebuilt in Chinese and English with an architecture diagram (#764, #767), and Codex bot/desktop session isolation is documented (#279).
- CI and build:
bothouse-dshis published to npm through trusted publishing (OIDC), the dsh-plugin branch still updates when the npm step fails, and the publish log is verbose enough to show the token exchange (#748, #755, #756). A committedweb/dist/.keeplets a fresh worktree build without theno_webtag (#788). Main is merged back into develop with the drift check and README work (#781).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS - DSH plugin:
npm i bothouse-dsh@0.1.44
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
- @Ray0766: #734, #736, #742, #744.
- @NethielChou: #720.
- @ChillAndHumble: the original BOM fix that #794 carries over (#223).
- @Zssan12: #16, #279, #474, #485, #508, #519, #584, #591, #607, #625, #627, #647, #754, #758, #759, #763, #765, #766, #768, #796, #798, #799, #800, #801, #806, #807, #808, #809, #810, #813, #814, #815, #817, #818, #821, #823, #824, #827.
- @zuiho-kai: #741, #745, #746, #748, #755, #756, #764, #767,...
bothouse v0.1.43
Highlights
- A burst sent while the agent is busy runs as one turn. Plain messages from the same person in the same chat that queued behind a running turn are folded together, oldest first with their send times, answered once, and the reply goes under the last one. Bot, scheduled and resumed messages still run on their own (#733).
- Truncated handbacks keep the full text. When a workspace report or delegation result over 2000 characters is cut for the wake prompt, the full text is saved first and the cut point says how long the original was and where to read it (#733).
- QQ Bot group @ mentions, within QQ API limits (#730, #732), and QQ CQ-string attachments and quoted replies are no longer dropped (#728, #729).
- Images in the DSH client can be shown, copied, downloaded and previewed (#697).
Fixes
- Tray reads management stats correctly and marks unknown usage as unknown instead of zero (#715).
- ws-forward refuses tasks already handed back (#709); a forward that changes direction must use
--interrupt(#719). - Task-thread progress card lists recent steps in full (#714).
- CI on develop back to green (#707), and tests updated for queued-burst batching.
Improvements
- Windows desktop windows for the bothouse web UI (#717).
- Subagent delegation policy is off by default; opt in with
inject_subagent_policy = true(#718). - choice-ask-guard: a choice question to the user must carry the agent's own answer (#721); decide-or-ask is judged by a small model with a product intent card (#725). (#722 was reverted in #724.)
- The operator's live helper scripts ship with the package (#727).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS - DSH plugin:
npm i bothouse-dsh@0.1.43
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
- @Ray0766: #729, #732.
- @NethielChou: #717.
- @Zssan12: #715.
- @HarunaRyo-051: #697.
- @zuiho-kai: #707–#733.
重点
- 你忙时连发的几条,合成一轮处理。 同一个人在同一个聊天里、排在当前这轮后面的普通消息,按时间顺序合在一起,带上发送时间,只回一次,回复挂在最后一条下面。机器人、定时任务和续跑的消息照旧各自单独处理(#733)。
- 截断的交回能找到全文。 工作区汇报或派工结果超过两千字被截断时,先把全文存下来,截断处写明原文多长、到哪里读全文(#733)。
- QQ 机器人支持群里 @(按 QQ 接口的限制,#730、#732);QQ CQ 文字串里的附件和引用回复不再丢(#728、#729)。
- DSH 客户端里的图片可以显示、复制、下载和预览(#697)。
修复
- **托盘正确读取管理接口统计,**读不到的用量标明未知,不再显示为零(#715)。
- ws-forward 不再转给已交回的活(#709);改方向的转话必须带
--interrupt(#719)。 - 任务子话题的进度卡完整列出最近几步(#714)。
- develop 上的检查恢复全绿(#707),并按连发合批更新了测试。
改进
- Windows 桌面窗口打开 bothouse 网页界面(#717)。
- **子 agent 授权规矩默认关,**要用时设
inject_subagent_policy = true(#718)。 - **choice-ask-guard:**问用户做选择时必须带上自己的答案(#721);该自己定还是问用户,由小模型结合产品意图卡判断(#725)。(#722 已在 #724 撤回。)
- 运营者在用的辅助脚本随包发布(#727)。
安装
- macOS(Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS - DSH 插件:
npm i bothouse-dsh@0.1.43
已经是 v0.1.6 或更新?点左下角的 更新到 vX 按钮。v0.1.5 或更早的,下载安装这一版一次。旧版更新器超时的话,手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次 右键 → 打开。Windows:SmartScreen 提示时点 更多信息 → 仍要运行。
致谢
bothouse v0.1.42
Highlights
- Pinned task table you can read at a glance. Each chat channel keeps one pinned table with three groups — 等你看 (waiting for you), 在做 (running), 搁置 (parked) — short task names, what each one is doing, and a link into the task's thread. It is edited in place whenever the task board changes, and kept (not deleted) when empty (#700).
- Every task has its own thread. The task thread shows the whole course of a task; the workspace progress card lives there, one card per task, following the card opened in the conversation (#696, #698, #701).
- Handbacks in plain words. A workspace handback posts four labelled parts — 【背景】【做了什么】【要你做的】【我加的】 — with a blank line between them and no details in the channel. A reply missing a part, or naming board/PR numbers, workspaces or branches, or holding a table, goes back to be rewritten (#690, #696, #699, #702).
- Replies about running work reach its workspace. Replying in a chat channel to a message about work still running in a workspace passes it straight to that workspace and interrupts its turn; the ask-only guard now stops only edits, never dispatching, forwarding, board, timers or sends (#690).
Fixes
- The gate judges busy interjections by intent (unrelated / addition / waiting for a reply / stop) instead of a stop-word list, and aborts a turn that cannot take mid-turn input (#691).
- An abort or redirect is answered first, before whatever had queued behind the running turn, for both the gate service and the built-in busy rules (#692, #694).
- DSH accepts mid-turn messages on a stock install:
dsh/install.shapplies the steer patch to dsh-acp (#692).
Improvements
- Team rules are sent once per context on every backend, resent only after a compaction is detected; Grok/ACP uses the context size it reports, read from Grok's
_x.ai/session_notificationturn usage over stdio (#693, #703, #705). - One copy of the workspace exit rules shared by the bridge and DSH (#689); test update (#695).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
重点
- 置顶任务表一眼看清。 每个聊天频道只留一张置顶表,分「等你看」「在做」「搁置」三组,每行写短名和正在干什么,点进去就是这件活的子话题。任务板一变就原地改,空了也保留(#700)。
- 每件活一个子话题。 子话题里能看到这件活从头到尾的经过,工作区进度卡也放在这里,一件一张,跟着会话里开的那张卡走(#696、#698、#701)。
- 交回用人话。 工作区交回在频道里贴四段:【背景】【做了什么】【要你做的】【我加的】,段间空一行,细节不进频道。缺段、写了任务板/PR 编号、工作区或分支名、或带表格的,打回重写(#690、#696、#699、#702)。
- 回复在跑的活,直接转给它的工作区。 在聊天频道回复一条在跑的活的消息,会马上转给那个工作区并打断当前这轮;只问不做的守卫只拦自己改东西,不拦派活、转话、任务板、定时和发送(#690)。
修复
- 看门按意图判断插话(无关 / 补充 / 等回复 / 叫停),不再靠叫停词;当前这轮接不了插话时直接打断(#691)。
- 叫停或改派先回答, 不再排在当前这轮后面积压的消息之后;看门服务和内置规则都一样(#692、#694)。
- DSH 默认安装也能接中途插话:
dsh/install.sh给 dsh-acp 打上 steer 补丁(#692)。
改进
- 团队规矩每个上下文只发一次, 所有后端都一样,检测到压缩后再发;Grok/ACP 按它报的上下文大小判断,从 stdio 上的
_x.ai/session_notification读每轮用量(#693、#703、#705)。 - 工作区交回规矩桥和 DSH 共用一份(#689);测试更新(#695)。
安装
- macOS(Apple 芯片 + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS
已经是 v0.1.6 或更新?点左下角的更新到 vX。v0.1.5 及更早的版本先下载安装一次这一版。老版本更新超时,就手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次右键 → 打开。Windows:SmartScreen 拦截时点更多信息 → 仍要运行。
致谢
bothouse v0.1.41
Highlights
/modelshows the model a channel is actually using. For Codex roles,/model, the model card andbothouse model list --jsonused to show the configured default instead of the channel's real model. They now read the current session's model. When a Codex sandbox cannot reach the bridge,bothouse model list/info/statusfalls back to the current thread's own metadata (markedsource: local_session); switching still requires the bridge. Subcommands no longer open the daemon log, so a read-only sandbox can run them (#669).- A workspace
[ask] #Npauses task #N. On DSH, an[ask]that named its task only in the first line paused whichever task was listed first in that workspace instead. It now pauses the task the first line names (#676). - The task board counts every task it cuts. When the "running N" summary line did not fit, the overflow note said "0 more"; it now counts those N tasks (#676).
- A stopped task's report no longer swallows another task's. The bridge now decides whether a workspace report belongs to a stopped task by the task number on its first line, not by the task the workspace took last (#687).
- The gate no longer replies to everyone when it cannot judge who was addressed (#686).
bothouse-dshis published to npm with each release (#684).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
重点
/model显示频道实际在用的型号。 Codex 角色的/model、型号卡片和bothouse model list --json以前显示的是配置里的默认值,不是这个频道真正在用的型号;现在读当前会话的型号。Codex 沙箱连不上桥时,bothouse model list/info/status改读当前线程自己的记录(标source: local_session),切换型号仍要连上桥。子命令不再打开后台日志,只读沙箱里也能跑(#669)。- 工作区
[ask] #N暂停的就是 #N。 DSH 上,只在第一行写了编号的[ask],以前会暂停工作区里排最前的那件;现在按第一行的编号暂停(#676)。 - 任务板放不下时计数正确。 「在做 N」那一行放不下时,提示以前写「还有 0 件」;现在把这 N 件算进去(#676)。
- 叫停的活不再吞掉别的活的回报。 桥判断工作区回报是不是属于已叫停的活,改按第一行的任务编号,不再看工作区最近接的那件(#687)。
- 判断不出在叫谁时,不再所有角色一起回(#686)。
- 每次发版同时把
bothouse-dsh发到 npm(#684)。
安装
- macOS(Apple 芯片 + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS
已经是 v0.1.6 或更新?点左下角的更新到 vX。v0.1.5 及更早的版本先下载安装一次这一版。老版本更新超时,就手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次右键 → 打开。Windows:SmartScreen 拦截时点更多信息 → 仍要运行。
致谢
bothouse v0.1.40
Highlights
- A blocked reply is no longer cut to its last line. When a Stop hook blocked the end of a turn and the model then wrote only a short addendum, the channel used to get that addendum alone. Claude Code roles now send the reply written before the block followed by the addendum, and the bundled hook runner asks the model to rewrite its full reply after a block (#682).
- Grok roles get
ask-only-guardtoo.setup hooks --cli grokinstalls it, so a Grok role that is only asked a question answers instead of dispatching or editing files (#681).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
- @zuiho-kai: all changes in this release.
重点
- 回复被拦后不再只剩最后一句。 一轮结束时被 Stop 钩子拦下,模型接着只补了一句,以前频道里就只收到这一句。现在 Claude Code 角色会把被拦前写的回复和补的那句一起发出;随包的钩子入口也会在拦下时要求模型把完整回复从头重写一遍(#682)。
- Grok 角色也装上
ask-only-guard。setup hooks --cli grok会装好它:只是问 Grok 角色问题时,它先回答,不派活、不改文件(#681)。
安装
- macOS(Apple 芯片 + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS
已经是 v0.1.6 或更新?点左下角的更新到 vX。v0.1.5 及更早的版本先下载安装一次这一版。老版本更新超时,就手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次右键 → 打开。Windows:SmartScreen 拦截时点更多信息 → 仍要运行。
致谢
- @zuiho-kai:本版全部改动。
bothouse v0.1.39
Highlights
- Reply to a task, and the agent knows which task you mean. Reply to a task card or a workspace report in Discord, Feishu, the web client or DSH, and the turn now starts with that task's background: number and title, overall goal, related changes, the original request and the latest report. The quoted message is kept in full instead of being cut to 80 characters (#671, #675).
- Questions get answers, not dispatches. A new
ask-only-guardhook stops the agent from handing off, forwarding, scheduling or editing files when your latest message only asks a question, so it answers first and asks before acting. Installed for Claude Code, DSH, Codex and agy (#666, #678). - Long sessions start fresh without losing open work. When a chat channel's context grows too large, the next message starts a fresh session whose handoff lists the channel's unfinished tasks (goal and where each one stopped). Workspaces and projects with
auto_compressare left alone (#670). - Better handoffs to workspaces. A handoff must now state the overall goal, related changes (with an explicit conflict line), scope (what to change and what not to) and what was already checked. One rules file drives both
ws-handoffand DSH collab. Team rules are sent once per context instead of every turn, which keeps the lead's context small (#672, #673, #679).
Fixes
- A workspace report is no longer dropped when the workspace marked its board item done before reporting (#667).
- CI is green again: stale test expectations updated, a hanging core shard fixed, plus two real fixes — cross-workspace dispatch no longer counts the target workspace's own claim as busy, and lead scripts work on macOS bash 3.2 (#674).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
- @zuiho-kai: all changes in this release.
重点
- 回复任务,agent 就知道你说的是哪件活。 在 Discord、飞书、自建网页或 DSH 里回复任务卡或工作区交回,这一轮会先带上那件活的背景:编号与标题、总目标、相关改动、需求原文和最近一次汇报。被引用的消息保留全文,不再只剩前 80 字(#671、#675)。
- 只是提问,就先回答,不派活。 新增
ask-only-guard钩子:你最新一条消息只是在问,agent 就不能交接、转发、挂定时或改文件,先回答,要动手先问你。Claude Code、DSH、Codex、agy 都装上了(#666、#678)。 - 长会话自动换新,没做完的活不丢。 聊天频道上下文太大时,下一条消息换新会话,交接里列出本频道没做完的活(总目标和停在哪)。工作区和开了
auto_compress的项目不受影响(#670)。 - 交给工作区的交接更完整。 交接必须写总目标、相关改动(带明确的冲突行)、范围(改什么、不改什么)和已查过什么。
ws-handoff和 DSH 协作共用同一份规则文件。团队规矩每个上下文只发一次,不再每轮都发,主角色上下文更省(#672、#673、#679)。
缺陷修复
- 工作区交回不再被吞。 工作区先把任务板条目标成完成、再交回时,交回照样贴出(#667)。
- CI 恢复全绿: 更新过时的测试期望,修好卡死的 core 分片;另修两处真 bug:跨工作区派活不再把目标工作区自己的认领算成忙,主角色脚本在 macOS 自带 bash 3.2 上不再报错(#674)。
安装
- macOS(Apple 芯片 + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS
已经是 v0.1.6 或更新?点左下角的更新到 vX。v0.1.5 及更早的版本先下载安装一次这一版。老版本更新超时,就手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次右键 → 打开。Windows:SmartScreen 拦截时点更多信息 → 仍要运行。
致谢
- @zuiho-kai:本版全部改动。
bothouse v0.1.38
Highlights
- A workspace handoff comes with its own safety timer. When the lead hands a big task to a workspace, a one-shot timer starts in the chat channel (30 minutes by default). If the workspace has not handed back by then, the lead checks the task board and tells you where the work is stuck. The timer goes away by itself when the task is reported, paused, asked back or reassigned (#635).
- One bot, several servers, no double replies. The new Discord option
allow_guildslimits a bot to the servers you list (adddmto keep DMs). Run the same bot token in two projects or on two machines, each with its own list, and every server keeps its own sessions, work folders and memory (#634). - Channel settings in tabs. The channel settings dialog is now split into Basic, Dispatch and Workspace tabs. Each tab saves on its own, unsaved edits survive switching tabs, and you are asked before closing with unsaved changes — thanks @HarunaRyo-051 (#637).
Fixes
- Workspaces no longer get stuck forever. A task whose owner was removed is closed automatically (tasks you paused yourself are never touched), and a reclaimed workspace with no task behind it goes back to the pool — thanks @HarunaRyo-051 (#614).
- A workspace report posts once, in full. The chat channel shows the report's headline followed by its full text, also when the report has no headline; each report posts only once, and a report for a task that is already closed is not posted again (#631, #632, #633).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
- @HarunaRyo-051: the tabbed channel settings dialog (#637), and fixing workspaces that stayed stuck after their owner was removed (#614). Thank you!
- @zuiho-kai: all other changes in this release.
重点
- 交给工作区的活自带兜底定时器。 主角色把大活交给工作区时,会在聊天频道挂一个一次性定时器(默认 30 分钟)。到点还没交回,主角色会查任务板,告诉你活卡在哪里。活交回、暂停、转回提问或换人时,定时器自动撤掉(#635)。
- 一个 bot 进多个服务器,不再重复回复。 Discord 新增
allow_guilds选项,只让 bot 服务列出的服务器(加上dm保留私聊)。同一个 bot token 可以在两个项目或两台机器上跑,各配各的列表,每个服务器的会话、工作目录和记忆互不干扰(#634)。 - 频道设置分标签页。 频道设置弹窗拆成「基本」「派活」「工作区」三个标签页,每页单独保存;切换标签页时没保存的改动还在,有未保存改动关闭前会先问你。感谢 @HarunaRyo-051(#637)。
缺陷修复
- 工作区不再永久卡死。 负责人已被移除的活会自动收口(你自己暂停的活不受影响);重新认领但后面没有活的工作区会放回池子。感谢 @HarunaRyo-051(#614)。
- 工作区交回只贴一次,而且贴全文。 聊天频道先贴交回的标题,再贴全文,没写标题的交回也贴全文;每条交回只贴一次,已经收口的活不再重复贴(#631、#632、#633)。
安装
- macOS(Apple 芯片 + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS
已经是 v0.1.6 或更新?点左下角的更新到 vX。v0.1.5 及更早的版本先下载安装一次这一版。老版本更新超时,就手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次右键 → 打开。Windows:SmartScreen 拦截时点更多信息 → 仍要运行。
致谢
- @HarunaRyo-051:频道设置标签页(#637),以及修好负责人被移除后工作区一直卡住的问题(#614)。谢谢!
- @zuiho-kai:本版其余改动。
bothouse v0.1.37
Highlights
- Replies to finished work go back where they belong. When you reply in a workspace to a message from a task that has already been handed back, it no longer slips into whatever the workspace is doing now. It goes to that task's chat channel, where the lead picks it up and carries the task on; the workspace tells you where it went (#628).
- The lead waits for you to finish talking. Wake-ups that did not come from you (workspace handbacks, timers) hold until the chat goes quiet, and a handback posted in your chat shows only its first line (#623).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
- @zuiho-kai: all changes in this release.
重点
- 回复已交回的活,会回到它该去的地方。 在工作区回复一件已经交回的活,消息不再插进工作区正在做的活,而是转回那件活的聊天频道,由主角色接着做;工作区里会告诉你转去了哪里(#628)。
- 主角色等你说完再开口。 不是你发起的叫醒(工作区交回、定时任务)会等聊天频道安静下来再处理,贴进聊天频道的交回只显示第一行(#623)。
安装
- macOS(Apple 芯片 + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS
已经是 v0.1.6 或更新?点左下角的更新到 vX。v0.1.5 及更早的版本先下载安装一次这一版。老版本更新超时,就手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次右键 → 打开。Windows:SmartScreen 拦截时点更多信息 → 仍要运行。
致谢
- @zuiho-kai:本版全部改动。
bothouse v0.1.36
Highlights
- Tests stay out of your chat. Work titled as a test (「测试:」「验收探针:」「【自检】」「probe:」) still closes or waits as usual, but its report and question stay in the workspace and the log, and it does not show on your chat's task board (#620).
- Self-checks are quiet when all is well. Timer and cron jobs that self-check or look back post no start notice; a command check posts only when it fails, and an agent check stays silent when there is nothing you need to know. Jobs titled as a test post nothing (#620).
- Test runs cannot reach live channels. A run in a temporary home that still points at the live data folder, carries a live bot token, or carries the live channel settings stops before it does anything (#620).
Install
- macOS (Apple Silicon + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD) /bothouse-linux-arm64(ARM);chmod +x, then run. - Checksums:
SHA256SUMS
Already on v0.1.6 or later? Use the Update to vX button in the bottom-left corner. From v0.1.5 or earlier, download and install this release once. If an older updater times out, download and install this release manually.
macOS: drag Bothouse.app into Applications and right-click → Open the first time. Windows: if SmartScreen warns, click More info → Run anyway.
Thanks
- @zuiho-kai: all changes in this release.
重点
- 测试不再进你的聊天频道。 标题标成测试的活(「测试:」「验收探针:」「【自检】」「probe:」)照常收尾或等答复,但交回和提问只留在工作区和日志里,也不出现在你频道的任务板上(#620)。
- 自检一切正常就不出声。 自检、回看类的定时任务不再发开始提示;命令类的只在失败时才发,让助手做的检查没有你要知道的事就不回话。标题标成测试的定时任务什么都不发(#620)。
- 测试环境碰不到真频道。 在临时目录里跑的测试,只要还指着线上数据目录、带着线上 bot 令牌或线上频道设置,开跑前就直接停下(#620)。
安装
- macOS(Apple 芯片 + Intel):
bothouse-mac.dmg - Windows:
bothouse-windows.exe - Linux:
bothouse-linux-x64(Intel/AMD)/bothouse-linux-arm64(ARM);chmod +x后运行。 - 校验:
SHA256SUMS
已经是 v0.1.6 或更新?点左下角的更新到 vX。v0.1.5 及更早的版本先下载安装一次这一版。老版本更新超时,就手动下载安装这一版。
macOS:把 Bothouse.app 拖进「应用程序」,第一次右键 → 打开。Windows:SmartScreen 拦截时点更多信息 → 仍要运行。
致谢
- @zuiho-kai:本版全部改动。