Releases: ClickPM/AcpAgentClient
Release list
AcpAgent Client 1.4.6
v1.4.5 之后合入 main 的两项修复:agent 跑长命令时风扇狂转(常驻动画改挂共用低频时钟,前台核显占用 45.8% → 6.0%),以及 agent 收轮之后又接着输出时原结论被一并折走。另新增英文版 README。两项合并前各自经 cursor(grok-4.7-high-fast)审查到 0 条,细目见 iterations/ 的 iteration-14、15。
下载哪一个
| 文件 | 体积 | 说明 |
|---|---|---|
AcpAgentClient-1.4.6-setup.exe |
79.0 MB | 一般选这个。per-user 安装,装进 %LOCALAPPDATA%\Programs\AcpAgentClient,不要管理员权限。含 Zed Agent sidecar |
AcpAgentClient-1.4.6-windows-x64.zip |
107.3 MB | 免安装,解压即用。含 Zed Agent sidecar |
AcpAgentClient-1.4.6-windows-x64-nosidecar.zip |
46.2 MB | 免安装,不含 sidecar:不需要 Zed 内置 agent 时体积小一半多。其余五个 agent 照常 |
Windows 10 / 11 x64。其余 agent(Claude Agent、Codex、Cursor、pi、DeepSeek Harness)走 ACP registry 在应用内安装,npx 型的需要系统 Node ≥ 22(没有的话应用会下载一份受管 Node 到自己的数据目录)。
安装包没有代码签名,SmartScreen 首次会拦一下:「更多信息」→「仍要运行」。用户数据在 %APPDATA%\AcpAgentClient,卸载不会删它。sidecar(zed-agent-acp)仍是 1.21.0,跟上游 zed 钉版本走,与应用版本无关(硬性规则 11)。
SHA-256:
1a9e8a115a71c9339933f4b4c60ed083eba588a4c83d8141e88127761f13c41e AcpAgentClient-1.4.6-windows-x64.zip
ff4541976f1bb02f3607d4fb0f110a8479c8efe84ef157c68da267b0cb139eda AcpAgentClient-1.4.6-windows-x64-nosidecar.zip
55af5f3cc0cfca89653fa3b6a60b61651d0657994fa8f900351f73d07d145d8e AcpAgentClient-1.4.6-setup.exe
变更
跑长命令时风扇不再狂转(iteration-14)
- 常驻动画不再逐帧跑:会话头与卡片上的转圈、侧栏扫掠线改挂一个共用的低频时钟——前台约 15 帧/秒,窗口失焦 4 帧/秒,最小化停表;没有动画在显示时定时器本身不存在。原先它们跟着显示器刷新率逐帧重绘,Windows 上 Flutter 每帧都整窗上屏,agent 挂着一条长命令时核显和 CPU 占用一直居高不下。
- 实测(Radeon 780M 核显、120Hz 显示器、同一场景同一窗口):前台核显 3D 占用 45.8% → 6.0%、CPU 占单核 72% → 11.5%;失焦时再降到 1.5%,最小化 0.1%。
- 观感上转圈与扫掠线变成约 15 帧/秒的步进(转圈每步 30°),画板上画的是连续匀速,这处偏离记在
design/DIVERGENCE.md第 35 条。
收轮之后才到的内容不再把结论折走(iteration-15)
- 有的 agent(例如 Claude Agent 起了后台命令时)会在回合
end_turn之后继续推送内容。改前这些后到的条目排进已结束的那一轮,回合自动折叠把原来的结论连同新内容一起收进折叠块,看上去像「收轮了但没有结果」。现在折叠只算收轮之前的条目,后到的工具调用与文字排在结论下面照常显示、不计入摘要行;回合页脚仍在整轮最后。 - 贴着底部时,收轮自动折叠不再把视口钉在原位:改前新出的页脚落在视口外,跟随被关掉,收轮后再来的内容都长在视口下面。
其他
- 新增英文版 README(
README.en.md),中英两份顶部互相链接。
AcpAgent Client 1.4.5
v1.4.4 之后合入 main 的一批:BACKLOG P0 余下三节七条全部关闭(本地状态文件写入串行化、资源与静默失败三条、请求与会话路由三条),P1「流式渲染性能」两条,以及内置 DeepSeek Harness 升到 1.3.2(会话不再存进项目目录)。每一批合并前各自经 cursor(grok-4.7-high-fast)审查到 0 条,细目见 iterations/ 的 iteration-10 ~ 13 与 rounds/round-dsh-1.3.2。
下载哪一个
| 文件 | 体积 | 说明 |
|---|---|---|
AcpAgentClient-1.4.5-setup.exe |
79.0 MB | 一般选这个。per-user 安装,装进 %LOCALAPPDATA%\Programs\AcpAgentClient,不要管理员权限。含 Zed Agent sidecar |
AcpAgentClient-1.4.5-windows-x64.zip |
107.3 MB | 免安装,解压即用。含 Zed Agent sidecar |
AcpAgentClient-1.4.5-windows-x64-nosidecar.zip |
46.2 MB | 免安装,不含 sidecar:不需要 Zed 内置 agent 时体积小一半多。其余五个 agent 照常 |
Windows 10 / 11 x64。其余 agent(Claude Agent、Codex、Cursor、pi、DeepSeek Harness)走 ACP registry 在应用内安装,npx 型的需要系统 Node ≥ 22(没有的话应用会下载一份受管 Node 到自己的数据目录)。
安装包没有代码签名,SmartScreen 首次会拦一下:「更多信息」→「仍要运行」。用户数据在 %APPDATA%\AcpAgentClient,卸载不会删它。sidecar(zed-agent-acp)仍是 1.21.0,跟上游 zed 钉版本走,与应用版本无关(硬性规则 11)。
SHA-256:
73f24f8e6f97e08b7066418540a7261d761640e4787c43d9ac6351a36db91773 AcpAgentClient-1.4.5-windows-x64.zip
0c125dd0597db443a5718f4f9459c081986543c99596208aca8ed7be6d179d56 AcpAgentClient-1.4.5-windows-x64-nosidecar.zip
2f81b6c807121912359deca18c89b1901076468c024b4f4c0f36975aaf339939 AcpAgentClient-1.4.5-setup.exe
变更
流式渲染性能(BACKLOG P1 两条)
- 转录里有大 diff 时流式不再越来越卡,展开也快了:逐行 diff 改成线性算法,diff 结果与 +N / −N 按新旧文本缓存;展开体只建视口附近的行。diff 行高按画板 21 定为 1.7(比原先随字体的自然行高略高),行上的「在文件面板中定位」改成浮在行上,悬停不再把行撑高。
- 长回答 / 大代码块越写越掉帧的问题:Markdown 在安全的块边界封口,流式时只重解析、重建最后一段,前面已封口的块原样复用;代码块的高亮结果按(代码、语言、字体)缓存。
请求与会话路由(BACKLOG P0 三条)
- 两个 agent 同时在线时,权限卡 / 表单卡不再串到另一个 agent 上:挂起请求按「agent + 请求 id」区分,回应发回给发请求的那个 agent;同一个 agent 重连后撞号的新卡也不会被删旧会话时一并摘掉。
- 会话并跑时对正在跑的会话点 Restore,停止键不再消失:Restore / Regenerate 只等本会话那一轮,这一轮照常停得下来。
- 删掉一条正在跑的会话(agent 没声明删除能力时):先向 agent 发
session/cancel、回掉挂着的表单请求,再删;agent 那边不再留着一轮没人收尾。
资源与静默失败(BACKLOG P0 三条)
- 终端输出超过 64 K 字符后画面不再冻住:转录里的终端卡与认证页的终端按累计写入量续写,截断之后清屏重画留存段,尾巴(退出码、报错)看得见。
- agent 读大文件不再整份读进内存:
fs/read_text_file按line/limit流式读;不分段、回出去的内容超过 16 MiB 时回一条要 agent 分段读的错误,应用不会被拖垮。 - agent 开终端不释放不再把客户端拖死:每条连接同时持有的终端上限 64,超限回错、不拉进程;等终端退出不再占线程池。
数据一致性(BACKLOG P0)
settings.json/sessions.json/projects.json/ui-state.json的「读 → 改 → 写」各加一把进程内写锁:后台安装 / 升级 agent 写设置、多条会话各自写索引时不再互相冲掉。
DeepSeek Harness 1.3.2
- 内置条目(npx 回退)升到
dsh-acp-interactive@1.3.2:会话存到~/.dsh/acp-sessions(随$DSH_HOME),不再跟着进程工作目录走——换项目后重载 / 重启应用,原会话载得回来,项目根目录不再多出.sessions。各项目里已有的.sessions旧会话不迁移、不删除。
其他
- BACKLOG P0 至此归零;关闭的条目记
rounds/BACKLOG-CLOSED.md。
AcpAgent Client 1.4.4
v1.4.3 之后合入 main 的一批:BACKLOG P0「会话身份与生命周期」四条、画板 09「等你处理」、通用 toast、主题跟随系统、终端里看得见正在组的字、退出时回收 agent 子进程。发版前由主会话把 v1.4.3..main 的代码改动整体复审一遍、整改后经 cursor(grok-4.7-high-fast)复审到 0 条,细目见 rounds/round-1.4.4/round-1.4.4.md。
下载哪一个
| 文件 | 体积 | 说明 |
|---|---|---|
AcpAgentClient-1.4.4-setup.exe |
79.0 MB | 一般选这个。per-user 安装,装进 %LOCALAPPDATA%\Programs\AcpAgentClient,不要管理员权限。含 Zed Agent sidecar |
AcpAgentClient-1.4.4-windows-x64.zip |
107.3 MB | 免安装,解压即用。含 Zed Agent sidecar |
AcpAgentClient-1.4.4-windows-x64-nosidecar.zip |
46.2 MB | 免安装,不含 sidecar:不需要 Zed 内置 agent 时体积小一半多。其余五个 agent 照常 |
Windows 10 / 11 x64。其余 agent(Claude Agent、Codex、Cursor、pi、DeepSeek Harness)走 ACP registry 在应用内安装,npx 型的需要系统 Node ≥ 22(没有的话应用会下载一份受管 Node 到自己的数据目录)。
安装包没有代码签名,SmartScreen 首次会拦一下:「更多信息」→「仍要运行」。用户数据在 %APPDATA%\AcpAgentClient,卸载不会删它。sidecar(zed-agent-acp)仍是 1.21.0,跟上游 zed 钉版本走,与应用版本无关(硬性规则 11)。
SHA-256:
34006ef26c20e3ec108a34146e3b4455eea32ea936f02bdcdc7f051f749c6368 AcpAgentClient-1.4.4-windows-x64.zip
a128f8f9c114e7b941e45885bb43038fb1aef9782b7e3b20b860b01912e11507 AcpAgentClient-1.4.4-windows-x64-nosidecar.zip
415a178744c02994ef3560aa9dbff08ba07d9137c6df79f5a0071dca5d65105e AcpAgentClient-1.4.4-setup.exe
变更
会话身份与生命周期(BACKLOG P0 四条)
- 载会话中途失败不再留半份转录:
session/load失败时这次重放整段作废,原先有转录的原样留着(关掉 / 重载 / 崩溃之后重点开的唯一一份就在这儿),原先没有的把空壳收回、下次点开能重试。 - 发消息不再把选中的会话静默顶掉:一轮对话按会话相对当前连接的状态分流——没挂在连接上但可能挂回来的先挂回(连上 →
session/load/session/resume)再发;挂不回的输入框占位文案先说明「发送会新开一条」;挂回失败不开新会话,这一轮以失败收在转录里(画板 31 的结束行)。 - 重载或崩溃之后,同一 agent 名下的其它会话也发得出去:连接每换一代,这个 agent 名下内存里的会话全部标成挂空,切过去或发送 / Regenerate / 下拉之前自动挂回;认证页的重连同样记账。重载 agent 在有会话正在挂回 / 载入时不动手。
- 认证期间换了项目,认证完成后建出来的会话不再挂到旧目录:会话照常登记在发起时的目录下(切回那个项目就在侧栏里),不顶掉当前项目里正看着的。
等你处理(画板 09)
- 后台或换走的会话挂着权限请求 / 表单请求时,侧栏那一行在「N 条消息」后出
▲ 待授权/ⓘ 待输入(当前会话也显示;扫掠亮点停下只留底线,行高不变),项目切换钮与切换器每一行在在跑数徽标左边并排一枚等你数徽标,tooltip 整句「N 个会话等你处理 · N 个会话在运行 · N 个工作区」。 - 「等你处理」与「运行中」互斥:等你的会话不扫掠、不计入在跑数;回应 / agent 撤回 /
session/cancel/ agent 退出之后回到运行中,扫掠从新周期开始。只提示、不代劳。
壳级提示(toast,设计稿之外的增补)
- 各处原先只进日志的失败(新建 / 删除会话失败、附件超限、载不回历史、开终端失败、外观设置没能存下来……)照原文摆到会话头正下方的提示条上,6 秒自动收起、鼠标停在上面不计时、可点 × 关掉;同一句不叠两条,最多挂 3 条。
- 侧栏点开一条内存里没有转录的会话,连 agent +
session/load期间挂「会话正在加载中,请稍后」,按当前会话判(切走不显示、切回来还没载完就又显示);载着的时候再点同一条不会再连一遍 agent。
主题跟随系统(画板 07)
- 侧栏标题条那个按钮改成浅色 → 深色 → 跟随系统三档循环,图标显示当前档(太阳 / 月亮 / 显示器),tooltip 写明当前档与点下去切到哪。「跟随系统」按操作系统当前的深浅落定,系统一切换整个应用跟着换套;
settings.json存的是选择("system"),缺省仍是浅色。
终端
- 中文输入法组字期间,正在组的字画在终端光标处(xterm 自带的组字串绘制,终端字体 + 下划线),shell 输出冲不掉;上屏 / 取消 / 失焦后清掉。此前光标处什么都没有,只有候选框里看得到拼音。
退出时回收 agent 子进程(BACKLOG P0)
- 关窗那一刻还在握手的
agent_connect(Cursor 的 cmd → powershell → node 冷启动要好几秒)也由core_shutdown中止并结束进程树,等它们落定才放行;之后的agent_connect一律拒绝。收尾期间再点一次 ✕ 不再直接放行,两次关窗请求等同一次收尾。 - 无头模式(R3 / R5 / R6)在
exit()之前一律走同一条收尾,中途出错跳出的那条路也走到。
其他
- 发版前主会话复审补的一处:外观设置落盘失败(或一直读不到设置而不落盘)时,那一句也落成 toast,不再只在日志里。
- BACKLOG 按所有者裁定关闭一批(行内 HTML 只认
<br>、没有归属的终端缓冲、安装或升级进行中关掉应用等),记rounds/BACKLOG-CLOSED.md。
AcpAgent Client 1.4.3
v1.4.2 之后合入 main 的一批:画板 53 的 registry 检查与升级、输入框加路径的两条新路、两条所有者报障,以及 BACKLOG P5「内部工程与验收」整档收尾。发版前由主会话把 v1.4.2..main 的代码改动整体复审一遍、整改后经 cursor(grok-4.7-high-fast)复审到 0 条,细目见 rounds/round-1.4.3/round-1.4.3.md。
下载哪一个
| 文件 | 体积 | 说明 |
|---|---|---|
AcpAgentClient-1.4.3-setup.exe |
79.0 MB | 一般选这个。per-user 安装,装进 %LOCALAPPDATA%\Programs\AcpAgentClient,不要管理员权限。含 Zed Agent sidecar |
AcpAgentClient-1.4.3-windows-x64.zip |
107.2 MB | 免安装,解压即用。含 Zed Agent sidecar |
AcpAgentClient-1.4.3-windows-x64-nosidecar.zip |
46.1 MB | 免安装,不含 sidecar:不需要 Zed 内置 agent 时体积小一半多。其余五个 agent 照常 |
Windows 10 / 11 x64。其余 agent(Claude Agent、Codex、Cursor、pi、DeepSeek Harness)走 ACP registry 在应用内安装,npx 型的需要系统 Node ≥ 22(没有的话应用会下载一份受管 Node 到自己的数据目录)。
安装包没有代码签名,SmartScreen 首次会拦一下:「更多信息」→「仍要运行」。用户数据在 %APPDATA%\AcpAgentClient,卸载不会删它。sidecar(zed-agent-acp)仍是 1.21.0,跟上游 zed 钉版本走,与应用版本无关(硬性规则 11)。
SHA-256:
abc907c480702a3bab5abe28620179cdc6d8228375736687117e0c1f8f6fd872 AcpAgentClient-1.4.3-windows-x64.zip
cab428ae2ec1bcf146c64417382cd5b7b2359343aa0c7502861fea6cab963833 AcpAgentClient-1.4.3-windows-x64-nosidecar.zip
682f9865993e1425638a349d8aa2bb4feda7d7e81b4a9208411c2c3918085e6b AcpAgentClient-1.4.3-setup.exe
变更
registry 的检查与升级(画板 50 / 53)
- Agents 面板标题行多了「检查于 N 分钟前」与「检查更新」按钮(强制联网拉一次 registry);打开 Agents 标签时也会检查一次(1 小时节流)。
- 已安装的 registry 条目(npx / binary)在 registry 有新版本时显示「v旧 → v新」与「可升级」芯片,右侧出 Update。需要认证的条目先登录,登录完才出 Update;custom 与内置条目不检查。
- 升级是把新版本装在旧版旁边(
agents/<id>/<version>/),npx 握手通过 / binary 解压完成才切换安装记录;失败或取消只删新目录,旧版本、settings 里的 env、登录状态都原样可用,卡片显示「升级失败,仍在使用 v旧」,可重试、看日志。 - 升级时该 agent 正连着:运行中的连接不打断,卡片提示「已升级 · 待重载」,在会话头 Reload Agent 或重开应用后生效;旧版本目录留到下次启动时在后台清掉。
- 已经装好的条目不再接受「首装」(那条路失败时的回滚会删掉整个
agents/<id>/,连旧版一起)。
输入框加路径
+→ Files & Directories 能选目录了:原生文件对话框只有「选文件」模式,点目录只会进到下一级。现在照 Zed 的做法往输入框插一个@、弹出@菜单(根目录一层的文件与目录,接着打字就是搜索)。- Ctrl+V 粘贴资源管理器里复制的文件与目录:默认按路径加成
@名字(resource_link),项目外的文件与目录也加得进来;agent 收图时图片文件照旧成图片芯片,空的与超过 20 MB 的图片文件退回路径。
所有者报障
- 最大化窗口最小化再还原后,画面四边各溢出屏幕一圈(顶栏标题与三键、底栏按钮看着偏了):还原那一刻按系统提议的新窗口矩形找显示器,不再按窗口当前位置(那时还停在屏幕外)。
- 终端面板里空格之后打的字看不见:PSReadLine 给参数 / 数字上色用的 ANSI 白 / 亮白原先取了底色,现在分别取正文色与强调色(终端卡、终端认证共用这张表)。
其他
- 一条消息最多带 20 张图(剪贴板与
+→ Image 两条路共用,按输入框里已有的算);多出来的不加进输入框。 - 编辑历史消息只改文字、原图不随重发带回,是产品取舍(与 Claude Code 一致),不再当缺陷跟踪。
- 内部工程:环境缺失的测试一律判红不再跳过;五处自带 hover 的 widget 并到
Hoverable;四个状态对象收编进共用的通知与错误边界;MotionEnter时长 / 延迟变化时同步、两者都为零时不再除零;gallery 重复 helper 收拢;_meta契约门按整词扫描。 - 流程:BACKLOG 大批按所有者裁定关闭(P1 进程与资源 / 安装与完整性、P2、P4、P5 整档、X 档),内置 Zed agent 的条目移到专属台账
rounds/BACKLOG-ZED.md,新增docs/zed-agent.md。
AcpAgent Client 1.4.2
v1.4.1 之后合入 main 的 iteration-02 一批(七项,回合折叠两条口径 + BACKLOG 收尾三组 + 一条所有者报障)。第 2–7 项都经 cursor(grok-4.7-high-fast)审查、0 条 high 收口,第 1 项是所有者指定的 main 直改(未审查)。逐项细目见 iterations/iteration-02.md。
下载哪一个
| 文件 | 体积 | 说明 |
|---|---|---|
AcpAgentClient-1.4.2-setup.exe |
79.0 MB | 一般选这个。per-user 安装,装进 %LOCALAPPDATA%\Programs\AcpAgentClient,不要管理员权限。含 Zed Agent sidecar |
AcpAgentClient-1.4.2-windows-x64.zip |
107.2 MB | 免安装,解压即用。含 Zed Agent sidecar |
AcpAgentClient-1.4.2-windows-x64-nosidecar.zip |
46.1 MB | 免安装,不含 sidecar:不需要 Zed 内置 agent 时体积小一半多。其余五个 agent 照常 |
Windows 10 / 11 x64。其余 agent(Claude Agent、Codex、Cursor、pi、DeepSeek Harness)走 ACP registry 在应用内安装,npx 型的需要系统 Node ≥ 22(没有的话应用会下载一份受管 Node 到自己的数据目录)。
安装包没有代码签名,SmartScreen 首次会拦一下:「更多信息」→「仍要运行」。用户数据在 %APPDATA%\AcpAgentClient,卸载不会删它。sidecar(zed-agent-acp)仍是 1.21.0,跟上游 zed 钉版本走,与应用版本无关(硬性规则 11)。
SHA-256:
637c88bfb64ff015d972c720ad82371c80c5243a7375c5144169dc3873f41300 AcpAgentClient-1.4.2-windows-x64.zip
99c01cc524a1a1c77b9f60470ad111c45ca5ad856b83ed4870126c1fcd48f594 AcpAgentClient-1.4.2-windows-x64-nosidecar.zip
584353b695168ca9badff365aaa15c96a8b65cff811b11ef9305ddca84ad5340 AcpAgentClient-1.4.2-setup.exe
变更
风扇狂转(所有者报障)
两条根因,同时修:
- 文件树 git 徽章自激空转:
git status自己会建删.git/index.lock(Windows 还会给.git目录本身报一条 Modified),文件监听把它当成仓库变化上报,前端据此再跑一次git status—— 仓库零改动时每秒起 2–6 个git.exe。现在.git之下目录身上的事件与*.lock一律不算(有子模块时.git/modules/<name>/同理);.git/HEAD写入、index.lock → index改名照常触发刷新。 - 两处常驻动画整窗重绘:运行中的 spinner 与侧栏扫掠线没有
RepaintBoundary,会话运行时整窗每帧重栅格(2880×1800 @ 120Hz 核显实测 GPU 44–64%)。两处各包一层。
回合折叠的两条口径(画板 08)
- 含失败工具调用、但正常收轮的回合照常自动折叠:失败数仍由摘要行的「N 项失败」提示。画板 08 / 70 的规则文字与设置页那句说明同步改了。
session/load重放回来的历史也能折:历史里没有轮边界时,按顶层用户消息切轮(与画板 43 时间线、Restore 截断点同一口径)。折叠后的滚动锚点对历史轮也能稳住。
会话索引写回取错源(三处同根因)
- 收轮写回
sessions.json时标题会被冲掉:现在退回索引里已有的标题(含会话头那一半)。 - 后台跑完的会话侧栏计数不当场刷新:收轮时写回的是刚跑完那一条,而不是当前选中的那条。
session/list校对的 cwd 过滤与工作区用同一套规范化,大小写 / 分隔符不同的同一目录不再被当成两个。
输入框两条
- 从文件选择器加图没有大小门:门判在 base64 编码之前,超了直接提示「图片太大,没有加进输入框」,不再先编码一个几十 MB 的字符串把界面卡住。
@菜单在用户改词 / 清空之后自己弹出来:异步结果回来时复核 token,对不上就丢。(Esc / 点外面但一个字没改的那半留在 BACKLOG。)
换主题 / 换字体之后界面只切一半
Markdown 正文(字色、行内代码底色、表格)、registry / 设置页 / 工具卡的徽章、各处 chevron、spinner、文件面板空态,现在都跟着一起变,不用重开会话。
流程与文档
- 新增敏捷迭代流程
iterations/(与轮次rounds/并列,承接日常修复与单画板功能)。 rounds/BACKLOG.md按 P0–P5 / X 重写,已关闭条目拆到rounds/BACKLOG-CLOSED.md;新增design/DIVERGENCE.md记录画板与实现的既成偏离。
AcpAgent Client 1.4.1
v1.4.0 之后合入 main 的六批改动,外加一次把这六批整体复审一遍的整改轮。其中三批此前是「未审查(所有者指定)」的直改 —— 这次先由 Claude 自主审一遍(20 条 findings:high 2 / P2 5 / P3 13)逐条整改,再交 cursor(grok-4.7-high-fast)复审两轮归零。细目见 rounds/round-1.4.1/round-1.4.1.md。
下载哪一个
| 文件 | 体积 | 说明 |
|---|---|---|
AcpAgentClient-1.4.1-setup.exe |
79.0 MB | 一般选这个。per-user 安装,装进 %LOCALAPPDATA%\Programs\AcpAgentClient,不要管理员权限。含 Zed Agent sidecar |
AcpAgentClient-1.4.1-windows-x64.zip |
110.3 MB | 免安装,解压即用。含 Zed Agent sidecar |
AcpAgentClient-1.4.1-windows-x64-nosidecar.zip |
46.7 MB | 免安装,不含 sidecar:不需要 Zed 内置 agent 时体积小一半多。其余五个 agent 照常 |
Windows 10 / 11 x64。其余 agent(Claude Agent、Codex、Cursor、pi、DeepSeek Harness)走 ACP registry 在应用内安装,npx 型的需要系统 Node ≥ 22(没有的话应用会下载一份受管 Node 到自己的数据目录)。
安装包没有代码签名,SmartScreen 首次会拦一下:「更多信息」→「仍要运行」。用户数据在 %APPDATA%\AcpAgentClient,卸载不会删它。sidecar(zed-agent-acp)仍是 1.21.0,跟上游 zed 钉版本走,与应用版本无关(硬性规则 11)。
SHA-256:
0e7244486f6959262bb0c8e3d8078d03614839561a3982bb07f83828d9fd5c3e AcpAgentClient-1.4.1-windows-x64.zip
1494e909c4724271ca7df15b91146744805d136392bb1b851c89b0d7c5002139 AcpAgentClient-1.4.1-windows-x64-nosidecar.zip
4da97ed38574dd2b9c0e3540a0094b797925bcef30b7fcc1f71c8a9291b6c9bd AcpAgentClient-1.4.1-setup.exe
变更
回合折叠(画板 08 B)
一轮跑完(拿到 stop_reason)之后,中间的思考、工具调用、终端、子代理、压缩收成一行摘要 ——「处理详情 · N 条消息 · N 次工具调用」,含失败的回合另带「N 项失败」且不自动折叠。点一下展开,展开态的标题行下面还有一行模型名与计数。展开态按回合记在内存里,会话重开回到默认。设置里新增「转录」分组,「回合结束后折叠处理过程」可以整体关掉(落盘在 settings.json 的 transcript 段)。时间线跳转(画板 43)会先把目标所在的回合展开再定位。
跨工作区在跑数徽标(画板 08 C)
顶栏的项目切换钮上带一个在跑会话数徽标(> 99 显示 99+,0 不渲染、不留占位),tooltip 是「N 个会话在运行 · M 个工作区」—— 切到别的项目之后也看得见原来那边还没跑完。
两条 high 级缺陷(复审轮发现)
- 删掉再新建同 id 的会话会被本地索引静默删掉:删除在途期间仍会发同会话的 upsert,删除落盘后那条新记录被一并抹掉。现在删除在途期间不再发同会话的 upsert。
- 设置里的「转录」开关既读不回也存不下:读盘排在
core_init之前,拿到的是默认值,随后的写入又被初始化覆盖。
稳定性修复
- 添加工作目录 / 切项目时界面假死:
workspace_state的并发补齐、files_state的防重入与 epoch、registrynode.rs的缓存。 - 时间线跳转白屏闪烁与定位失效(画板 43):跳转时无条件停掉折叠锚点,不再多帧互相校正。
- cursor 九条 findings 的验真与修复:终端表按会话删(会话关掉不再漏终端)、elicitation 的 cancel 守卫、进程 exited 时把在途请求标成 withdrawn、sidecar 自检隔离、
fs的路径解析改走真实路径(符号链接绕不出工作区,新建文件照常放行)、会话索引墓碑。
代码质量清理轮
死代码清除、formatBytes 与 write_atomic 各自合一、该私有的私有化、无头自检入口(lib/main_headless.dart)与产品入口分离、剪贴板读取改走 runner 的原生通道(不再起子进程)、base64 转成直接依赖。三轮 cursor 审查 0 条收口。
文档与流程
- README 重写,带三张实际截图(工作台 / agent registry / 文件面板)。
- 建立敏捷迭代流程(
iterations/):R0–R8 主体完成后,日常的缺陷修复、交互优化与单画板功能走迭代(一迭代一文件、一项一行、一轮审查),轮次流程保留给核心大迭代(改契约、改钉版本、≥ 3 张新画板、结构性重构、新平台)。 - 独立审查默认模型换代:
grok-4.6-high-fast→grok-4.7-high-fast。
Full Changelog: v1.4.0...v1.4.1
AcpAgent Client 1.4.0
R8 Windows 端。这是第一个带安装包的 release —— v1.0.0 到 v1.3.0 都只发源码,需要自己构建。
下载哪一个
| 文件 | 体积 | 说明 |
|---|---|---|
AcpAgentClient-1.4.0-setup.exe |
79.0 MB | 一般选这个。per-user 安装,装进 %LOCALAPPDATA%\Programs\AcpAgentClient,不要管理员权限。含 Zed Agent sidecar |
AcpAgentClient-1.4.0-windows-x64.zip |
110.3 MB | 免安装,解压即用。含 Zed Agent sidecar |
AcpAgentClient-1.4.0-windows-x64-nosidecar.zip |
46.7 MB | 免安装,不含 sidecar:不需要 Zed 内置 agent 时体积小一半多。其余五个 agent 照常 |
Windows 10 / 11 x64。其余 agent(Claude Agent、Codex、Cursor、pi、DeepSeek Harness)走 ACP registry 在应用内安装,npx 型的需要系统 Node ≥ 22(没有的话应用会下载一份受管 Node 到自己的数据目录)。
安装包没有代码签名,SmartScreen 首次会拦一下:「更多信息」→「仍要运行」。用户数据在 %APPDATA%\AcpAgentClient,卸载不会删它。
SHA-256:
b01072c2d55baaa04439693466a00e46e474d2f5fd452c5e25bce130b31bb698 AcpAgentClient-1.4.0-windows-x64.zip
3b149628491bf97b73bc8981ffab3fdd41a9870c3d980266c79904b9256e0ae7 AcpAgentClient-1.4.0-windows-x64-nosidecar.zip
6c4fa202242350a5b877e414050cd78ab890d1564818404cd17ab033e41e45ab AcpAgentClient-1.4.0-setup.exe
变更
sidecar 的版本号与应用解耦
sidecar/zed-agent-acp(Zed 内置 agent 的 ACP 包装,176 MB 的可执行文件)此前版本号跟着应用一起抬,而 cargo 只要看见 Cargo.toml 里 version 变了就会重编这个 crate 并全量重链 —— 发一次版本白等一刻钟,而它的源码根本没动。
实测四个数(本机,release):
| 改了什么 | 耗时 |
|---|---|
| 什么都不改 | 8.23 s(cargo 判 fresh) |
改 Cargo.toml 的 version |
14 m 16 s |
只改 Cargo.toml 里的注释 |
9.53 s(fresh —— fingerprint 认的是 manifest 的解析结果,不认注释) |
| 抬应用版本 1.3.0 → 1.4.0 | 1.51 s(fresh) |
现在 sidecar 的版本跟上游 zed 钉版本走(1.21.0,事实来源是 pins/upstream.json 里 zed 那条新增的 version 字段),只在换 zed 钉版本时才动 —— 那一次本来就要重编整个依赖闭包。这条写成了 CLAUDE.md 的硬性规则 11,scripts/validate.ps1 新增「版本门」核对四个数(pubspec.yaml / rust/Cargo.toml 的应用版本两处一致;sidecar 版本 == pins 的 zed version == vendor 里 zed manifest 的 version)。zed-agent-acp --version 现在也带上钉的上游 commit:
zed-agent-acp 1.21.0 (zed @ d9e1c024f393832765a03f4de204d6c8cd9abcb2)
Windows 打包
scripts/package.ps1:一条命令出上面三件产物(dist/)。sidecar 不在这里构建,build/sidecar/里有就随包、没有就只出精简 zip。packaging/windows/acp-agent-client.iss:Inno Setup 安装器脚本,per-user、不签名,LICENSE进安装向导,卸载不碰%APPDATA%的用户数据。scripts/verify-package.ps1:产物的自动化验收。每条都把%APPDATA%指到新建的空目录再起进程(本机能做到的「干净机首启」等价物):zip 解压即用跑通无头往返、精简包确实没有 sidecar、随包 sidecar 的--version与--selftest、安装器静默装 → 跑通 → 静默卸载后目录与卸载注册都清干净。
版本与构建信息进日志
起核心时往 %APPDATA%\AcpAgentClient\logs\acp-<日期>.log 写一行:
core AcpAgentClient 1.4.0 (release, windows/x86_64) data=… sidecar=…
装机报障要问的「哪个版本、哪种构建、sidecar 随没随包」都在这一行。设计稿(画板 70)没有版本位,所以版本号只进日志、不进界面。
其他
NOTICE 与 Zed 派生文件的头注释改成双向核对(扫到的派生文件都要在 NOTICE 里;NOTICE 列的都要在盘上且带头注释),并进 validate.ps1。LICENSE 与 NOTICE 随安装包分发。
已知限制
- 只有 Windows x64。macOS / Linux 构建(含原生窗口控制)留给后续一轮。
- 安装包未签名。
- 安装器界面只有英文(Inno Setup 6 自带的语言包里没有简体中文,入库第三方
.isl等于再分发)。应用自己的界面照常是中文。 - sidecar 的
--selftest路上有两条 stderr 噪音(prompt_store的 lmdb 环境重复打开、settings_store往未建出的目录写 settings 失败),退出码为 0、不影响功能。
完整的轮次记录、实测数字与三轮独立审查的 findings 处理在 rounds/round-08/round-08.md。
AcpAgent Client 1.3.0
v1.2.0 之后 main 上落地的一项重构与两项修订。仍是源码 release:打包轮(R8:Windows zip / 安装器、macOS 构建、干净机验收)还没做,需要自行构建,步骤见下。
变更
R7.5 组合根拆分(纯重构,行为零变化)
lib/app/workbench_controller.dart 原是 2645 行的单一 ChangeNotifier(103 个公有方法、83 处通知全落一个对象)。这一轮把它拆成组合根 + 8 个对象:组合根只剩接线与生命周期(356 行);ShellState / WorkspaceState / AgentsState / AuthState / ComposerState 按画板分组管本地态,SessionController / TurnController 驱动协议(会话生命周期与一轮对话),SessionIndex 是本地索引 sessions.json 的内存镜像,共用的通知与错误边界收成 GuardedNotifier mixin。依赖只允许单向(turn → session、session → index / agents / workspace、shell / workspace → files),反向一律走组合根在构造时接的回调,没有子对象 import 组合根;screen / 无头驱动 / 单测直接访问子对象,组合根不留转发门面。
「零变化」是量出来的:lib/ui / lib/theme / lib/projection / lib/bridge / rust/ / test/fixtures / pubspec.yaml 零 diff;test/ 只改引用路径(用例数与 expect( 数不变);每一步拆分之后,三份 fake-agent 无头实跑报告(R3 / R5 / R6 三条路径,隔离数据目录)与基线逐字段等价,比对脚本随基线入库在 rounds/round-7.5/baseline/。scripts/validate.ps1 新增两道门:lib/app 行数门(组合根 ≤ 450、其余 ≤ 900)与依赖方向门(附录 B 之外的 import 不许),13 项变 15 项。
按区域订阅(阶段 B)先量后动:一次 session/update batch 只触发壳级 build 一次,未过阈值,本版不动;数字记 rounds/BACKLOG.md。
修复
- markdown 渲染器认行内 HTML 的
<br>(含<br/>/<br />,大小写不敏感):GFM 表格单元格装不下真换行,agent 普遍拿<br>换行,此前整列显示成字面<br>(实机:pi 的扩展清单表格)。只认这一个标签,其余行内 HTML 照旧原样显示。 - 深色下 agent 图标与应用标记看不见:registry 的
icon.svg与内置条目的图标都是fill="currentColor"的单色 SVG,flutter_svg 不给SvgTheme时把currentColor当纯黑,深色下就是黑底黑标;现在给它一个随主题走的取值(SvgTint.mark)。应用自己的标记AppLogo去掉const,换主题时才会重建。
其它
- 三处版本号(
pubspec.yaml、rust/Cargo.toml的 workspace、sidecar/zed-agent-acp/Cargo.toml)一并抬到 1.3.0:exe 元数据、smoke 报告与调试面板的coreVersion、registry 下载的 User-Agent、sidecar--version与它在 ACPinitialize里报给客户端的 agent 版本,都跟着变。
怎么构建
前置:Rust stable、Flutter stable、flutter_rust_bridge_codegen、VS 2022「使用 C++ 的桌面开发」、Node >= 22。详见 CLAUDE.md「本地开发」。
powershell -File scripts/fetch-upstream.ps1 # 按 pins/upstream.json 填充 vendor/upstream/
powershell -File scripts/validate.ps1 # 编译 + 测试 + 契约检查 + lib/app 两道门
powershell -File scripts/build.ps1 # flutter build windows --release
powershell -File scripts/build-sidecar.ps1 # Zed Agent sidecar(冷编译约 50 分钟,可选)sidecar 缺了不报错,只是 agent 列表里没有 Zed Agent。Windows 首发,macOS / Linux 在 R8。
许可证
GPL-3.0-or-later(见 LICENSE)。rust/ 与 sidecar/ 里复制改写或转写自 Zed 的文件各自在文件头标注了上游路径与 commit,汇总在 NOTICE——同一份文件也列出 ACP 规范 / rust-sdk / registry(Apache-2.0)、随包字体(OFL-1.1)与图标的来源,以及商标声明。开源、不商用。上游钉版本在 pins/upstream.json。
已知限制(1.2.0 的几条仍然成立):R8 打包与发布未开始;session/load 重放不带回轮边界;sidecar 未带 languages crate(构建机缺 VS Spectre 缓解库组件);深色模式属实现先行,画板 07 没画切换按钮、深色页面画板未出。本版新增一条:换主题后,const 构造又在 build 里读颜色 token 的少数自写 widget(registry 条目的标签与占位菱形、卡片头的折叠箭头、文件面板的空态等)会停在切换前的颜色,直到那块界面被重建;已记 rounds/BACKLOG.md,与 AppLogo 那条是同一个机制。
Full Changelog: v1.2.0...v1.3.0
AcpAgent Client 1.2.0
v1.1.0 之后 main 上落地的一项功能与两项修订。仍是源码 release:打包轮(R8:Windows zip / 安装器、macOS 构建、干净机验收)还没做,需要自行构建,步骤见下。
新增
深色模式(画板 07)
侧栏标题条右端多了一个 ghost 图标按钮(浅色出月亮、深色出太阳),点一下整个界面换主题,选择持久化在设置的 appearance 段里,下次启动仍是它。
实现上是在 token 层换值,不在 widget 层分支:lib/theme/tokens.dart 的颜色拆成 Theming.lightColors / Theming.darkColors 两套(29 项),中性 / 强调 / 语义 / 表面 / 边框 / 阴影 / 蒙层 / 焦点环等颜色项从 const 改成 getter,widget 里的写法一个字没变。间距 / 圆角 / 字阶 / 控件高度 / 动效时长一份不动——画板 07 只换颜色。
同一类「一次求值就冻住」的缓存一并堵上:代码高亮主题、JSON 高亮主题、终端 token 主题都从常量改成 getter,三个 CustomPainter 的 shouldRepaint 带上字体 / 主题代数(换主题只改颜色,不带它不会重绘)。单测里那条「不得再出现会冻住取值的样式缓存」的源码扫描扩到了 Color / BoxShadow / 色表。
两处顺带对回画板:弹层顶边 1px 提亮改成画一条顶线(Flutter 的 BoxShadow 没有 inset),浅色下它全透明,两套主题同一条代码路径;终端 ANSI 的青从语义 info 改到 accent.text——改之前蓝与青同色,终端里两种前景分不开,浅色主题下的终端配色因此也变了。
变更
UI 文案与前端 Dart 符号从 Thread 收敛为 Session(中文「会话」):默认会话标题 New <agent> Thread → New <agent> Session、+ 弹层的 Threads → Sessions,ThreadHeader / NewThreadEmpty / ThreadMenuPopover 等类与文件名跟着改,+ 加入的转录 URI acp-thread: → acp-session:。起因是协议层与状态层本就是 session/*、中文文案本就是「会话」,只有临摹 Zed 原型留下的几处英文还写着 Thread。零布局、零 token 值改动。Zed 上游的 ThreadEvent / ThreadStore / threads.db / acp_thread.rs 不在收敛范围。
修复
字体扫描结果不通知 UI:把 MiSans / HarmonyOS Sans 的字体文件放进数据目录的 fonts/ 再启动,设置页仍显示「本机未找到」。扫描本身是好的,问题是启动时的 _applyLocally 只在「字体选择变了」时才通知;没存过外观设置时四个轴都是默认,于是扫描结果拿到了却没人知道。扫描结果是 UI 要用的状态,与选择有没有变无关,改为无条件通知一次。
其它
- 三处版本号(
pubspec.yaml、rust/Cargo.toml的 workspace、sidecar/zed-agent-acp/Cargo.toml)一并抬到 1.2.0:exe 元数据、smoke 报告与调试面板的coreVersion、registry 下载的 User-Agent、sidecar--version与它在 ACPinitialize里报给客户端的 agent 版本,都跟着变。
怎么构建
前置:Rust stable、Flutter stable、flutter_rust_bridge_codegen、VS 2022「使用 C++ 的桌面开发」、Node >= 22。详见 CLAUDE.md「本地开发」。
powershell -File scripts/fetch-upstream.ps1 # 按 pins/upstream.json 填充 vendor/upstream/
powershell -File scripts/validate.ps1 # 编译 + 测试 + 契约检查
powershell -File scripts/build.ps1 # flutter build windows --release
powershell -File scripts/build-sidecar.ps1 # Zed Agent sidecar(冷编译约 50 分钟,可选)sidecar 缺了不报错,只是 agent 列表里没有 Zed Agent。Windows 首发,macOS / Linux 在 R8。
许可证
GPL-3.0-or-later(见 LICENSE)。rust/ 与 sidecar/ 里复制改写或转写自 Zed 的文件各自在文件头标注了上游路径与 commit,汇总在 NOTICE——同一份文件也列出 ACP 规范 / rust-sdk / registry(Apache-2.0)、随包字体(OFL-1.1)与图标的来源,以及商标声明。开源、不商用。上游钉版本在 pins/upstream.json。
已知限制(1.1.0 的几条仍然成立):R8 打包与发布未开始;session/load 重放不带回轮边界;sidecar 未带 languages crate(构建机缺 VS Spectre 缓解库组件)。本版新增两条:深色模式属实现先行,画板 07 没画那个切换按钮、画板 70 的「外观」还没有主题这一行、深色页面画板未出,都已记 rounds/BACKLOG.md 的「设计稿补注记」;终端搜索只有一个命中前景色,表达不出画板要的「当前命中另一种字色」。
Full Changelog: v1.1.0...v1.2.0
AcpAgent Client 1.1.0
v1.0.0 之后 main 上落地的两项功能。仍是源码 release:打包轮(R8:Windows zip / 安装器、macOS 构建、干净机验收)还没做,需要自行构建,步骤见下。
新增
会话时间线(画板 43)
线程头的 history 按钮开弹层,按轮列出每一轮的用户 query 首行(编号 01 / 02…)与该轮最终回答的首行(A),点一行、或高亮行按 Enter,转录区就跳到那一条。打开时滚到底部,最新一轮在视口里;弹层开着时转录还在长也没关系,行会重算、高亮跟着它指的那一行走。
弹层开着时键盘完全归它:上下键移高亮、Enter 命中、Esc 关,其余的键一概吃掉。这不是图省事——放行的键会沿焦点链上浮到 WidgetsApp 的默认 Shortcuts,Tab 与左右方向键在那里是 NextFocusIntent / DirectionalFocusIntent,会把键盘交回输入框,之后 Enter 又走输入框的「发送」,把没写完的草稿发出去(这条路径在审查里漏过两次)。
字体切换四轴(画板 70「外观」)
界面西文 / 界面中文 / 代码等宽西文 / 代码等宽中文四条轴各自可选,两组候选互不重叠,改完全局即时生效(包括终端、代码块、Mermaid 与数学公式)。
- 随包的仍是 Geist / Geist Mono / Noto Sans SC(都是 OFL-1.1,在
pubspec.yaml里)。 - MiSans、HarmonyOS Sans SC、Inter、JetBrains Mono、Cascadia Mono、更纱黑体 Sarasa Mono SC 是候选项,但字体文件不入库:MiSans 与 HarmonyOS Sans 的协议允许「嵌进 App 一起分发」,禁止「在独立基础上」再分发字体文件本身,公开仓库里躺着一份可单独取出的
.ttf正是被禁的那格。把.ttf/.otf放进assets/fonts/optional/(构建时随包)或%APPDATA%/AcpAgentClient/fonts/(运行时注册),或者直接装进系统,都会被探测到并自动点亮。认得的文件名、许可与官方下载地址见assets/fonts/optional/README.md。
其它
- 三处版本号(
pubspec.yaml、rust/Cargo.toml的 workspace、sidecar/zed-agent-acp/Cargo.toml)一并抬到 1.1.0:exe 元数据、smoke 报告与调试面板的coreVersion、registry 下载的 User-Agent、sidecar--version与它在 ACPinitialize里报给客户端的 agent 版本,都跟着变。 - 独立审查的默认执行器模型切到
cursor-grok-4.6-high-fast。
怎么构建
前置:Rust stable、Flutter stable、flutter_rust_bridge_codegen、VS 2022「使用 C++ 的桌面开发」、Node >= 22。详见 CLAUDE.md「本地开发」。
powershell -File scripts/fetch-upstream.ps1 # 按 pins/upstream.json 填充 vendor/upstream/
powershell -File scripts/validate.ps1 # 编译 + 测试 + 契约检查
powershell -File scripts/build.ps1 # flutter build windows --release
powershell -File scripts/build-sidecar.ps1 # Zed Agent sidecar(冷编译约 50 分钟,可选)sidecar 缺了不报错,只是 agent 列表里没有 Zed Agent。Windows 首发,macOS / Linux 在 R8。
许可证
GPL-3.0-or-later(见 LICENSE)。rust/ 与 sidecar/ 里复制改写或转写自 Zed 的文件各自在文件头标注了上游路径与 commit,汇总在 NOTICE——同一份文件也列出 ACP 规范 / rust-sdk / registry(Apache-2.0)、随包字体(OFL-1.1)与图标的来源,以及商标声明。开源、不商用。上游钉版本在 pins/upstream.json。
已知限制(与 1.0.0 相同):R8 打包与发布未开始;session/load 重放不带回轮边界;sidecar 未带 languages crate(构建机缺 VS Spectre 缓解库组件)。
Full Changelog: v1.0.0...v1.1.0