Skip to content

Releases: by123/byline

Byline v0.13.2

Choose a tag to compare

@by123 by123 released this 30 Jul 07:03

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

Choose a tag to compare

@by123 by123 released this 29 Jul 09:29

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 ⌘Q are 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

Choose a tag to compare

@by123 by123 released this 29 Jul 08:57

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

Choose a tag to compare

@by123 by123 released this 28 Jul 03:26

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

Choose a tag to compare

@by123 by123 released this 27 Jul 11:23

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 terminal action — 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

Choose a tag to compare

@by123 by123 released this 24 Jul 10:07

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

Choose a tag to compare

@by123 by123 released this 23 Jul 07:17

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

Choose a tag to compare

@by123 by123 released this 17 Jul 09:51

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

Choose a tag to compare

@by123 by123 released this 13 Jul 08:06

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)

Choose a tag to compare

@by123 by123 released this 10 Jul 04:44

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_sessions status 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+。