Releases: by123/byline
Release list
Byline v0.13.2
Bug fix release.
Fixed
-
Right-click → Translate / Correct… on a terminal selection kept saying "select some
text first." xterm stores a selection as buffer coordinates, not as text: the menu
item was enabled because the coordinates were there, but by the time you clicked it the
program in the tab had repainted those rows — so reading the selection back returned
nothing. Every tab with a busy agent in it hit this.The menu now takes the selection when it opens and never re-reads the buffer; copy,
translate and correct all act on that one string. Each tab also remembers its last
selection, so the items keep working when xterm drops its own selection a moment before
the right-click, instead of greying out.
Universal (Apple Silicon + Intel), signed, notarized and stapled. macOS 10.15+.
中文说明: 修复了在终端里选中文字后,右键「翻译 / 修正…」一直提示「没有可翻译的内容 ——
请先选中文本」的问题。xterm 保存的是选区坐标而不是文字,菜单项凭坐标点亮,可等到你点下去
时,标签里的程序已经把那几行重绘过了,再读一次自然读到空。现在菜单在弹出的那一刻就把选中的
文字取下来,之后不再回读缓冲区,复制 / 翻译 / 修正三项用的都是同一份文字;每个标签还会记住上
一次的选区,xterm 自己丢掉选区时菜单也不会再置灰。通用二进制(Apple Silicon 与 Intel),已签
名并公证。
Byline v0.13.1 — Confirm before closing anything
Nothing closes without asking first
A terminal usually holds an agent mid-task, and killing its PTY throws that state away
for good. So every close now stops at a confirmation dialog — including the keyboard
shortcuts, which are exactly the ones you hit by accident.
- Every path is covered: the tab ×,
⌘W, the command palette, the sidebar and
terminal right-click menus, close-others / close-right / close-all, the window's red
button, and⌘Q - The dialog shows what you are about to lose: each session that is going, with its
name and live state (thinking / needs confirmation / done / idle) ↩confirms,Esc— or the Cancel button, or a click outside — keeps everything- Closes Byline makes on its own never ask: a shell that exited on its own, or a tab
moving to another window, where the session keeps running - Window close and
⌘Qare held in the main process while the window answers. A
renderer that cannot answer — crashed, wedged, mid-reload — is given 2 seconds to pick
the request up and then the close goes through, so a broken window can never trap
itself. Once the dialog is up there is no deadline: it is waiting on a person - Localized in all 23 UI languages
中文
终端里通常正跑着做到一半的 agent,PTY 一被杀,那份状态就再也找不回来了。所以现在每一种关闭
都会先弹窗确认 —— 快捷键也一样,毕竟误触的正是它们。
- 所有入口都覆盖:标签上的 ×、
⌘W、命令面板、侧栏与终端右键菜单、关闭其他 / 关闭右侧 /
关闭全部、窗口的红色按钮,以及⌘Q - 弹窗会列出你即将失去什么:每一个要被关掉的会话,带名称和当前状态(思考中 / 需要确认 /
完成 / 空闲) ↩确认,Esc(或取消按钮、点击弹窗外)则什么都不关- Byline 自己做的关闭不会打扰你:shell 自己退出了,或者标签被移动到另一个窗口(会话还活着)
- 关闭窗口和
⌘Q由主进程挂起,等窗口回答。渲染进程如果答不上来(崩溃、卡死、正在重载),
2 秒内没接管请求就直接放行,坏掉的窗口不会把自己锁死;而弹窗一旦出现就不再有超时 ——
那时是在等人做决定 - 23 种界面语言全部适配
Byline v0.13.0 — Move a tab into its own window
Move a tab into its own window — the session is handed over live
Right-click a tab → Move Tab to New Window, and the tab leaves for a window of its
own. Nothing restarts: the shell keeps its pid, a running claude/codex keeps its
context, its status dot keeps reporting, and the scrollback you were looking at is
repainted in the new window — colours, ╭─╮ frames and full-screen TUI state included.
- The PTY is handed over inside Byline: only the window that owns the session changes,
so the agent never notices the move - Output produced mid-handover is held and delivered to the new window, not dropped
- The tab arrives with everything it had: name, working directory, detected agent, live
status, auto-confirm, and its conversation turns in the sidebar - The new window inherits the source window's theme, font size and panel layout, and
cascades 28px down-right of it - Byline is properly multi-window now: closing one window reaps only its own sessions,
and the app menu / shortcuts act on the focused window - Greyed out when it is the tab's only window, Chrome-style. Localized in all 23 UI languages
中文
右键标签 → 移动到新窗口,这个标签就独立成一个新窗口。什么都不会重启:shell 还是那个
pid,正在跑的 claude/codex 上下文照旧,状态灯继续上报,你刚才看到的回滚内容也会在新
窗口里重绘出来(颜色、╭─╮ 边框、全屏 TUI 状态都在)。
- 交接发生在 Byline 内部:只是换了拥有这个会话的窗口,agent 完全无感
- 交接过程中产生的输出会被暂存并送到新窗口,不会丢
- 标签把身家都带过去:名称、工作目录、识别到的 agent、实时状态、自动确认,以及侧栏里的会话记录
- 新窗口沿用原窗口的主题、字号和面板布局,并在原窗口右下方 28px 处错位打开
- Byline 现在是真正的多窗口:关掉某个窗口只回收它自己的会话,应用菜单和快捷键作用于当前聚焦的窗口
- 只有一个标签时该菜单项置灰(和 Chrome 一致)。23 种界面语言全部本地化
下载下方的 DMG:打开后把 Byline 拖进「应用程序」即可(已签名并公证,通用二进制)。
Byline v0.12.0 — Correct: hand a wrong line back to the agent
Correct — hand a wrong line back to the agent, in its own words
The agent says it set the retry limit to 5 when it should be 3. Select that line,
right-click → Correct…, and a small popover opens right where you clicked: the
selected text on top, a note field below. Type what needs fixing, hit OK, and the
selection plus your note are composed into the terminal's input line — unsent,
so you read it over and press Enter yourself.
- Multi-line text rides in over bracketed paste, so nothing runs by accident; in a
session without bracketed paste it is flattened to a single line instead - Enter confirms, Shift+Enter adds a newline, Esc / × / Cancel dismisses — and a
half-typed note survives a stray click outside the popover - Localized in all 23 UI languages, prompt template included
Translate and Correct now grey out without a selection. Both act on the selected
text, so the menu says so up front instead of quietly translating whatever was last on
the clipboard.
中文
新增终端右键 修正:选中 agent 写错的那句 → 右键「修正…」→ 在弹出的小窗里写下要改的
地方 → 确认后,选中的原文连同你的说明会拼进终端输入行,不会自动回车,你确认无误再按
Enter 发送。多行内容走括号粘贴,不会被误执行;Enter 确认、Shift+Enter 换行、Esc 关闭。
同时,翻译和修正在没有选中内容时会置灰(而不是隐藏),翻译也不再回落到剪贴板。
23 种界面语言全部本地化。
下载下方的 DMG:打开后把 Byline 拖进「应用程序」即可(已签名并公证,通用二进制)。
Byline v0.11.1 — Self-healing glyph atlas
Crisper text, always
Rare but annoying: on long coloured output the terminal could render a few garbled glyphs — real characters, wrong ones — while the same word rendered fine elsewhere on screen. It's render-side, not decoding, and repainting the WebGL glyph atlas clears it.
- Self-healing atlas — when the renderer merges away a texture-atlas page, Byline rebuilds the atlas and repaints, across every tab (tabs share one atlas)
- New
Redraw terminalaction — in the command palette (⌘K), forces a clean repaint at any time. Rebindable in Preferences like every other action - Diagnostics — the renderer in use (WebGL / DOM), the GPU, and the atlas limits are written to the operation log once at startup, and every rebuild is logged too
Localized across all 23 UI languages. Universal (Apple Silicon + Intel), signed & notarized.
中文:修复了长彩色输出下偶发的字形错乱(渲染层问题,非解码)——WebGL 字形图集在页合并时会自动重建并重绘所有标签页;命令面板(⌘K)新增 重绘终端 操作,随时可强制重画,快捷键可在偏好设置中自定义。启动时会把渲染器、GPU 与图集上限写入操作日志,便于后续排查。已覆盖全部 23 种界面语言。
Byline v0.11.0 — File tree right-click menu
File tree right-click menu
Right-click any file or folder in the file tree (⌘E) for the basics:
- Open a file in its default app
- Reveal in Finder
- New File / New Folder inside a folder (or the panel's empty area)
- Rename and Duplicate (
name copy,name copy 2, …) - Copy Path / Copy Name
- Open in Terminal — a folder opens in a fresh tab, already
cd'd there - Move to Trash (reversible from Finder)
Fully localized across all 23 UI languages. Deletes go to the Trash, and $HOME / volume roots are protected.
Universal (Apple Silicon + Intel), signed & notarized.
中文:文件树(⌘E)新增右键菜单 —— 打开、在访达中显示、新建文件/文件夹、重命名、创建副本、复制路径/名称、在新终端中打开文件夹、移到废纸篓。已覆盖全部 23 种界面语言;删除进废纸篓(可恢复),并对 $HOME 与卷根目录做了保护。
Byline 0.10.0 — File tree panel
File tree panel
A new left-hand panel (⌘E, or the toolbar button) that shows the file tree of the active tab's working directory — it follows you as you cd or switch tabs.
- Expand / collapse folders in place; contents load lazily, so huge directories stay snappy.
- Drag any file or folder into a terminal (or onto a tab / sidebar session row) to paste its shell-quoted path — same behavior as dropping a file from Finder.
- Double-click a file to open it with the system default app.
- Resizable width, refresh button, dotfiles dimmed; available in all 23 UI languages.
Universal build — one download for Apple Silicon and Intel Macs. Signed, notarized, and stapled: open the DMG, drag Byline into Applications, no Gatekeeper warnings.
文件树面板:新的左侧面板(⌘E 或工具栏按钮)显示当前标签工作目录的文件树,随 cd 和标签切换自动跟随。目录可展开收起(懒加载,大目录不卡);把任意文件或文件夹拖进终端即插入 shell 转义好的路径,行为与从 Finder 拖入一致;双击文件用系统默认应用打开。宽度可调、支持刷新,23 种界面语言全部可用。通用版(Apple 芯片 + Intel),已签名、公证并装订。
Byline 0.9.1 — Browse a session's conversation
Sidebar conversation browser
Expand any session in the sidebar to browse its conversation — every line you submitted (a shell command or an agent prompt) becomes a turn you can click into.
- Shell turns open the command with its captured output.
- Agent turns (
claude/codex) open the clean conversation, read from the agent's own transcript file — not the terminal's full-screen redraw noise. - Turns are kept in memory only and never logged; text typed at a no-echo secret prompt (passwords, OTPs) is never captured.
Universal build — one download for Apple Silicon and Intel Macs. Signed, notarized, and stapled: open the DMG, drag Byline into Applications, no Gatekeeper warnings.
侧边栏对话浏览:展开任意会话即可浏览它的对话记录——你提交的每一行(Shell 命令或代理提示)都是一个可点击的回合。Shell 回合显示命令及其输出;代理回合(claude / codex)显示从代理自身会话记录中读取的干净对话,而非终端的整屏重绘噪声。回合仅保存在内存中、从不写入日志;在无回显的密码/验证码提示处输入的内容不会被捕获。通用版(Apple 芯片 + Intel),已签名、公证并装订。
Byline 0.9.0 — Translate in the terminal
Translate, right where you're reading
Select any text in the terminal and right-click → Translate — the translation pops up at your cursor, usually in under a second (Google Translate under the hood; requests go through your system proxy). Dismiss it with ×, Esc, or a click anywhere else.
- Configurable direction — Preferences gets its own Translation section: pick source → target from the same 23 languages as the UI. Default: English → Simplified Chinese.
- Copy on select — selecting text in the terminal now copies it to the clipboard automatically (iTerm-style). Translate uses the live selection, falling back to the clipboard.
Also in this release
- New default session quick command Byline update — the release runbook as a one-click prompt (existing customized command lists are left untouched).
选中终端文本,右键 →「翻译」,译文即刻在点击处弹出(Google 翻译,通常一秒内;走系统代理),×/Esc/点击其他区域关闭。翻译方向在偏好设置新增的「翻译」模块中配置,23 种语言任选,默认 英文 → 简体中文。同时新增「选中即复制」:选中文本自动进剪贴板。
Byline v0.8.1 (Alpha)
Codex live status + tab-accurate handoff, plus an operation log for this early build.
This is an Alpha release — Byline is still early. If a status reads wrong or a handoff misfires, the new log (below) makes it easy to report.
Codex authoritative status
hooks/install.sh now registers the byline-status hook in both ~/.claude/settings.json and ~/.codex/hooks.json. Codex sessions started in Byline report the same authoritative live status as Claude Code — thinking / needs confirmation / done — per tab. Codex reviews newly added hooks once, so on your next codex launch choose "Trust all and continue". A config that isn't present is simply skipped.
Handoff binds to the tab you clicked
The hook now records each tab's live session id + transcript path, so a Claude ↔ Codex handoff always moves the session in the tab you clicked — even when two tabs of the same agent share one project directory. Without the hook it falls back to the most-recently-active session in that directory, as before.
Operation log
Byline now writes a human-readable operation log to ~/Library/Logs/Byline/byline.log (also visible in Console.app) so problems in this early build can be investigated after the fact. Size-based rotation keeps a single backup, so it never grows without bound. Terminal I/O, keystrokes, and file paths are never logged.
Also
- Dropped the legacy
/tmp/ai_light_sessionsstatus directory — Byline now watches only/tmp/byline_sessions.
Universal DMG (Apple Silicon + Intel), signed & notarized. macOS 10.15+.
中文: 本次为 Alpha 版本。新增 Codex 权威状态(install.sh 现同时注册 ~/.claude/settings.json 与 ~/.codex/hooks.json;Codex 首次启动请选 “Trust all and continue”,不存在的配置会自动跳过);会话移交精确绑定到你点击的标签页(即便两个标签共用同一目录);新增操作日志 ~/Library/Logs/Byline/byline.log(体积滚动,仅保留一个备份;不记录终端 I/O、按键与文件路径);移除旧版 /tmp/ai_light_sessions 目录。通用 DMG,已签名并公证,支持 macOS 10.15+。