Skip to content

Releases: ClickPM/AcpAgentClient

AcpAgent Client 1.4.6

Choose a tag to compare

@ClickPM ClickPM released this 24 Sep 05:54

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

Choose a tag to compare

@ClickPM ClickPM released this 24 Sep 02:30

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

Choose a tag to compare

@ClickPM ClickPM released this 23 Sep 10:39

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

Choose a tag to compare

@ClickPM ClickPM released this 23 Sep 04:57

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

Choose a tag to compare

@ClickPM ClickPM released this 23 Sep 01:04

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

Choose a tag to compare

@ClickPM ClickPM released this 22 Sep 08:03

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、registry node.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

Choose a tag to compare

@ClickPM ClickPM released this 20 Sep 10:02

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

Choose a tag to compare

@ClickPM ClickPM released this 20 Sep 08:26

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 与它在 ACP initialize 里报给客户端的 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

Choose a tag to compare

@ClickPM ClickPM released this 20 Sep 07:19

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 与它在 ACP initialize 里报给客户端的 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

Choose a tag to compare

@ClickPM ClickPM released this 20 Sep 04:00

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 与它在 ACP initialize 里报给客户端的 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