Chimera Agent 0.89.0:SSH 工具、批量操作与持久化状态
文件工具现可在 SSH 主机上运行,命令在连接断开后仍能存活,批量文件夹与对话操作上线,且“先规划”选项在重载后保持不变。
我们自己写的、关于我们某个版本的文字。 在 GitHub 上阅读这条 release →
你设好的,不会再变
在此版本之前,Code composer 中的“先规划”选项仅是一个会话级偏好。你可以将其切换为“始终”或“从不”,但重载窗口会将其重置为“自动”。这意味着每次回到对话,你都得重新配置已经决定好的模式。现在,该设置会按对话记住。新对话会沿用你上次的选择,而等待审批的计划——连同其卡片——在重载后依然存在。验证此行为的测试确认卡片会恢复,因此你再也不会因为标签页刷新而丢失待处理的计划。
设置搜索存在另一种盲区。环境卡片位于“通用”标签页,但搜索“WSL”、“SSH”或“environment”时却一无所获。卡片明明存在,却无法通过搜索框触达。此问题已修复。现在输入上述任一关键词,都会列出环境卡片及允许的 SSH 主机,打开结果会直接滚动到对应位置。如果你管理多个远程环境,现在可以像查找其他所有内容一样找到它们。
文件工具跨越 SSH 边界
此前,SSH 对话拒绝文件操作。读取、写入、编辑、打补丁、列出、grep 和 glob 全都止步于本地边界。此限制现已移除。在 SSH 对话中,这些工具现在作用于远程文件夹。由于能写入远程主机的工具也能造成破坏,该实现增加了若干防护措施。
路径不能离开对话所在的文件夹。检查基于词法,并由主机自身的 realpath 确认,因此符号链接无法逃逸。凭据文件——.ssh、.env、密钥及云配置——会被直接拒绝。写入操作仅在主机端检查其大小和哈希后才会替换,这能防止覆盖自上次读取以来已变更的文件。Manual 卡片会展示远程文件的差异并指明主机,让你确切知道改了什么、改在哪里。当一轮操作读取外部内容,然后写入 git hook、shell 启动文件、cron 或 systemd 单元时,Chimera 会先询问。主机返回的内容被视为外部内容,因此当风险真实存在时,提示就会出现。
SSH 主机上的命令现在能承受连接断开。每条命令在其自己的运行 ID 下以分离模式运行。若链路断开,Chimera 会重新连接并继续读取输出,而无需重启命令。未完整到达的脚本绝不会被执行。超时或“停止”会结束整个进程组。若 Chimera 在命令执行中途关闭,命令会继续运行,且启动它的对话会被告知其输出位置。你可以重新连接并获取日志,而无需猜测命令是否已完成或运行了两次。
一次性操作多个项目
逐个管理文件夹和对话曾是唯一选择。Settings 中的“文件夹”卡片和 Code 侧边栏现在有了复选框、三态“全选”以及操作栏。对于文件夹,你可以置顶、取消置顶、允许或撤销命令、从列表中移除或重新显示。对于对话,你可以归档、取消归档、删除,或将其文件夹从列表中移除。
选择模式会绘制每一行,因此屏幕外的任何内容都不会被意外操作。删除前会先询问并显示数量。批量允许命令也会先询问。单次失败会被计数,但不会停止其余操作,因此单个有问题的项目不会阻塞你对其他所有选中项的操作。
通过 pip install --upgrade chimera-agent 更新。完整发布说明见 Chimera Agent v0.89.0。
https://chimeraagent.space