handmux 0.25.0 → 0.25.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -68,7 +68,7 @@ handmux start --tunnel cloudflare # instant public URL (cloudflared auto-insta
68
68
  ## Features
69
69
 
70
70
  - **Claude Code / Codex, deeply** — an inbox status ledger, thumb-approve permissions & plans, and stable host-wide subscription usage shared by every connected device; each visible provider can refresh its latest limits from the card action menu, while keeping the previous values visible if that provider cannot be reached. Codex also shows the current account and plan, separate account/model limits, remaining rate-limit resets, and each provided expiry. The same Usage screen can save multiple DeepSeek and Moonshot (Kimi) API accounts encrypted at rest within the Handmux computer's local trust boundary; full API Keys never return to browsers.
71
- - **Chat view** — drive Codex CLI through App Server with streaming Markdown bubbles, tool cards, native Goal lifecycle cards, and session status; the context-ring details show the absolute Git worktree root path and branch that contain the thread `cwd`. Setting or restarting a Goal creates a fresh active native Goal, immediately shows its user-side card on the right, and starts Codex's built-in continuation. An active or paused Goal stays beneath the live read-only turn task list, Codex terminal feedback stays with its originating turn on the left, and every entry opens the same Bottom Sheet. The current Goal uses one equal-width iOS-style action row; clearing it removes the resident Goal and closes the sheet, while its historical chat card remains. The current terminal Goal can be edited before restarting. Long replies hold at their beginning for reading, with an explicit jump back to the latest output. Existing panes can switch in place. Every sendable Agent uses the same persistent server queue: queued messages can be viewed, edited or deleted and are delivered automatically; Guide now appears only when that Agent supports steering. Failed or unconfirmed sends stay visible under the same request id so the server can reconcile them without duplicate execution. On desktop, <kbd>Shift</kbd>+<kbd>Enter</kbd> focuses the composer or inserts a newline when already focused, <kbd>Enter</kbd> sends, and <kbd>Esc</kbd> releases focus without stopping the Agent. Codex chat is stable; Claude Code and Pi chat are independently enabled experimental options.
71
+ - **Chat view** — drive Codex CLI through App Server with streaming Markdown bubbles, tool cards, native Goal lifecycle cards, and session status; the context-ring details show the absolute Git worktree root path and branch that contain the thread `cwd`. Setting or restarting a Goal creates a fresh active native Goal, immediately shows its user-side card on the right, and starts Codex's built-in continuation. An active or paused Goal stays beneath the live read-only turn task list, Codex terminal feedback stays with its originating turn on the left, and every entry opens the same Bottom Sheet. The current Goal uses one equal-width iOS-style action row; clearing it removes the resident Goal and closes the sheet, while its historical chat card remains. The current terminal Goal can be edited before restarting. Long replies hold at their beginning for reading, with an explicit jump back to the latest output. Existing panes can switch in place. Every sendable Agent uses the same persistent server queue: queued messages can be viewed, edited or deleted and are delivered automatically; Guide now appears only when that Agent supports steering. Failed sends stay visible and retry under the same request ID. If delivery remains unknown after reconciliation, the message returns to the conversation and you choose whether to send it again as new, with a clear duplicate-delivery warning. On desktop, <kbd>Shift</kbd>+<kbd>Enter</kbd> focuses the composer or inserts a newline when already focused, <kbd>Enter</kbd> sends, and <kbd>Esc</kbd> releases focus without stopping the Agent. Codex chat is stable; Claude Code and Pi chat are independently enabled experimental options.
72
72
  - **Real-time terminal + desktop keyboard** — stream the same tmux pane on phone and desktop with scrollback, weak-network fallback, direct physical-keyboard input, and native copy/paste.
73
73
  - **Command & chat modes** — switch between direct terminal input and natural-language agent chat, with direct Alt and Space keys on the mobile command keyboard and a customizable quick bar that stays in sync across devices.
