agent-shell 0.63 更新

Lobsters Hottest 工具

摘要

agent-shell 0.63 新增了对新 AI 智能体(Oh My Pi、Grok Build)的支持,并进行了多项改进,例如首选智能体配置、自定义 Markdown 渲染器以及活动分组功能,以减少输出中的冗余信息。

<p><a href="https://lobste.rs/s/oscswl/agent_shell_0_63_updates">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/07/24 04:58

# agent-shell 0.63 更新 来源:https://xenodium.com/agent-shell-0-63-updates 2026年7月22日距离上次0.55更新(https://xenodium.com/agent-shell-0-55-updates)已过去一个多月,但期间有不少新内容落地。让我们来看看截至 v0.63 的主要亮点。 ## 什么是 `agent-shell`? agent-shell (https://github.com/xenodium/agent-shell) 是一个原生的 Emacs (https://www.gnu.org/software/emacs/) 模式,用于与基于 ACP (Agent Client Protocol (https://agentclientprotocol.com/)) 的 AI 智能体交互。 ## 支持的智能体 支持列表持续增长。 本次新增两个智能体支持: - Oh My Pi (https://github.com/can1357/oh-my-pi)(`omp`),#631 (https://github.com/xenodium/agent-shell/pull/631),由 @tychoish (https://github.com/tychoish) 贡献。 - Grok Build (https://x.ai/)(xAI),#720 (https://github.com/xenodium/agent-shell/pull/720),由 @eddof13 (https://github.com/eddof13) 贡献。 此外: - **Claude** 重新支持展示思考输出,因为其 ACP 服务器默认开始省略该内容。 - **Cursor** 现在运行在官方 Cursor CLI (https://cursor.com/docs/cli)(`agent acp`)之上。请注意需要使用最新的 CLI,因为 `acp` 子命令是在 2026 年才加入的。 - **Codex** 现在使用 @agentclientprotocol/codex-acp (https://github.com/agentclientprotocol/codex-acp)。 - **Cline** 现在通过 defcustoms 支持默认模型和会话模式(#693 (https://github.com/xenodium/agent-shell/pull/693),由 @nhojb (https://github.com/nhojb) 贡献)。 - **Goose** 默认不再需要 OpenAI 密钥(#711 (https://github.com/xenodium/agent-shell/pull/711),由 @hoyon (https://github.com/hoyon) 贡献)。 - **Qwen** 现在显式支持 OpenAI 兼容的密钥。 ## 首选智能体 `agent-shell-preferred-agent-config` 获得了对智能体选择更精细的控制。设置为一个智能体标识符可以完全跳过选择器,或者将其包装起来以保留选择器但预设默认值: - `(setq agent-shell-preferred-agent-config 'claude-code)` 始终启动 Claude,不弹出提示。 - `(setq agent-shell-preferred-agent-config '(preselect . claude-code))` 保留选择器但默认选中 Claude。 ## 自定义 Markdown 渲染器 0.55 中引入的新 Markdown 渲染器现在可扩展。第三方包可以通过 `agent-shell-markdown-render-functions` 声明并渲染特定的 Markdown 结构(源码块、内联代码范围等)。 感谢 Andrea Alberti (https://github.com/alberti42) 推动在 agent-shell-math-renderer (https://github.com/alberti42/agent-shell-math-renderer) 中的首次集成,该渲染器将 LaTeX 数学公式渲染为 SVG。 ## agent-shell faces 如果您希望对 `agent-shell` 缓冲区有更多的主题控制,现在可以通过 `agent-shell-faces.el` 实现。此外,请查看 `agent-shell-markdown.el` 以获取 Markdown 主题设置。 ## 减少冗长,增加分组 如果您的智能体会话涉及大量工具使用(相当常见),您可能会注意到 shell 输出相当冗长或嘈杂。这可能相当分散注意力,因此从现在开始,工具使用以及思考过程都被归入一个“活动”部分(默认折叠)。如果您喜欢详细的输出,无需担心。使用 `agent-shell-activity-group-expand-by-default` 可以默认展开所有内容。 新的“活动”部分具有可自定义的标题(通过 `agent-shell-activity-group-header-label-function`)。您现在有三种方式渲染活动标题: ### 描述性 折叠状态 展开状态 ``` (setq agent-shell-activity-group-header-label-function #'agent-shell-activity-group-descriptive-label) ``` ### 计数 折叠状态 展开状态 ``` (setq agent-shell-activity-group-header-label-function #'agent-shell-activity-group-count-label) ``` ### 总计 折叠状态 展开状态 ``` (setq agent-shell-activity-group-header-label-function #'agent-shell-activity-group-tally-label) ``` ## 内联图像和富内容渲染 `agent-shell` 现在可以内联渲染智能体提供的图像内容,无论是 base64 编码、远程 URL 还是 `resource_link/resource` 内容块(#676 (https://github.com/xenodium/agent-shell/pull/676),由 @melito (https://github.com/melito) 贡献)。音频和其他二进制资源现在渲染为可外部打开的链接。 ## 按智能体配置 MCP 服务器 您现在可以通过配置中的 `:mcp-servers` 字段为每种智能体类型附加 MCP 服务器,这是应 #593 (https://github.com/xenodium/agent-shell/issues/593) 中的请求而实现的。 ## Diff 改进 章节标题现在总结了新增和删除的行数。 此外,在 diff 缓冲区中按 `RET` 会跳转到更改将应用的文件位置,同时现在支持多 diff 权限请求。 ## 改进的乱序处理 某些智能体会在正常的提示会话请求/响应轮次之外发送通知。过去,这些通知会被 `agent-shell` 丢弃。这些乱序通知现在应该能够正常渲染。如果您仍然遇到问题,请提交 bug (https://github.com/xenodium/agent-shell/issues)。 ## 新的复制命令 一些用于从 shell 缓冲区中抓取隐藏内容的新命令: - `M-x agent-shell-copy-as-markdown` 将缓冲区文本复制为 markdown。 - `M-x agent-shell-copy-source-block-at-point` 复制光标处的源码块。 - `M-x agent-shell-copy-link-url-at-point` 复制光标处链接的 URL。 ## 视口调整 视口进行了一些改进: - `agent-shell-viewport-dismiss-on-send` 在发送后自动关闭视口。 - 通过 `C-u C-c C-c` 提交提示现在可以继续排队更多请求。 - 历史导航现在保留您正在编辑的提示内容。 ## 会话选项 新的 `agent-shell-session-choices-function` 允许您自定义启动新 shell 时呈现哪些选项。如果您想隐藏其中某些选项,这会非常有用: ## 智能体特定通知适配器 一种新的通知适配器机制,允许智能体特定的逻辑在将通知交还给智能体无关的处理之前进行预处理,首先从 Cursor 通知适配器开始(#702 (https://github.com/xenodium/agent-shell/pull/702),由 @aburtsev (https://github.com/aburtsev) 贡献)。 ## 缩小到块 `M-x agent-shell-narrow-to-block` 将缓冲区缩小到最近的 N 个块(默认为 1),便于聚焦于最新的对话(#672 (https://github.com/xenodium/agent-shell/pull/672),由 @arthurgleckler (https://github.com/arthurgleckler) 贡献)。 ## 忙碌时保持系统唤醒 为了防止长时间智能体轮次因空闲休眠而被中断,`agent-shell` 现在在智能体忙碌时保持系统唤醒,并在轮次完成后立即释放(显示器可能仍会关闭)。它不会覆盖硬件休眠,例如合上笔记本电脑盖。这需要 `system-sleep` 库(Emacs 31.1+),并可通过 `agent-shell-inhibit-system-sleep` 禁用。感谢 @shipmints (https://github.com/shipmints) 提出这个想法 (https://github.com/xenodium/agent-shell/issues/644)。 ## Artist 支持 `M-x agent-shell-artist-insert-text-drawing` 允许您绘制简单的文本图形并放入提示中。请查看 Bending Emacs 第14集 (https://www.youtube.com/watch?v=7fdHeUoRRgg) 的演示,了解如何制作 iOS UI。 ## 新的第三方包 `agent-shell` 包家族持续扩展。最近新增: - agent-shell-math-renderer (https://github.com/alberti42/agent-shell-math-renderer):在 `agent-shell` 中将 LaTeX 数学公式渲染为 SVG。 - agent-shell-dashboard (https://github.com/wandersoncferreira/agent-shell-dashboard):`agent-shell` 的首页。 - agent-shell-links.el (https://github.com/ultronozm/agent-shell-links.el):为 `agent-shell` 会话提供书签和 Org 链接。 - agent-shell-desktop (https://github.com/timfel/agent-shell-desktop.el):桌面保存模式集成,按文件夹、配置和会话 ID 恢复 shell。 ## 维护和内务管理 维持项目需要日常投入。幸运的是,自从我的新 24小时工作 (https://xenodium.com/and-then-there-were-three) 以来,我在时间管理上略有进步,因此我一直在赶上常规项目维护、处理错误修复和功能请求、合并拉取请求以及常规记账。 在最积压的时期,五月中旬,`agent-shell` 的未解决问题达到 75 个,待处理 PR 达到 29 个。 截至今天,我们下降到 13 个未解决问题和 4 个待处理 PR。 顺便提一下:这张图表是使用我在 emacs-skills (https://github.com/xenodium/emacs-skills) 仓库中分享的 `/github-activity` 技能生成的。 ## agent-shell 需要您的支持 供应商中立的工具很重要,有几种方法可以帮助 `agent-shell` 持续发展。有的需要花钱,有的只需点击一下。所有方式都值得感激 ;) `agent-shell` 只有我一个人,一个独立开发者,而它竞争的工具背后都有资金充足的团队。如果这个项目对您有用,请考虑赞助 (https://github.com/sponsors/xenodium) 该项目。如果您的雇主因您使用 `agent-shell` 而受益,请鼓励他们也出一份力,他们通常能够提供个人无法达到的支持规模。 ### GitHub 星标换取 Anthropic 积分 Anthropic 为符合条件的开源项目提供6个月的免费 Claude Max 20x (https://claude.com/contact-sales/claude-for-oss),前提是项目在 GitHub 上拥有至少 5,000+ 星标。给 agent-shell (https://github.com/xenodium/agent-shell/) 点星标不花一分钱,但可以为我节省一些费用,所以如果您不介意点几下,这个项目真的很需要另一个 GitHub 星标 (https://github.com/xenodium/agent-shell/)。 ## 拉取请求 感谢所有贡献者带来的这些改进! - \#629 (https://github.com/xenodium/agent-shell/pull/629):将 `.agent-shell/` 写入 `.git/info/exclude` 而不是 `.gitignore`(@phairoh (https://github.com/phairoh)) - \#631 (https://github.com/xenodium/agent-shell/pull/631):添加对 oh-my-pi (omp) 的实现/支持(@tychoish (https://github.com/tychoish)) - \#632 (https://github.com/xenodium/agent-shell/pull/632):为 MCP 调用等非标准工具渲染工具调用参数(@martenlienen (https://github.com/martenlienen)) - \#633 (https://github.com/xenodium/agent-shell/pull/633):添加 ERT 测试的 GitHub Actions 工作流(@phairoh (https://github.com/phairoh)) - \#634 (https://github.com/xenodium/agent-shell/pull/634):更新由 `agent-shell-hermes--ascii-art` 生成的艺术作品(@TamsynUlthara (https://github.com/TamsynUlthara)) - \#639 (https://github.com/xenodium/agent-shell/pull/639):重启时保留窗口位置(@Gleek (https://github.com/Gleek)) - \#647 (https://github.com/xenodium/agent-shell/pull/647):当结尾在行首时调整区域行计数(@bcc32 (https://github.com/bcc32)) - \#648 (https://github.com/xenodium/agent-shell/pull/648):不要斜体显示词内下划线(@liaowang11 (https://github.com/liaowang11)) - \#651 (https://github.com/xenodium/agent-shell/pull/651):在 fork 的 PR 上发布测试结果(@phairoh (https://github.com/phairoh)) - \#652 (https://github.com/xenodium/agent-shell/pull/652):修复 README 中模型注册的文件路径(@vellvisher (https://github.com/vellvisher)) - \#653 (https://github.com/xenodium/agent-shell/pull/653):添加对 agent-shell-desktop.el 的引用(@timfel (https://github.com/timfel)) - \#656 (https://github.com/xenodium/agent-shell/pull/656):修复 previous-item 跳过当前片段的标题(@liaowang11 (https://github.com/liaowang11)) - \#658 (https://github.com/xenodium/agent-shell/pull/658):修复视口上一页导航和过时位置标签(@liaowang11 (https://github.com/liaowang11)) - \#659 (https://github.com/xenodium/agent-shell/pull/659):在 CI 中使用原生 ERT JUnit 报告(@phairoh (https://github.com/phairoh)) - \#661 (https://github.com/xenodium/agent-shell/pull/661):在 agent-shell-restart 时不要删除临时目录(@arthurgleckler (https://github.com/arthurgleckler)) - \#664 (https://github.com/xenodium/agent-shell/pull/664):修复日志部分标题粘在中断的智能体消息上(@liaowang11 (https://github.com/liaowang11)) - \#665 (https://github.com/xenodium/agent-shell/pull/665):不要在文件路径的路径分隔符上触发补全(@liaowang11 (https://github.com/liaowang11)) - \#666 (https://github.com/xenodium/agent-shell/pull/666):当排队请求执行时保留视口编辑草稿(@liaowang11 (https://github.com/liaowang11)) - \#667 (https://github.com/xenodium/agent-shell/pull/667):修复非流式体的 Markdown 渲染(@arthurgleckler (https://github.com/arthurgleckler)) - \#672 (https://github.com/xenodium/agent-shell/pull/672):添加 agent-shell-narrow-to-block(@arthurgleckler (https://github.com/arthurgleckler)) - \#676 (https://github.com/xenodium/agent-shell/pull/676):内联渲染智能体图像内容块(@melito (https://github.com/melito)) - \#686 (https://github.com/xenodium/agent-shell/pull/686):修复 README 中拉取 Qwen2.5 模型的命令(@jcubic (https://github.com/jcubic)) - \#687 (https://github.com/xenodium/agent-shell/pull/687):在日志标题中记录会话 ID 和模型(@alberti42 (https://github.com/alberti42)) - \#693 (https://github.com/xenodium/agent-shell/pull/693):修复 cline 智能体(@nhojb (https://github.com/nhojb)) - \#695 (https://github.com/xenodium/agent-shell/pull/695):修复窗口标题意外调整大小的问题(@jcubic (https://github.com/jcubic)) - \#696 (https://github.com/xenodium/agent-shell/pull/696):从抓取区域上下文中去除源缓冲区属性(@liaowang11 (https://github.com/liaowang11)) - \#697 (https://github.com/xenodium/agent-shell/pull/697):修复 agent-shell-send-dwim 在使用前缀参数时重复插入上下文(@liaowang11 (https://github.com/liaowang11)) - \#698 (https://github.com/xenodium/agent-shell/pull/698):修复格式化文本内的鼠标复制(@jcubic (https://github.com/jcubic)) - \#702 (https://github.com/xenodium/agent-shell/pull/702):添加 cursor 工具调用输出适配器(@aburtsev (https://github.com/aburtsev)) - \#707 (https://github.com/xenodium/agent-shell/pull/707):将 hermes 添加到默认智能体配置中(@eliferrous (https://github.com/eliferrous)) - \#709 (https://github.com/xenodium/agent-shell/pull/709):防止程序化片段出现在撤销历史中(@martinbaillie (https://github.com/martinbaillie)) - \#711 (https://github.com/xenodium/agent-shell/pull/711):更新 goose 使其默认不需要 OpenAI 密钥(@hoyon (https://github.com/hoyon)) - \#713 (https://github.com/xenodium/agent-shell/pull/713):使嵌入式图像渲染与链接渲染对齐(@alberti42 (https://github.com/alberti42)) - \#715 (https://github.com/xenodium/agent-shell/pull/715):修复 CJK 文本的表格列换行(@ktakahashi74 (https://github.com/ktakahashi74)) - \#716 (https://github.com/xenodium/agent-shell/pull/716):修复恢复 copilot 会话(@gnufied (https://github.com/gnufied)) - \#717 (https://github.com/xenodium/agent-shell/pull/717):通过公共函数使 Markdown 渲染上下文可用(@alberti42 (https://github.com/alberti42)) - \#720 (https://github.com/xenodium/agent-shell/pull/720):添加一流的 Grok Build (xAI) ACP 支持(@eddof13 (https://github.com/eddof13)) - \#721 (https://github.com/xenodium/agent-shell/pull/721):修复隐藏的流式 Markdown 标题(@regadas (https://github.com/regadas)) - \#727 (https://github.com/xenodium/agent-shell/pull/727):获取正确的 Pi 徽标(@JanJoar (https://github.com/JanJoar)) 喜欢 `agent-shell`?希望看到它不断发展?请考虑赞助 (https://github.com/sponsors/xenodium) 这项工作。 由 LMNO.lol (https://lmno.lol/) 驱动 隐私政策 (https://lmno.lol/blog/privacy-policy) · 服务条款

相似文章

agent-shell 0.55 更新

Lobsters Hottest

agent-shell 0.55 新增对 CodeBuddy、Hermes 和 Kimi Code 等新 AI 代理的支持,强调供应商中立的 ACP。该更新还讨论了生态系统变化,并呼吁社区支持。

agents-cli

Product Hunt

Agents-cli 是一个命令行界面工具,可使编码代理部署 AI 代理。

Deep Agents v0.7(6分钟阅读)

TLDR AI

LangChain发布了Deep Agents v0.7,这是一个更精简的智能体框架,通过移除默认系统提示、精简工具描述以及将TodoListMiddleware设为可选,将基础输入令牌减少了65%,并在多个模型上验证了性能相当。