agent-shell 0.63 updates
摘要
文章概述 agent-shell 从 0.55 到 0.63 的更新:新增 Oh My Pi (omp) 和 Grok Build (xAI) 代理支持,Claude、Cursor、Codex、Cline、Goose、Qwen 等代理的配置与渲染调整;agent-shell-preferred-agent-config 支持更精细的代理选择;markdown 渲染器可通过 agent-shell-markdown-render-functions 扩展,支持 LaTeX 数学方程 SVG 渲染;新增 agent-shell-faces.el 主题控制、工具使用与思考分组为默认折叠的 Activity 部分、agent-shell-activity-group-header-label-function 自定义头部;支持内联渲染 base64 或 URL 图像、音频等资源链接;每代理 MCP 服务器配置;diff 标题显示增删行数、RET 跳转文件位置;out-of-turn 通知渲染改进;新增复制为 Markdown、源块、链接 URL 等命令;viewport 关闭与排队提示;session-choices-function 自定义选项;Cursor 通知适配器;narrow-to-block 命令;系统空闲时保持唤醒(需 Emacs 31.1+);artist-insert-text-drawing 文本绘图;新增 agent-shell-math-renderer、agent-shell-dashboard 等第三方包;维护上 open issues 降至 13、PR 降至 4;附 PR 列表与赞助呼吁。
荐读理由
配置 agent-shell-preferred-agent-config 就能固定用 Grok Build 或 Claude,工具调用和思考自动折叠到 Activity 组;第三方包可扩展 markdown 渲染器把 LaTeX 方程转 SVG,还支持 per-agent MCP 服务器和 inline 图片渲染。
原文
██ ██ ███████ ███ ██ ██████ ██████ ██ ██ ██ ███ ███
██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ████ ████
███ █████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ███████ ██ ████ ██████ ██████ ██ ██████ ██ ██
July 22, 2026
agent-shell 0.63 updates
It's been a little over a month since the 0.55 update, but plenty has landed since. Let's go through the highlights as of v0.63.
What's agent-shell?
agent-shell is a native Emacs mode to interact with AI agents powered by ACP (Agent Client Protocol).
Supported agents
The roster continues to grow.

