Skip to content

Claude Code Haha v0.7.7

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Nov 15:21
fbebbde

Claude Code Haha v0.7.7

本次让手机 App 在后台也能收到提醒,不再需要自建推送服务器,手机和平板的浏览器也能直接打开手机 App 同一套界面;桌面端新增输入建议、任务完成后的系统操作、会话归档、MCP 共享到多个项目,语音输入可选本地模型并支持 AI 纠错和个人词库,Windows 和 Linux 的 Computer Use 改用原生运行组件。同时修复 Agent Teams 成员上下文溢出卡死、中转站上下文超限无法恢复、升级安装和本地索引重建时的启动失败等一批问题。安装包改用更直观的文件名,Windows 安装包默认未签名。

核心功能

  • 手机 App 后台提醒(#1780):离开 App 后的审批、完成和出错提醒不再依赖发布者的推送密钥,也不需要自建服务器。iPhone 由 Expo 推送服务转发系统通知,电脑需要能访问 exp.host;Android 由通知栏里常驻的「正在值守」向电脑拉取,不依赖 Google 服务,部分国产手机需要在 App 的「设置 → 通知」里允许后台运行。手机设置里会显示后台连接和电池优化状态。
  • 手机和平板浏览器直接用手机 App 界面(#1749,#1757):手机和平板浏览器打开电脑的 H5 地址后,进入的就是 cc-haha 手机 App 的同一套界面,只连接打开它的这台电脑;没有推送通知和锁屏活动,不能添加或切换其他电脑。同时修复 iOS 26 Safari 键盘弹出后输入框被顶出屏幕、拼音输入变成乱码的问题。
  • 手机 App 0.1.3(#1785,#1764,#1770,#1795,#1808):可以填写明确的 http:// 服务器地址(不加密,仅限可信网络);Android 扫码失败时可以选相册里的二维码照片配对;AskUserQuestion 的选项说明可以展开;超长消息和重复进入首页不再导致 Android 内存溢出或崩溃;本地存储临时读取失败后,已配对的电脑会自动恢复,不用重新配对。
  • 输入建议(#1779):回复结束后,输入框里会以灰色文字显示预测的下一句,按 Tab 或右方向键填入,Esc 忽略,不会自动发送。默认关闭,在 设置 → 通用 中开启时会先确认:每轮对话会多一次模型请求,复用对话缓存,但仍会计费。只有桌面端输入框打开时才生成,IM 和手机端不受影响。
  • 任务完成后的系统操作(#1766,#1787):在 设置 → 通用 中可以选择所有任务、排队工作和待确认都结束后执行锁屏、睡眠、休眠或关机,可限定为仅定时任务,并设置倒计时;键盘鼠标活动或新任务开始会取消本次操作。默认不执行。
  • 会话归档(#1760,#1774):会话可以归档并随时恢复,原始历史和打开的标签都会保留,归档的会话不会被自动清理删除。项目菜单里可以按项目浏览已归档会话,归档后可撤销,批量模式也能一次归档多个。正在运行或等待输入的会话需要结束后才能归档。
  • MCP 共享到多个项目(#1769):在 MCP 设置里可以多选目标项目,把同一个 MCP 配置共享出去,保存后才会生效;取消勾选只会移除该项目 .mcp.json 里的这一项。
  • 项目辅助目录(#1791):每个项目可以添加辅助目录,新任务可以读取和编辑这些目录,主目录仍是默认工作目录。修改只对新建任务生效。
  • 语音输入(#1771,#1825,#1827):本地识别模型除 SenseVoice 外新增 Fun-ASR-Nano 和 Qwen3-ASR 0.6B,可分别下载、删除和切换。新增 AI 纠错(默认关闭):识别后只把文字发给你选的模型,修正被听错的产品名、命令和代码标识符,每处改动可以单独还原,3 秒内没有结果就直接用原文。新增个人词库,支持手动添加、批量粘贴,也可以从本机 Claude Code 和 Codex 最近 14 天的对话历史里生成(只把词和次数发给模型)。修复历史词库分析在思考模式下失败,以及读不到 Codex 桌面版和 CLI 对话的问题。
  • Computer Use(#1789,#1759,#1832):Windows 和 Linux 改用随安装包提供的原生运行组件,不再需要安装 Python 或创建虚拟环境,Linux 也可以使用;后台操作的范围见 Computer Use 文档。macOS 上读取和操作目标应用时不再把它拉到前台,对话回到 cc-haha 全屏后目标也不会被反复激活。Windows 上修复虚拟光标显示、WinForms 控件的后台操作,并在明确要求使用 Computer Use 时直接走原生工具。
  • Agent 与成员可固定供应商和思考强度(#1755,#1824):自定义 Agent 和团队成员可以指定一个已保存的供应商和思考强度,只影响这个 Agent,会话和其他 Agent 沿用原来的供应商;团队方案审阅里可以逐个成员调整,未设置时显示「默认」。子 Agent 运行页在流式输出时就显示模型和思考强度(更早生成的运行记录没有思考强度,不显示)。
  • 模型配置(#1802,#1790):模型配置页分为「API Key」和「官方登录」两个标签,可以按名称、接口地址和模型搜索;检测到本机运行的 Magpie 网关后可以一步接入,并在输入框里使用它的全部模型,上下文窗口和最大输出按 Magpie 给出的值计算;上下文用量弹窗里会显示自动压缩的位置。刷新 ChatGPT 模型列表后,新发布的模型(如 GPT-6.1 Sol、Terra)不再被隐藏。
  • 终端字体(#1761):设置 → 终端 中可以设置终端的字体族和字号,保存后立即应用到已打开的终端,聊天字体不受影响。

修复

  • Agent Teams(#1799,#1818,#1817,#1778):成员的请求超过供应商上下文上限时,会先压缩再重试一次,不再卡死在每条消息都重放同一份超长上下文;成员对话支持 / 命令(/clear、/reset、/new、/model 除外)、显示上下文用量并可切换模型。停止后的团队可以直接结束,不再唤醒成员,也不用手动删团队目录。长历史下的沟通面板只挂载最新的 40 条消息,滚动时再加载更早的,打开和停留都不再卡顿。并行 TaskCreate 的编号按调用顺序分配,不再标错任务;失败或被打断的 TaskCreate 不会在活动面板里留下行;新建 worktree 的会话不会被启动元数据改回主目录。
  • 上下文超限恢复(#1820,#1801):中转站和第三方 API 用各自的措辞拒绝超长请求时(Qwen、智谱、Kimi、MiniMax、方舟、Gemini、vLLM 等),现在能识别、压缩后重试,并按被拒绝的请求大小和已保存的上限判断窗口,不再显示原始错误或当作临时故障反复重试;纯文本的 413 也会压缩重试。切换模型后不再把上一个模型的思考块发给新模型(此前会让 DeepSeek 返回 422),这类 422 也不再被误报成「模型不支持图片」;回退会话时不再丢失被隐藏的链接条目,之后 --resume 不会只恢复到第一处缺口。
  • 启动与更新(#1758,#1671,#1673):本地索引较大、升级后首次启动需要重建时,启动超时不再杀掉本地服务,页面提示服务仍在启动,点「重试」会继续等待同一个服务,重建不会从头开始。安装更新时先等本地运行时完全退出再启动安装器;启动页识别 Windows 崩溃退出码并给出排查提示。Windows 安装器在从 PowerShell 7 启动时不再误判 PowerShell 不可用,也不再因 tasklist 回退卡住或反复提示手动关闭应用。感谢 @yukitakasama、@toBerlinWay。
  • 会话与标签(#1813,#1829,#1763,#1805):清理空会话失败后仍可重新打开,标签保存和恢复失败会提示并保留上次保存的标签;/status 不再等待整份历史统计,长历史会话也能立即打开;短会话切换后保持滚动位置;标签栏右侧空白处在页面内容滚到标题栏下方时仍可拖动窗口。感谢 @yuehua-meng。
  • 后台任务(#1674):后台命令或 Agent 结束后模型自动继续回复时,会在回复前显示「后台任务已结束,自动继续」,不再像模型自己醒来。感谢 @toBerlinWay。
  • 子 Agent(#1762,#1768):已完成的运行在记录重放后正确收尾,切换详情标签不再丢掉正在流式输出的内容。
  • IM 适配器(#1812):修复飞书回答丢失、钉钉卡片回退后最终文本重复发送。感谢 @yuehua-meng。
  • Agent 设置(#1798):描述是未加引号示例文本的 Agent(如 /agents 生成的格式)能被加载运行,现在在设置里也可以编辑模型和供应商,不再显示为只读。
  • 其他桌面问题:项目目录或定时任务目录所在的磁盘卡住时,不再拖住整个本地服务(#1803);连接本机 Magpie、Ollama、LM Studio 被拒绝时很快失败并提示,不再重试约三分钟(#1802);生成会话标题、语音纠错等短文本请求遇到限流(429)时,不再关掉「禁用思考」重发导致推理模型耗尽输出预算而没有结果,仅在供应商拒绝该参数(400 / 422)时才去掉(#1773);默认主题的阅读对比度提高(#1786);设置里难懂的开关旁新增「?」说明卡片(#1748)。

其他

  • Windows 安装包默认未签名(#1781):Windows 签名改为按仓库配置开启,当前 SignPath 签名申请仍在审批中,本版本 Windows 安装包未签名,运行时 SmartScreen 可能提示,见下方安装说明。
  • 下载文件名(#1781):安装包文件名改为 macOS-Apple-Silicon、Windows-x64-Setup、Linux-x64 这类更直观的写法,不再发布 blockmap 文件。应用内更新不受影响。

安装

桌面端请在下方 Assets 中下载对应平台和架构的安装包:

  • macOS:Claude-Code-Haha-0.7.7-macOS-Apple-Silicon.dmg / Claude-Code-Haha-0.7.7-macOS-Intel.dmg
  • Windows:Claude-Code-Haha-0.7.7-Windows-x64-Setup.exe / Claude-Code-Haha-0.7.7-Windows-arm64-Setup.exe
  • Linux x64:Claude-Code-Haha-0.7.7-Linux-x64.AppImage、Claude-Code-Haha-0.7.7-Linux-x64.deb 或 Claude-Code-Haha-0.7.7-Linux-x64.rpm
  • Linux ARM64:Claude-Code-Haha-0.7.7-Linux-arm64.AppImage、Claude-Code-Haha-0.7.7-Linux-arm64.deb 或 Claude-Code-Haha-0.7.7-Linux-arm64.rpm

名字以 -update.zip 结尾的文件和 latest*.yml 是应用自动更新用的,不用手动下载。

Windows 安装包默认未签名:运行时若出现 SmartScreen 提示,确认文件来自本仓库的 Release 后,点「更多信息」→「仍要运行」。

手机 App 需要桌面端 v0.7.7 或更新版本(后台提醒依赖本版本新增的桌面端接口):

  • Android:下载 Assets 中的 cc-haha-mobile-0.1.3-*.apk 安装,APK 会在桌面端安装包发布后自动附上。
  • iPhone / iPad:先在 App Store 安装 TestFlight,再打开 TestFlight 公开链接 加入测试。新构建需要苹果测试审核通过后,公开链接才会更新到 0.1.3。

完整变更:v0.7.6...v0.7.7

English Version

Claude Code Haha v0.7.7

The phone app now gets background alerts without any push server of your own, and phone and tablet browsers open the same interface as the phone app. The desktop gains next-prompt suggestions, a system action after all tasks finish, session archiving and MCP servers shared across projects; voice input can use local models with AI correction and a personal vocabulary, and Computer Use on Windows and Linux moves to a native runtime. It also fixes Agent Teams members stuck on context overflow, relay context-limit errors that never recovered, and startup failures after updates or during local index rebuilds. Installer files have plainer names, and the Windows installer is unsigned by default.

Highlights

  • Phone app background alerts (#1780): approval, completion and error alerts after you leave the app no longer depend on the publisher's push keys or a server of your own. On iPhone the Expo push service relays system notifications, and the computer must be able to reach exp.host; on Android the persistent "on duty" notification pulls from your computer and needs no Google services, and some phones need background running allowed under the app's Settings → Notifications. The phone's settings show the background connection and battery optimization state.
  • Phone and tablet browsers use the phone app interface (#1749, #1757): opening the computer's H5 address on a phone or tablet browser now shows the same interface as the cc-haha phone app, connected only to the computer that served it; there are no push notifications or lock-screen activities, and other computers cannot be added or switched. Also fixes the composer being pushed off screen when the keyboard opens in iOS 26 Safari, and pinyin input turning into garbage.
  • Phone app 0.1.3 (#1785, #1764, #1770, #1795, #1808): you can enter an explicit http:// server address (unencrypted, trusted networks only); on Android, pairing can use a photo of the QR code from the gallery when scanning fails; AskUserQuestion option details can be expanded; very long messages and stacked home screens no longer cause Android out-of-memory crashes; paired computers recover automatically after a temporary local storage read failure, with no need to pair again.
  • Next-prompt suggestions (#1779): after a reply finishes, the composer shows a predicted next message as ghost text; Tab or Right Arrow fills it in, Esc dismisses it, and nothing is sent automatically. Off by default; turning it on in Settings → General asks for confirmation because every turn makes one extra model request, which reuses the conversation cache but is still billed. It is generated only while a desktop composer is open, so IM and the phone app are unaffected.
  • System action after all tasks finish (#1766, #1787): in Settings → General you can choose to lock, sleep, hibernate or shut down once all tasks, queued work and pending confirmations have ended, optionally for scheduled tasks only, with a countdown; keyboard or mouse activity, or a new task, cancels it. Off by default.
  • Session archiving (#1760, #1774): sessions can be archived and restored at any time, keeping their original history and open tabs, and archived sessions are protected from automatic cleanup. The project menus browse archived sessions by project, archiving can be undone, and batch mode can archive several at once. A running session or one waiting for input has to finish before it can be archived.
  • Share MCP servers with multiple projects (#1769): in the MCP settings you can pick several target projects and share one server configuration with them; changes apply on save, and unticking a project only removes that entry from its .mcp.json.
  • Per-project auxiliary directories (#1791): each project can have extra directories that new tasks can read and edit; the primary directory stays the default working directory. Changes apply to new tasks only.
  • Voice input (#1771, #1825, #1827): local recognition adds Fun-ASR-Nano and Qwen3-ASR 0.6B next to SenseVoice, each downloadable, removable and switchable. New AI correction (off by default): after recognition only the text is sent to a model you choose to fix misheard product names, commands and code identifiers; each change can be reverted, and the original text is inserted if nothing returns within 3 seconds. A new personal vocabulary supports manual entries, bulk paste and generation from the last 14 days of your local Claude Code and Codex history (only words and counts are sent to the model). Also fixes history vocabulary analysis failing in thinking mode and Codex app and CLI threads not being read.
  • Computer Use (#1789, #1759, #1832): Windows and Linux now use a native runtime shipped with the installer, with no Python or virtual environment to set up, and Linux is supported; see the Computer Use docs for the limits of background operation. On macOS, reading and operating a target app no longer brings it to the front, and it is not repeatedly activated after you return to the full-screen cc-haha. On Windows, the virtual cursor display and background actions on WinForms controls are fixed, and an explicit Computer Use request goes straight to the native tools.
  • Pin a provider and effort for agents and members (#1755, #1824): custom agents and team members can pin a saved provider and a thinking effort that apply to that agent only, while the session and other agents keep their provider; the team plan review edits each member, and members without a setting show Default. The sub-agent run page shows the model and effort while the run is streaming (runs recorded earlier have no effort and show none).
  • Model configuration (#1802, #1790): the provider page is split into API Key and Official sign-in tabs with search by name, base URL and model; a running local Magpie gateway can be connected in one step and all its models are available in the composer, with context window and output limit taken from Magpie; the context usage popover shows where auto-compaction starts. Newly released ChatGPT models (such as GPT-6.1 Sol and Terra) are no longer hidden after refreshing the model list.
  • Terminal font (#1761): Settings → Terminal sets the terminal font family and size, applied immediately to open terminals without changing the chat font.

Fixes

  • Agent Teams (#1799, #1818, #1817, #1778): when a member's request exceeds the provider's context limit it is compacted and retried once, instead of getting stuck replaying the same oversized context on every message; member conversations support / commands (except /clear, /reset, /new and /model), show context usage and can switch model. A stopped team can be ended directly without waking its members or deleting team directories by hand. With long histories, the communication panel mounts only the newest 40 messages and loads earlier ones as you scroll, so opening it and leaving it open no longer lag. Parallel TaskCreate calls get IDs in call order and no longer mark the wrong tasks; a failed or interrupted TaskCreate leaves no row in the activity panel; a new worktree session is no longer reverted to the main directory by startup metadata.
  • Context-limit recovery (#1820, #1801): when relays and third-party APIs reject an oversized request in their own wording (Qwen, Zhipu, Kimi, MiniMax, Ark, Gemini, vLLM and others), it is now recognized, compacted and retried, with the window judged from the rejected request size and saved limits, instead of showing the raw error or retrying as a transient failure; a text-only 413 is compacted and retried too. After switching models, the previous model's thinking blocks are no longer sent to the new one (which made DeepSeek return 422), and such 422 errors are no longer mislabeled as "this model does not support images"; rewinding a session no longer drops hidden chain entries, so --resume no longer restores only up to the first gap.
  • Startup and updates (#1758, #1671, #1673): when a large local index has to be rebuilt on the first launch after an upgrade, a startup timeout no longer kills the local service; the page says the service is still starting, and Retry keeps waiting on the same service so the rebuild does not restart from zero. Installing an update now waits for the local runtime to exit before starting the installer, and the startup page recognizes Windows crash exit codes with troubleshooting hints. The Windows installer no longer decides PowerShell is unavailable when started from PowerShell 7, and no longer hangs in the tasklist fallback or repeatedly asks you to close the app by hand. Thanks to @yukitakasama and @toBerlinWay.
  • Sessions and tabs (#1813, #1829, #1763, #1805): after a failed empty-session cleanup the session can still be reopened, and tab save and restore failures are reported while the last saved tabs are kept; /status no longer waits for full history statistics, so long-history sessions open immediately; short sessions keep their scroll position when switching; the empty strip right of the tabs stays draggable when page content scrolls under the title bar. Thanks to @yuehua-meng.
  • Background tasks (#1674): when the model continues automatically after a background command or agent finishes, a "Continued automatically after a background task" notice appears before the reply, so it no longer looks like the model woke up on its own. Thanks to @toBerlinWay.
  • Sub-agents (#1762, #1768): completed runs settle correctly after transcript replay, and switching detail tabs no longer drops a stream that is still running.
  • IM adapters (#1812): fixes lost Feishu answers and duplicate final text in DingTalk after the card fallback. Thanks to @yuehua-meng.
  • Agent settings (#1798): agents whose description is unquoted example text (such as the format /agents generates) load and run, and can now also be edited in settings, including model and provider, instead of showing as read-only.
  • Other desktop fixes: a stalled disk under a project or scheduled-task directory no longer holds up the whole local service (#1803); a refused connection to a local Magpie, Ollama or LM Studio now fails quickly with a message instead of retrying for about three minutes (#1802); short text requests such as session titles and voice correction no longer resend without "thinking disabled" after a rate limit (429), which let reasoning models spend the whole output budget and return nothing — it is dropped only when the provider rejects it (400 / 422) (#1773); the default theme has better reading contrast (#1786); settings with hard-to-understand names get a "?" help card (#1748).

Other

  • Windows installer unsigned by default (#1781): Windows signing is now enabled through repository configuration; the SignPath signing application is still pending, so the Windows installers in this release are unsigned and SmartScreen may warn when you run them (see the installation notes below).
  • Download file names (#1781): installers are named plainly, such as macOS-Apple-Silicon, Windows-x64-Setup and Linux-x64, and blockmap files are no longer published. In-app updates are unaffected.

Installation

Download the desktop installer for your platform and architecture from the Assets section below:

  • macOS: Claude-Code-Haha-0.7.7-macOS-Apple-Silicon.dmg / Claude-Code-Haha-0.7.7-macOS-Intel.dmg
  • Windows: Claude-Code-Haha-0.7.7-Windows-x64-Setup.exe / Claude-Code-Haha-0.7.7-Windows-arm64-Setup.exe
  • Linux x64: Claude-Code-Haha-0.7.7-Linux-x64.AppImage, Claude-Code-Haha-0.7.7-Linux-x64.deb or Claude-Code-Haha-0.7.7-Linux-x64.rpm
  • Linux ARM64: Claude-Code-Haha-0.7.7-Linux-arm64.AppImage, Claude-Code-Haha-0.7.7-Linux-arm64.deb or Claude-Code-Haha-0.7.7-Linux-arm64.rpm

Files ending in -update.zip and latest*.yml are used by in-app updates and do not need to be downloaded.

The Windows installers are unsigned by default: if SmartScreen warns when you run one, confirm the file came from this repository's Release, then choose More info → Run anyway.

The mobile app needs desktop v0.7.7 or later (background alerts rely on a desktop interface added in this release):

  • Android: install cc-haha-mobile-0.1.3-*.apk from the Assets; the APK is attached automatically after the desktop installers are published.
  • iPhone / iPad: install TestFlight from the App Store, then open the TestFlight public link. A new build must pass Apple's beta review before the public link updates to 0.1.3.

Full changelog: v0.7.6...v0.7.7