74
74
  - **Client reload after updates** — once the server update has finished, use Settings → Reload app to load the new client without quitting and reopening the home-screen app.
@@ -76,7 +76,7 @@ handmux start --tunnel cloudflare # instant public URL (cloudflared auto-insta
76
76
  - **Workspace recovery** — handmux keeps the metadata needed to restore your latest tmux workspace after a computer or tmux-server restart, without replacing existing sessions.
77
77
  - **Git viewer** — changes / commit history / any branch / full-screen colored diff, multi-repo tabs, read-only, never touches your tree.
78
78
  - **Web Preview for URLs and static folders** — preview URLs by phone or computer proxy, or open an isolated static folder, with narrow/wide page widths and zoom; computer proxy can also request a mobile or desktop site version. It embeds pages rather than replacing a full browser.
79
- - **Docs** — tap recognized text-file paths in the terminal to open them, regardless of extension; ordinary slash-separated prose stays plain. Markdown rendered, font zoom, sentence-by-sentence read-aloud. Binary files stay download-only.
79
+ - **Docs** — tap recognized text-file paths in the terminal or Agent tool input/output to open them, regardless of extension; user-home paths appear as `~/…`, while ordinary slash-separated prose stays plain. Markdown rendered, font zoom, sentence-by-sentence read-aloud. Binary files stay download-only.
80
80
  - **Mobile select & copy** — long-press to select in the terminal, drag iOS-style handles to fine-tune, copy the selection / a whole line / a whole paragraph.
81
81
  - **Files both ways** — multi-select upload from the chat box (including ZIP archives), download, share in, copy any absolute path.
82
82
  - **Ideas — catch every one** — a thought the moment it strikes: a per-window idea/to-do list, jot one by voice and drop it straight into the prompt.
package/README.zh-CN.md CHANGED
@@ -68,7 +68,7 @@ handmux start --tunnel cloudflare # 即时公网地址(自动装 cloudflared)
68
68
  ## 功能一览
69
69
 
70
70
  - **Claude Code / Codex 深度**——收件箱状态台账、拇指批授权批计划,以及所有设备共享的本机最新订阅用量;每个已开启显示的 Provider 都可从卡片操作菜单单独刷新最新额度,厂家暂时不可达时仍保留上一份数值。Codex 还会显示当前账号与套餐、主账号和特定模型的独立额度,以及剩余重置次数与官方提供的各次到期时间。同一个用量页还能在 Handmux 电脑的本机信任边界内静态加密保存多个 DeepSeek 和 Moonshot (Kimi) API 账户,完整 API Key 不会返回浏览器。