This time we get two new agents supported:
Additionally:
Claude regains rendering thinking output, since its ACP server started omitting by default.
Cursor now runs on the official Cursor CLI (
agent acp). Note a recent CLI is required, as theacpsubcommand was only added in 2026.Codex now uses @agentclientprotocol/codex-acp.
Cline now accepts a default model and session mode via defcustoms (#693 by @nhojb).
Goose no longer requires an OpenAI key by default (#711 by @hoyon).
Qwen now has explicit support for OpenAI-compatible keys.
Preferred agent
agent-shell-preferred-agent-config gained finer control over agent selection. Set to an agent identifier to skip the picker entirely, or wrap it to keep the picker with a preselected default:
(setq agent-shell-preferred-agent-config 'claude-code)always starts Claude, no prompt.(setq agent-shell-preferred-agent-config '(preselect . claude-code))keeps the picker but preselects Claude as the default.
Custom markdown renderers
The new markdown renderer introduced in 0.55 is now extensible. Third-party packages can claim and render specific markdown constructs (source blocks, inline code ranges, etc) through agent-shell-markdown-render-functions.
Thanks to Andrea Alberti for driving the first integration in agent-shell-math-renderer, which renders LaTeX math equations as SVGs.

agent-shell faces
If you've wanted more theming control over agent-shell buffers, this is now possible via agent-shell-faces.el. Additionally, check out agent-shell-markdown.el for Markdown theming.
Less chatter, more grouping
If your agent session requires lots of tool use (fairly typical), you may notice that shell output is fairly verbose or chatty. This can be quite distracting, so from now on, tool usage as well as thinking are grouped together under an "Activity" section (collapsed by default). If you're a fan of the chatty output, not to worry. Use agent-shell-activity-group-expand-by-default to expand the lot by default.
The new "Activity" section has customisable headers (via agent-shell-activity-group-header-label-function). You now have three ways of rendering the activity header:
Descriptive
Collapsed

Expanded

(setq agent-shell-activity-group-header-label-function
#'agent-shell-activity-group-descriptive-label)
Count
Collapsed

Expanded

(setq agent-shell-activity-group-header-label-function
#'agent-shell-activity-group-count-label)
Tally
Collapsed

Expanded

(setq agent-shell-activity-group-header-label-function
#'agent-shell-activity-group-tally-label)
Inline image and rich content rendering
agent-shell can now render agent-supplied image content inline, whether base64-encoded, a remote URL, or a resource_link/resource content block (#676 by @melito). Audio and other binary resources now render as links that can open externally.
Per-agent MCP servers
You can now attach MCP servers per agent kind through its config using the :mcp-servers field, as requested in #593.
Diff improvements
Section titles now summarize lines added and removed.

In addition, pressing RET in a diff buffer jumps to the file location where the change would apply, while multi-diff permission requests are now supported.
Improved out-of-turn handling
Some agents emit notifications outside of the usual prompt session request/response turn. Historically, these have been dropped by agent-shell. These out-of-turn notifications should now render as expected. Please file a bug if you continue to run into issues.
New copy commands
A few new commands for grabbing hidden content out of the shell buffer:
M-x agent-shell-copy-as-markdowncopies buffer text as markdown.M-x agent-shell-copy-source-block-at-pointcopies the source block at point.M-x agent-shell-copy-link-url-at-pointcopies the URL of the link at point.
Viewport tweaks
The viewport picked up a few refinements:
agent-shell-viewport-dismiss-on-senddismisses the viewport once you send.Submitting prompts via
C-u C-c C-cnow enables you to continue queuing additional requests.History navigation now preserves your in-progress prompt.
Session choices
The new agent-shell-session-choices-function lets you customize what options are presented when starting a new shell. This is useful if you'd like to hide some of these options:

Agent-specific notification adapters
A new notification-adapter mechanism enables agent-specific logic to preprocess notifications before handing back to agent-agnostic handling, starting with a Cursor notification adapter (#702 by @aburtsev).
Narrow to block
M-x agent-shell-narrow-to-block narrows the buffer to the most recent N blocks (defaulting to 1), handy for focusing on the latest exchange (#672 by @arthurgleckler).
Keeping the system awake while busy
To keep a long agent turn from being cut short by idle sleep, agent-shell now keeps the system awake while an agent is busy, releasing it as soon as the turn finishes (the display may still blank). It won't override a hard sleep such as closing a laptop lid. This needs the system-sleep library (Emacs 31.1+) and can be disabled via agent-shell-inhibit-system-sleep. Thanks to @shipmints for proposing the idea.
Artist support
M-x agent-shell-artist-insert-text-drawing lets you sketch simple text drawings to drop into a prompt. Check out Bending Emacs episode 14 for a demo, crafting iOS UI.

New third-party packages
The agent-shell package family keeps expanding. Recent additions:
agent-shell-math-renderer: Render LaTeX math equations as SVGs in
agent-shell.agent-shell-dashboard: A landing page for
agent-shell.agent-shell-links.el: Bookmarks and Org links for
agent-shellsessions.agent-shell-desktop: Desktop save mode integration, resuming shells by folder, config, and session id.
Maintenance and housekeeping
Keeping up with the project requires daily work. Luckily, I'm getting a bit better at time management since my new 24-hour job, so I've been catching up on general project maintenance, delivering bugfixes and feature requests, merging pull requests, and general bookkeeping.
At its most backed-up period, in mid-May, agent-shell's open issues peaked at 75 while pending PRs peaked at 29.
As of today, we are down to 13 open issues and 4 open PRs.

Side note: this chart was generated using the /github-activity skill shared in my emacs-skills repo.

agent-shell needs your support
Vendor-neutral tooling matters, and there are a couple of ways to help keep agent-shell going. Some cost money, others just a click. All are appreciated ;)
Sponsorships for agent-shell longevity
agent-shell is just me, an indie dev, while the tools it competes with have well-funded teams behind them. If this project is useful to you, please consider sponsoring the project. And if your employer benefits from your agent-shell use, nudge them to chip in too, they can typically contribute at a scale individuals can't.
GitHub stars for Anthropic credit
Anthropic offers 6 months of free Claude Max 20x for qualifying open-source projects with at least 5,000+ GitHub stars. Starring agent-shell costs nothing and can save me some money, so if you don't mind a couple of clicks, the project can really use another GitHub star.
Pull requests
Thank you to all contributors for these improvements!
#629: Write
.agent-shell/to.git/info/excludeinstead of.gitignore(@phairoh)#631: Add implementation/support for oh-my-pi (omp) (@tychoish)
#632: Render tool call parameters for non-standard tools like MCP calls (@martenlienen)
#634: Update art generated by
agent-shell-hermes--ascii-art(@TamsynUlthara)#647: Adjust region line counting when ending at the beginning of a line (@bcc32)
#648: Don't italicize intraword underscores (@liaowang11)
#652: Fix file paths in README for model registration (@vellvisher)
#656: Fix previous-item skipping the current fragment's heading (@liaowang11)
#658: Fix viewport previous-page navigation and stale position label (@liaowang11)
#661: Don't delete temp dir on agent-shell-restart (@arthurgleckler)
#664: Fix transcript section heading glued to interrupted agent message (@liaowang11)
#665: Don't trigger completion on path separators in file paths (@liaowang11)
#666: Preserve viewport edit draft when queued request executes (@liaowang11)
#667: Fix markdown rendering for non-streamed bodies (@arthurgleckler)
#672: Add agent-shell-narrow-to-block (@arthurgleckler)
#687: Record session ID and model in transcript header (@alberti42)
#696: Strip source-buffer properties from grabbed region context (@liaowang11)
#697: Fix agent-shell-send-dwim double-inserting context with prefix arg (@liaowang11)
#707: Add hermes to default agent configs (@eliferrous)
#709: Prevent programmatic fragments ending up in undo history (@martinbaillie)
#711: Update goose to not require OpenAI key by default (@hoyon)
#713: Align embedded-image rendering with link rendering (@alberti42)
#715: Fix table column wrapping for CJK text (@ktakahashi74)
#717: Make the markdown render context available via a public function (@alberti42)
#720: Add first-class Grok Build (xAI) ACP support (@eddof13)
Make it sustainable, sponsor the effort
Liking agent-shell? Would like to see it evolve? Consider sponsoring the effort.
powered by LMNO.lol
这条对你有帮助吗?