Skip to content

LineCode Pro v1.3.4

Choose a tag to compare

@github-actions github-actions released this 12 Oct 10:12
· 59 commits to master since this release
a0ede86

LineCode Pro v1.3.4

版本信息

  • 版本名称: v1.3.4
  • 版本号: 38

v1.3.4

工作区与文件

  • 改动文件前先读取 - 内置文件工具新增读后写保护:覆盖或编辑一个已存在的文件之前
    必须先读取它。读取成功时记录本次返回内容的 SHA-256,写入或编辑前用同一次读取拿到的
    内容
    重新比对(不再另查一次磁盘,因此记录的一定是模型看到的那一版):
    文件从未读取过就拒绝,并提示先用 file_read 读取后重试;读取之后文件又被外部改动
    (其他程序、其他 Agent 或用户)同样拒绝,并提示重新读取,不再覆盖 AI 从未看过的内容。
  • 整体替换要求完整读过 - file_write 会用新内容整份替换目标,所以只在模型确实看完整份
    文件时才放行:窗口读取(start_kb/end_kb)或结果被截断的读取只记为「部分读取」,
    此时整体替换会被拒绝并提示改用 file_edit;file_edit 只替换匹配到的片段、其余字节
    原样保留,因此部分读取也允许编辑。目标不存在时按新建处理,无需先读;工具自身写入或
    编辑成功后刷新记录,连续修改不必反复重读。
  • 同一文件不会被两个工具调用同时改 - 变更期间按路径持有内存占用标记:并行子 Agent 或
    同一轮里的并发调用正在改同一文件时,后来的变更直接拒绝并提示重试,不会出现两次变更
    都通过校验、后者覆盖前者却都报成功。进程之外的写入者无法被拦住(平台文件能力没有
    compare-and-swap),这段窗口仍以最终的写入调用为界。
  • 读取失败的状态不再被当作新文件 - 写入前 Stat 失败且错误不是「不存在」(例如权限或
    I/O 错误)时现在直接失败,不再把已存在的文件当成新建文件而跳过读取保护。
  • 记录只存在内存中 - 已读记录按绝对路径保存在进程内存里,不写入数据库或磁盘:
    应用重启后从零开始,这只会让规则更严格;记录条数设有上限,超出后整表作废,
    代价仅是重新读取一次。

发布

  • 版本 - versionCode 38、versionName 1.3.4。
  • 回归覆盖 - 原生测试新增 file_observation_tests(SHA-256 标准向量与分块一致性、
    内存观察表语义、容量上限与变更占用标记)和 file_tool_tests 的读后写用例(未读拒绝、
    外部改动拒绝、内容相同不算改动、部分读取只允许编辑、窗口覆盖整份文件才允许整体替换、
    截断读取记为部分、读取失败不授权、Stat 失败不当作新文件、并发变更被拒绝后释放、
    写入失败后可重试、文件被外部删除后可重建、中英文提示、共享记录注入);
    :app:assembleDebug 通过,工具文案目录表由 tools/gen_tool_text_catalog.py 重新生成。

下载说明

  • 下载 LineCodePro-1.3.4.apk 直接安装
  • 校验文件: LineCodePro-1.3.4.apk.sha256