更新日志
从 0.2.0 起的 16 个版本,每一版的新功能和修复。安装包都在 GitHub Releases。
-
v0.3.14
最新修复
- Agent Butler 记住 API Key:在设置中应用密钥后,按服务商保存至系统凭据库,重启后自动读取。切换模型时留空会保留原密钥;需要删除时使用「移除已保存的密钥」。设置页会显示保存状态和读取、写入失败原因,密钥不会写入普通设置文件。
- 终端左侧 prompt 导航:将 prompt 刻度移到终端内部左侧,独立留出空间,避免与右侧普通滚动条重叠。悬停预览 prompt 和回复,点击跳转到对应位置。
从旧版本升级后,需要重新输入并应用一次 API Key;旧版本只把密钥保留在进程内存中。Prompt 刻度依赖 agent hooks 上报及当前终端回滚记录中的对应文本,不会重建启动前的历史 prompt。
-
新功能
- 鲸鱼娘任务卡片:点击鲸鱼娘即可查看各会话状态、近期任务和待处理事项,一键跳转对应会话。默认在本地生成,不消耗模型 token;需要时再点 AI 解读。
- 偶尔聊两句:在「设置 → Agent Butler」开启后,停留在正在工作的会话、5–10 分钟没有操作时,鲸鱼娘会偶尔结合当前项目提一句建议。恢复输入、切换会话或离开窗口会停止。使用短上下文,每次输出上限 160 token,至少间隔 20 分钟,每小时最多 3 次尝试。
- 她记得的事:可选本地记忆,分别保存表达偏好和项目记录。支持查看来源、查找、修正、撤销、忘掉和清空,也可以直接回应鲸鱼娘的建议。
- 克制地使用记忆:普通闲聊默认不召回项目历史;只有同项目、同一未解决任务明确匹配时,才最多带入 2 条记录。相似建议会在本地去重,AI 整理出的记录会标明尚未确认。
- 独立控制 AI 整理:本地记忆、主动发言、AI 整理都有独立开关,默认关闭。AI 整理每小时最多 2 次,至少间隔 30 分钟,跨重启保留用量限制。
- 更清晰的会话列表:左侧 session 之间增加细分隔线和留白,保留选中项底色。
记忆保存在本机 SQLite 中,带有事件保留期限、容量限制和清理机制。API Key 不写入记忆库。AI 功能使用你在 Agent Butler 中配置的模型与凭据;本地任务卡片和手动记忆管理不需要模型调用。
Agent Butler guide · Memory behavior and limits · 完整改动 · 在 GitHub 上查看 ↗
-
新功能
- 设置中安装 Hooks:在「设置 → 终端」一键为已安装的 Agent 配置状态同步,显示安装结果并自动备份已有配置。支持 macOS 和 Linux。
- 自定义所有角色:在「设置 → 角色」独立替换 8 个模型娘和鲸鱼娘,支持 PNG/APNG、GIF 和 WebP 图片或动画。
- 完整角色包:支持逐动作替换、动画预览,以及
.elyskin角色包导入、导出和分享。缺少的动作使用自定义待机素材。 - 鲸鱼娘位置调整:可调整窗口角色的大小和偏移,每个角色都能单独恢复默认。
- 素材持久保存:导入素材保存到应用配置目录,移动原文件不影响显示;坏素材不会覆盖已有皮肤。
安装或更新 Hooks 后,请重启正在运行的 Agent 使其生效。
-
这一版没有写说明。
-
这一版的说明只有英文。
Sidebar and Files improvements
- Reorganize session rows into the working path, model and activity, and last-update time, with a small red close button in the upper-right corner.
- Make the sidebar boundaries and the divider above the temporary terminal easier to see, with clearer resize grips and hover feedback.
- Add Files context-menu actions: Refresh, New File, New Folder, Open in Finder, and Move to Trash. Creation uses the selected directory or the selected file's parent and never overwrites an existing entry.
- Introduce consistent, minimal file-type icons for common languages, configuration files, build tools and media, including Go, TypeScript, Thrift, Protocol Buffers, GraphQL and Terraform.
-
这一版的说明只有英文。
A new icon of the fork's own, the whale girl goes for a stroll, and upstream ELYTerminal 0.1.8 comes in.
Icon
- Ely Tea Party has its own icon now: the whale girl peeking over a terminal window. Installed beside ELYTerminal, the two no longer look alike.
- On macOS it's drawn on the exact shape macOS 26 gives every app icon, so it sits the same size as its neighbors in the Dock.
- Keep the app open on a Mac, and every so often, for a few seconds, she bites the terminal in your Dock.
The whale girl
- At rest she now takes a stroll: she walks along the window's edge to a spot over the terminal, peers at it (down from the top edge, up from the bottom one), can't make head or tail of it, and walks back. Anything that wakes her sends her hurrying home.
- Her working pose makes sense now: the bowl sits on the floor, one hand types and the other holds the chopsticks.
Sessions (from upstream 0.1.8)
- Right-click a session's row for Duplicate session, which opens the same program in the same folder right after it, and Close session. Dragging rows to reorder them works as before.
- On Windows, each session's environment is read fresh from the registry, so variables set since the app started show up in new sessions.
-
这一版的说明只有英文。
Each character now carries a trinket of her own, agents come back after a restart, and file paths in the terminal open.
Trinkets
- Every character has a box of 12 trinkets drawn for her world: Claude学姐's ribbons, teacups and grimoire, Grok娘's picks, amps and chili, Kimi兔's mooncakes and lanterns, Pi酱's pies and rolling pin, and so on for all eight.
- Each session's character wears one at the corner of her picture, and no two sessions wear the same one, so three Claudes side by side are easy to tell apart.
- A session keeps its trinket across restarts.
Sessions
- Agents resume after a restart. Claude Code started inside a session no longer inherits the marks of a Claude it was launched from, so it saves its conversation and
claude --resumepicks it up when the app opens again. - A session's name you gave it now comes back after a restart too.
- An agent's "last updated" time no longer jumps when you only switch to its session: redraws after a resize or a focus change, and a Codex state read again, don't count.
Terminal
- Cmd-click (Ctrl-click on Windows and Linux) a file path, such as
src/main.rs:12, to open the file. Relative paths start from the shell's folder; a path opens only where a file exists.
-
这一版的说明只有英文。
Activity now reads as a story of each round, the right column's tabs move into the title bar, and the whale girl shows whole on external displays.
Activity, round by round
- Each round is headed by your prompt, with when it started, how long it took and how it ended: ✓, ✗, in progress, or unended.
- Its steps follow in order, each with a small bar of its time against the round's longest. A step still running counts up live.
- Steps are colored by kind: reading blue, editing purple, running cyan, a question for you amber, a failure red. The agent's last words close the round in green.
- The newest round is open; older ones fold to their counts, such as
读 5 改 2 跑 3 失败 1. The chevron opens or folds one. - A press on a round's prompt scrolls the terminal to where you typed it.
- A session keeps its rounds after its agent exits, until you close the session.
The right column
- Git, Files and Activity sit in the column's title bar, level with the terminal's title, each in its own color: Git amber, Files blue, Activity purple.
- The lit tab glides to the one you choose and the column fades in. With Reduce Motion on, both switch at once.
The sessions column
- An agent's row shows when it was last updated: the time today, else the date.
Fixes
- On an external display with a different scale, the whale girl showed only the top of her head, or shrank on the way back. She now draws at the scale of the display she is on.
-
这一版的说明只有英文。
Fast and Ultrafast sessions now light the terminal's edges while the agent works, each in its agent's color.
Fast and Ultrafast, on the terminal's edges
- A Fast session lights the terminal's edges while its agent works: Claude in its warm copper, Codex in its green.
- Codex Ultrafast goes further: faster green and cyan trails, counter-rotating sparks, and corners that softly pulse.
- The effects stop while the agent is idle or waiting for you. With Reduce Motion on, they become a faint, still edge.
- A session's row shows its speed. For a new local Codex, Ely reads its configuration at startup and labels the row
Fast (configured)orUltrafast (configured)until Codex reports its speed live. That's the mode it was configured with, not measured speed. - Switching Codex's tier mid-session (
Service tier set to ultrafast,priorityordefault) is picked up as it happens.
After upgrading
Run
ely-tea-party hooks install claude codexagain, then restart those agents. Claude's status line now forwards itsfast_mode, keeping your own status-line command and output; Codex's title gains itsfast-modefield, keeping your other title items. A title you set to empty stays off. -
这一版的说明只有英文。
Upstream's ELYTerminal 0.1.7 under the tea party, the mascot moving house when the window leaves her no room, prompt marks on the scrollbar, and Codex's usage read live.
The mascot moves house
- When the window goes full screen or meets the top of the screen, there's no room above it for her. She now hops, dives behind the edge, and rises from the window's bottom edge instead; when the room comes back, she moves back the same way.
- Drag her along the edge to move her; the place is kept.
Prompt marks on the scrollbar
- Each prompt you gave a hooked agent gets a mark on the terminal's scrollbar, beside the thumb when the view shows it. Hover a mark to see the prompt and the start of the reply; press it to scroll there.
Codex's usage, live
- The right column's foot now asks OpenAI for Codex's usage, the same way Codex's own usage display does, every 2 minutes, with the ChatGPT login Codex keeps. Before, it read Codex's local logs, which only knew the limits as of the last turn on this computer.
- Credits show how many messages they buy. If the endpoint can't be asked (no login, an expired login, no network), the foot shows the logs' numbers and says how old they are.
From upstream ELYTerminal 0.1.5–0.1.7
- A scrollbar over the terminal's history, which you can drag even while a program takes the wheel.
- A click on the line the shell is reading moves its cursor there.
- Files dropped on the terminal type their paths, quoted for the session's shell.
- Fallback fonts for characters your font lacks (Settings › Appearance).
- Double-click a session's row to rename it.
- Settings › Terminal: Check for updates automatically turns the app's own update checks on and off, and an Updates row checks now.
- On Windows 10, dragging a blurred window no longer lags.
-
这一版的说明只有英文。
The app now tells you when a new version is out, and on macOS updates itself.
Updates from the title bar
- At start, every 6 hours, and from Ely Tea Party → Check for Updates…, the app asks GitHub for the newest release. When one is newer, a 更新到 X.Y.Z button appears in the title bar.
- On macOS one press downloads the disk image, checks it is signed by the same Developer ID, notarized, and the version it claims, and puts it in place of the running app. The button then says 重启以完成更新; press it when you're ready to restart, so your sessions aren't cut off mid-task. Your sessions come back after the restart as usual.
- On Windows and Linux the button opens the release's page.
- This release is the last one you install by hand: 0.3.3 and earlier have no button.
-
这一版的说明只有英文。
The whale girl peeks over your window, and upstream's ELYTerminal v0.1.4 comes along.
The whale girl over the window
- The sessions column's 鲸鱼娘 now peeks over the main window's top edge, drawn from her own sharper art (224 px, keyed from the original 960 px clips).
- While your sessions are busy she follows them: typing at her laptop while an agent works, a raised hand while one waits for you, puzzled at an error, the water-spout when a task finishes or when you click her.
- At rest she just stands there. After a minute with nothing happening she sneaks a snack and slacks off with chips by turns, and after 5 minutes she falls asleep among her empty bowls. Typing in a terminal, a click in the window, or any change in your sessions wakes her.
- Settings → Terminal: Mascot turns her off, and Who peeks brings back upstream's Ely instead.
From upstream (ELYTerminal v0.1.4)
- Ely, upstream's mascot, who also follows your agents' state here.
- herdr: its shortcuts work under kitty's keyboard protocol, and links inside herdr open whole through herdr.
- Windows: keys reach herdr through win32-input-mode; Ely's window sizes and places right on every display.
-
这一版的说明只有英文。
See how much of your coding plan is left without leaving the terminal.
Subscription use under the right column
- The foot of the right column shows the shown session's agent's plan use: Claude Code's 5-hour window and its weekly windows, Codex's windows and credits, each with how full it is and when it resets. The bar turns amber past 80% and red past 95%.
- Codex's use is read from Codex's own session logs every 30 s, with no login and no network.
- Claude Code's use comes from the endpoint Claude Code's
/usageasks, every 5 minutes, with the login Claude Code already keeps (the keychain on macOS,~/.claude/.credentials.jsonelsewhere), sent throughcurlso the token appears in no process list. Ely Tea Party never refreshes that login; when it has expired, the foot says so until Claude Code runs again. macOS may ask once whether to letsecurityread the keychain item. - Other agents and plain shells show no foot.
-
这一版的说明只有英文。
Ely Tea Party catches up with upstream: ELYTerminal v0.1.3 (
3ee525a) by Zachary Zhang, under the tea party.From upstream
- The sessions and right columns resize by dragging their border toward the terminal (160–960 px), and the window opens at the size it was left at.
- Prompts and commands are marked with OSC 133: Cmd-Up and Cmd-Down (Ctrl-Shift-Up/Down elsewhere) jump to the previous or next prompt.
- Programs report what they do through OSC 7501 and progress through OSC 9;4; herdr's agents count too. A session without a coding agent shows this as a small dot mark: working, waiting, error, done.
- System notifications: programs can post through OSC 9, 777 and 99, and a session posts when it starts waiting, finishes, fails or a command ends, while the window is in the background or the session hidden. A click shows the session.
In the tea party
- Sessions running a coding agent keep their animated character, which shows the state; other sessions show upstream's status mark.
- Upstream's resizable columns replace the fork's own sessions divider; the sessions column still opens at 288 px.
- Sessions restored at start that are not shown post notifications like any hidden session.
-
这一版的说明只有英文。
The tea party release: the characters now show what their agents actually do, and a workbench grows around them.
Characters that know what's going on
- Hooks for every supported agent:
ely-tea-party hooks installsets up Claude Code, Codex, Gemini/Antigravity, Kimi, Grok, OpenCode and Pi in one go, backing up each file it changes (*.ely-tea-party.bak).ely-tea-party hooks install AGENTdoes one. - Each session's row says what its agent is doing (reading, editing, running, searching, delegating…), with turn stats, and a speech bubble at moments that matter: a new prompt, a failure, a long turn done, a question for you.
- Animations play frame by frame and keep moving when the window is in the background; the shown session's character is drawn larger.
- Tea party (Cmd-Shift-O): every session as a card, so you see at a glance who works, who waits, and who raised a hand.
- Activity tab in the right column: the shown session's timeline of prompts, tool calls with their times, questions and turn ends.
A workbench around them
- Drawer (Cmd-J): a scratch shell under each session, in its folder, for the odd manual command. Drag its edge to resize.
- Sessions come back: at the next start each session reopens in its folder and its agent resumes its conversation. Turn this off in Settings → Terminal.
- Drag sessions up and down to reorder them; drag the sidebar's edge to resize it; double-click empty sidebar space for a new session.
- Long folders show fish-style (
~/W/o/e/ELYTerminal), with the full path on hover.
Fixes
- Links open in TUIs (OSC 8 hyperlinks and plain URLs) with Cmd-click.
lscolumns line up: tabs are drawn as spaces.- Antigravity no longer denies tool calls: its PreToolUse hook is gone. Run
ely-tea-party hooks install agyagain to update an earlier install.
- Hooks for every supported agent:
-
这一版的说明只有英文。
The first release of Ely Tea Party, a fork of ELYTerminal by Zachary Zhang (v0.1.1,
8bc94ed), made with the author's permission.A terminal for coding agents
- Each session running a coding agent shows it in the sessions column as an animated chibi character whose pose follows what the agent is doing: working, thinking, waiting for you, idle or asleep.
- Characters: Claude学姐 (
claude), GPT娘 (codex), 鲸鱼娘 (dscode/deepseek), Grok娘 (grok), Kimi兔 (kimi), Gemini星 (gemini/antigravity), Pi酱 (pi/omp), OpenCode娘 (opencode). - Zero setup: the agent is read from the session's foreground job,
node …andnpx …launches included. Without hooks, output, quiet and bells stand in for its state. ely-tea-party hooks installadds Claude Code hooks for the exact state (backing up~/.claude/settings.jsonfirst) and prints Codex'snotifyline. The hooks do nothing in other terminals.- Cmd-Shift-U (Ctrl-Shift-U elsewhere) shows the first session whose agent waits for you.