Repository navigation
v0.4.0
Chinese and English, replies that read well, thinking that stays, taking over a terminal's session, and less text on every screen.
- The app speaks Chinese and English. It follows the phone's language (any Chinese → Simplified Chinese, anything else → English); Settings → Language overrides it (System / 中文 / English), and the switch applies at once. Screens, sheets, empty states, the app's own errors, accessibility labels, relative times and the notifications the app posts are translated; what OMP and the computer send (model names, tool output, their errors) is shown as it is (#26).
- Take over a session that omp in a terminal on the computer has open. OMP lets one process write a session, and a second one would save to a new file, so the two cannot share it; instead the chat offers Take over, says when the terminal is mid-turn, and after you confirm the daemon asks that omp to close (through the omp-mobile plugin if it is loaded there, else with
SIGINT, thenSIGTERM, neverSIGKILL), tells the terminal where the session went, and opens it here with nothing lost or forked. New routePOST /sessions/:id/takeover; held sessions name theirowner(#28). - Replies read better on a phone: 16/26 body text that keeps mixed Chinese and English comfortable, a clearer heading scale, and spacing tuned between paragraphs, lists, code and tables (#27).
- Fuller Markdown in replies: nested bullet and numbered lists (numbered lists keep their start), task lists, nested block quotes,
strikethrough, bare and<…>links, images as links, escapes, and tables whose columns size to their text and scroll sideways (#27). - Code blocks show their language and a copy button, scroll sideways, and render while the closing fence is still streaming. Code is set in JetBrains Mono NL, so
=>and!=show as typed, not as ligatures (#27). - Thinking no longer disappears when a message ends or a chat is reopened. A reply's thinking folds into a "Thought for 12s" row that opens inline; thoughts between tool calls stay in their activity card (#27).
- An activity card watched while it ran stays open after the turn ends, and "Show all" lists every step inline; tap a step for its details as before (#27).
- Larger user bubbles and softer notices in the transcript (#27).
- The daemon closes its OMP processes the way Ctrl+C does (SIGINT, then SIGTERM, waiting for each) and no longer kills them, so a turn being saved is not cut off; on exit it waits for them to save their sessions (#33).
- Live session titles no longer start with an empty box where OMP put a Nerd Font icon (#33).
- Less text on every screen; the layout says it instead. Gone: captions under the Notifications switch, the About tagline, the hints in the New session, Add computer and scanner screens, the footnote and online count on Computers, the chat's empty-state paragraph, and labels that repeated a title or an icon. Computers get a ⋯ button for their details instead of a long-press hint; the current computer is checked instead of marked "here" (#32).
- Closing a session, removing a computer and taking a session over are confirmed in the app's own sheet instead of a system dialog (#32).
中文
中英双语;更好读的回复;思考内容不再消失;可以接管终端里的会话;每个界面的文字更少。
- App 支持中文和英文。默认跟随手机语言(任何中文 → 简体中文,其他 → 英文);可在“设置 → 语言”中改为 跟随系统 / 中文 / English,切换后立即生效。界面、面板、空状态、App 自己的错误提示、无障碍标签、相对时间以及 App 发出的通知都已翻译;OMP 和电脑发来的内容(模型名、工具输出、它们的错误信息)保持原样(#26)。
- 可以接管电脑终端里 omp 正打开着的会话。OMP 只允许一个进程写一个会话,第二个进程会另存为新文件,所以两边无法同时打开;对话页改为提供 接管,并提示终端是否正在执行一轮对话。确认后 daemon 请那个 omp 关闭(若它加载了 omp-mobile 插件则由插件关闭,否则依次发送
SIGINT、SIGTERM,从不SIGKILL),在终端里说明会话去了哪里,再在手机上打开,记录不丢失也不分叉。新增POST /sessions/:id/takeover;被占用的会话会给出owner(#28)。 - 回复在手机上更好读:正文 16/26,中英文混排更舒服;标题层级更清楚;段落、列表、代码和表格之间的间距重新调过(#27)。
- 回复支持更完整的 Markdown:多级无序/有序列表(有序列表保留起始编号)、任务列表、多级引用、
删除线、裸链接和<…>链接、图片显示为链接、转义字符;表格列宽随内容调整,可横向滚动(#27)。 - 代码块显示语言和复制按钮,可横向滚动;结尾的 ``` 还没输出时也能正常显示。代码改用 JetBrains Mono NL,
=>、`!=` 按原样显示,不再合成连字(#27)。 - 消息结束或重新打开对话后,思考内容不再消失。回复的思考折叠为一行“思考了 12 秒”,点开即在原处展开;工具调用之间的思考留在所属的活动卡片里(#27)。
- 运行时看着的活动卡片在这一轮结束后保持展开,“显示全部”会在卡片内列出所有步骤;点某一步仍可查看详情(#27)。
- 对话中用户气泡字号更大,提示条更柔和(#27)。
- daemon 关闭自己的 OMP 进程时改用 Ctrl+C 的方式(先 SIGINT,再 SIGTERM,每次都等待),不再强杀,正在保存的回合不会被截断;退出时会等它们保存好会话(#33)。
- 运行中会话的标题不再以空白方块开头(那是 OMP 放的 Nerd Font 图标)(#33)。
- 每个界面的文字都更少,由布局来说明。去掉了:通知开关下的说明、“关于”里的标语、新建会话 / 添加电脑 / 扫码页的提示、电脑列表的脚注和在线计数、对话空状态的说明段落,以及重复标题或图标含义的标签。电脑列表每行改为 ⋯ 按钮查看详情,不再提示长按;当前电脑用勾号标出,不再写“当前”(#32)。
- 关闭会话、移除电脑和接管会话改用 App 自己的底部面板确认,不再弹系统对话框(#32)。
What's Changed
- App in Chinese and English (i18n) by @Rinai-R in #29
- Take over a session a terminal omp holds (#28) by @Rinai-R in #31
- Transcript typography and Markdown; keep thinking and work visible after a turn by @Rinai-R in #30
- Close the daemon's omp gracefully; plain live session titles by @Rinai-R in #34
- UI review: let the layout do the explaining by @Rinai-R in #35
- Release v0.4.0 by @Rinai-R in #36
Full Changelog: v0.3.0...v0.4.0