71
- - **对话视图**——通过 App Server 用流式 Markdown 气泡、工具卡、原生 Goal 生命周期卡片和实时状态操作 Codex CLI;上下文圆环详情直接显示 thread `cwd` 所属 Git worktree 的绝对根路径与分支。设置或重新开始会创建全新的 active 原生 Goal,立即在右侧显示用户侧卡片并启动 Codex 自带的自动续跑。进行中或暂停的 Goal 常驻在实时任务列表下方,Codex 终态反馈留在对应回合并靠左,所有入口统一打开同一个 Bottom Sheet;当前 Goal 使用 iOS 风格单行等分操作,清除后会移除常驻目标并关闭详情,已经发生的历史卡片仍保留;当前终态 Goal 可修改内容后重新开始。长回答会稳定在开头供阅读,用户可随时回到最新内容;现有 pane 可原位接入。所有可发送 Agent 共用同一套持久服务端队列:待发消息可查看、编辑、删除并自动发送,只有 Agent 支持 steer 时才显示“立刻引导”。发送失败或送达状态未知的消息会保留在原位置,并用同一个请求标识安全对账,避免重复执行。电脑端可用 <kbd>Shift</kbd>+<kbd>Enter</kbd> 聚焦输入框,聚焦后该组合键换行,<kbd>Enter</kbd> 发送,<kbd>Esc</kbd> 只取消聚焦而不会停止 Agent。Codex 对话为稳定功能;Claude Code 与 Pi 对话均需独立开启,且仍为实验性功能。
71
+ - **对话视图**——通过 App Server 用流式 Markdown 气泡、工具卡、原生 Goal 生命周期卡片和实时状态操作 Codex CLI;上下文圆环详情直接显示 thread `cwd` 所属 Git worktree 的绝对根路径与分支。设置或重新开始会创建全新的 active 原生 Goal,立即在右侧显示用户侧卡片并启动 Codex 自带的自动续跑。进行中或暂停的 Goal 常驻在实时任务列表下方,Codex 终态反馈留在对应回合并靠左,所有入口统一打开同一个 Bottom Sheet;当前 Goal 使用 iOS 风格单行等分操作,清除后会移除常驻目标并关闭详情,已经发生的历史卡片仍保留;当前终态 Goal 可修改内容后重新开始。长回答会稳定在开头供阅读,用户可随时回到最新内容;现有 pane 可原位接入。所有可发送 Agent 共用同一套持久服务端队列:待发消息可查看、编辑、删除并自动发送,只有 Agent 支持 steer 时才显示“立刻引导”。发送失败的消息会保留,并沿用同一个请求 ID 重试;若对账后仍无法确认是否送达,消息会回到对话中,由你决定是否作为新消息再次发送,同时明确提示可能重复送达。电脑端可用 <kbd>Shift</kbd>+<kbd>Enter</kbd> 聚焦输入框,聚焦后该组合键换行,<kbd>Enter</kbd> 发送,<kbd>Esc</kbd> 只取消聚焦而不会停止 Agent。Codex 对话为稳定功能;Claude Code 与 Pi 对话均需独立开启,且仍为实验性功能。
72
72
  - **实时终端 + 电脑键盘**——在手机和电脑上实时操控同一个 tmux pane,支持历史滚动、弱网回退、物理键盘直输和原生复制粘贴。
73
73
  - **命令 / 聊天双模式**——在终端直输与自然语言对话间切换;手机命令键盘提供直接可用的 Alt 与空格键,并可用跨设备同步的快捷栏快速操作。
74
74
  - **更新后重新加载客户端**——服务端更新完成后,在设置里点「重新加载应用」即可载入新版客户端,无需退出主屏应用再重新打开。
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "handmux",
3
- "version": "0.25.0",
3
+ "version": "0.25.2",
4
4
  "description": "A mobile vibe-coding cockpit — built on tmux: drive your live session, Claude Code / Codex — anything a terminal can run — from your phone.",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
@@ -75,6 +75,18 @@
75
75
  "vitest": "^2.0.0"
76
76
  },
77
77
  "whatsNew": [
78
+ {
79
+ "version": "0.25.2",
80
+ "date": "2026-09-02",
81
+ "zh": "修复 Agent 对话断流、排队与工具路径",
82
+ "en": "Fixed Agent chat streams, queues, and tool paths"
83
+ },
84
+ {
85
+ "version": "0.25.1",
86
+ "date": "2026-09-02",
87
+ "zh": "修复 Codex 幽灵任务与对话空白",
88
+ "en": "Fixed Codex ghost tasks and blank chats"
89
+ },
78
90
  {
79
91
  "version": "0.25.0",
80
92
  "date": "2026-09-01",
@@ -110,18 +122,6 @@
110
122
  "date": "2026-08-03",
111
123
  "zh": "网页预览:手机直连、电脑代理与静态目录",
112
124
  "en": "Web preview: direct, computer proxy, and static folders"
113
- },
114
- {
115
- "version": "0.20.3",
116
- "date": "2026-08-01",
117
- "zh": "实时终端显示更稳定流畅",
118
- "en": "More stable, smoother live terminals"
119
- },
120
- {
121
- "version": "0.20.2",
122
- "date": "2026-07-27",
123
- "zh": "实时终端长时间运行更流畅",
124
- "en": "Smoother long-running live terminals"
125
125
  }
126
126
  ]
127
127
  }