Repository navigation
Releases: lurenxing628/limcode-test
Release list
Limcode Test 0.0.36
Limcode Test 0.0.36
本版本修复旧长会话升级后无法继续回复的问题,并补齐上下文压缩、会话分叉、附件和工具续接中的相关遗漏。
- 修复旧长会话报错
Conflicting frozen child reference P1、尚未创建模型请求就中断的问题,无需清空历史记录。 - 上下文压缩、重建和会话分叉保留已有引用,避免旧编号被重新分配给其它对象。
- 修复旧分叉会话的附件编号遗漏;上传新附件不会误用旧附件编号,普通文本中的附件元数据不会生成可操作的新编号。
- 修复 HTTP 流式回复中已完成的正文和推理内容未进入后续上下文的问题。
- 修复 HTTP、WebSocket 工具续接中的重复完成处理和异步状态保留,以及断线收尾与后台结果写入的竞争。
- 同步扩展、User-Agent 与调试信息中的版本标识。
发布前完整本地行为回归:3665 项通过、0 项失败、37 项跳过;模型接入库测试 344/344 通过。版本更新后的构建、类型和契约检查通过。四份 VSIX 均通过 ZIP 完整性、安装包内容与干净提交来源核验。
最终提交的 GitHub Actions 16 个任务全部通过,包括三平台编译与契约检查、完整可靠性分片与覆盖汇总、浏览器回归、Windows/macOS 运行时兼容测试及四平台安装包检查。
提供 Linux x64、Windows x64、macOS Intel 和 macOS Apple Silicon 的 VSIX。Windows 资产名沿用 win32,包内目标为 win32-x64。SHA256SUMS 可用于校验下载文件。
Limcode Test 0.0.35
Limcode Test 0.0.35
本版本修复模型调用、历史存储、设置保存和聊天界面中的并发边界问题。
- 模型工具回调在超时后停止进入写入通道,Claude 重试等待正确读取服务端提示。
- SQLite 文件身份与访问异常保持严格校验,跨盘空间估算覆盖无法确认卷身份的情况,运行时关闭失败可继续清理。
- 设置、模型配置和聊天草稿按实际操作身份处理确认,保留新编辑、附件和新的保存请求。
- 保留流式代码阅读位置,补齐可变进程详情刷新,并明确显示可重试的读取错误。
完成修复后的独立复审,并修复复审确认的遗漏。本地 TypeScript 编译、Webview 类型检查及 24 组定点回归(385 项)通过。补充发送与附件测试 40/40、思维设置运行时测试 40/40 通过。
最终提交的 GitHub Actions 全部通过,包括三平台编译与契约检查、完整可靠性分片、浏览器回归和运行时兼容测试。
提供 Linux x64、Windows x64、macOS Intel 和 macOS Apple Silicon 的 VSIX。Windows 资产名沿用 win32,包内目标为 win32-x64。SHA256SUMS 可用于校验下载文件。
Limcode Test 0.0.34
0.0.34
v0.0.33 的标签推送后,GitHub CI 在 Windows 上发现读取历史库文件时会误报“在读取时被替换了”,所以 0.0.33 没有发布安装包。0.0.34 包含原定 0.0.33 的全部内容,以及下面列出的修复。从 0.0.30 升级请直接装 0.0.34。
这一版的重点是:以前按工作区分开存放的旧聊天记录,尽量都能找回来、读得到、接着用。
旧聊天记录
- 以前各工作区各自一份的旧历史库,启动后会在后台自动合并进当前库。合并前先备份;合并时其它窗口照常工作。一次在线合并最多 4000 行或 12 MiB。
- 更大的旧库(最多 2000 万行)在"大库会话"里合并:
- 先只读估计需要多久、要多少磁盘空间。
- 倒计时 60 秒提示,可以推迟到下次启动。
- 同意之后才开始准备。
- 合并时所有窗口暂停一次,合并完重载。
- 删掉的对话不会被合并回来。从这一版起,删除对话时会写下删除记录,以后每次合并都跳过这些对话。这一版之前删掉的对话,如果旧库里还有,合并时会回来,合并确认框里写明了这一点。
- 在 0.0.24–0.0.30 里手动切换走的库不会自动合并。启动时由一个窗口问一次"全部合并 / 保持分开"。
- 以下归档和拷来的目录会列为只读的"外来历史库",可以查看,也可以按需合并进当前库:
.limcode-runtime-backups里的归档;.limcode-copied-*目录;- 0.0.10–0.0.20 命名的归档;
- 以前用过的数据目录里的归档。
清理备份(新增)
- "历史与存储管理"里新增"清理备份"。只删能证明内容已经完整存在于当前库或某个历史库里的这几类东西:升级前备份、合并前备份、合并来源、归档。
- 备份里如果有你后来删除、编辑或重试替换掉的消息,会单独列出来,默认不勾选。删掉之后就再也看不到了。
- 当前库里已经找不到的对话,所在的备份一律保留。
- "查看存储占用"按类型统计当前库的正文。
迁移数据目录(新增)
- 设置页可以把数据目录迁到别处。先复制并逐项核对,再切换;旧目录保留。任何一步中断,都可以撤销或接着撤销。
- 迁走时还在进行的任务,要在旧目录里全部按中止收尾才放行。收不完就不打开旧目录,逐条说明原因,可以重试或改用新目录。
- 删除记录和合并账本会一起带走。旧目录里的归档仍然可见,最多记住 10 个以前的数据目录。
删除对话
- 任务正在跑也能删除。删除时先停掉整棵子树里的任务(包括其它窗口里的),再收尾,最后删除。
- 只删子对话时,父对话会收到"子任务已删除",不会卡住。
多窗口
- 合并、迁移这类需要独占的维护会先协调所有窗口,全部确认后统一重载。等其它窗口时会说明原因和已经等了多久。
- 对话的恢复和审批只由对应项目的窗口接手。子 Agent、停止、压缩在多窗口下由哪个窗口处理更可靠了。
- 重载窗口后,会恢复输入框里没发出去的草稿、附件和编辑。
Provider 报错
- Provider 的额度或配额用完时,按永久错误处理,不再自动重试;状态码是 429 也一样。能识别的写法包括 Ask Sage 的 monthly token limit、OpenAI 的
insufficient_quota、中文网关的“额度已用完 / 余额不足”等。提示改成中文,写明提高额度或换一个渠道/模型之后,直接发送“继续”就能接着做。 - 按分钟、按秒的限流仍然照常自动重试。
- 工具调用之后的失败提示,原因里已经说了工具结果还在时,不再重复“工具结果已保留”。
Windows
- 修复 Windows 上读取历史库文件时误报“在读取时被替换了”。这个问题出在原定 0.0.33 的新代码里,没有进入任何已发布的版本;如果不修,会影响旧库升级、合并和外来历史库的读取。原因是 Node 在 Windows 上按路径取的文件信息里没有卷序列号,而按打开的文件取的有,两者对不上;现在 Windows 上只比较文件 ID。
- 计划检查读源码时统一换成 LF,Windows 检出(CRLF)也能通过。这一条不影响扩展本身。
其它
- 侧栏历史按页码定位。重命名、停止、重试等操作后回到第 1 页,并定位到这个对话。
- 只读历史里显示工具结果消息。
- 文件工具不再读取 SQLite 伴随文件。
- 数据库 worker 复用预编译语句,大事务更快。
已知限制
- epoch 3/4 的旧归档只能列出,暂时不能打开。
- 带有未完成任务的外来历史库暂时不能合并。
- 同时开着 0.0.30 或更早版本的窗口时,旧版本窗口不认新版本写的标记。请把所有窗口都升级到 0.0.34。
- 两个安装(例如 VS Code 和 code-server)同时对同一个数据目录清理备份时,彼此不互斥。
- 撤销或取消合并、迁移后,可能留下没有被引用的正文文件。它们只占空间,不影响使用。
- 迁移在"切换中"中断时,只能由发起它的那个安装接着处理。它回不来的话,要按提示手动处理。
- 删除对话时,如果在写下删除记录之后、删除提交之前崩溃,这个对话还留在当前库,以后合并时会跳过它在其它库里的副本。不会丢数据。
- 模型请求失败时点“重试此消息”,会从这一轮开头重来,已完成的工具会再执行一遍。想保留工具结果接着做,请直接发送“继续”。
验证
- 发布前做了一轮完全盲审,分 9 个方向:合并、大库合并、迁移数据目录、外来历史库、清理备份、删除对话、多窗口协调、数据库 worker、跨模块。其中会丢数据或导致执行出错的问题都已修复,并补了测试。关键防护做了变异测试,确认改坏代码时测试会失败。
- GitHub Actions 在发布提交
6a8874b8上全部通过(Node 22.15.1):- Windows、macOS、Linux 的编译与合同检查;
- Windows、macOS 的运行时兼容测试,包括旧库升级;
- 四个平台的安装包内容检查;
- Linux 完整
--ci回归:244 个测试文件,3254 项,0 失败。跳过的 43 项都是 Windows/macOS 专用测试。浏览器测试 3 项也通过了。
- 本机 Linux(Node 24)完整
--ci回归,在7315e30f上 3247 项,0 失败。这之后的改动只跑了相关测试,最终由上面的 GitHub 回归覆盖。 - 上一轮 GitHub 回归出现过 3 项失败,都已处理:
- 一个测试直接加载
.ts,Node 22 不支持,已改为 webview 测试; - 一个测试在等不占事件循环的计时器,已修正测试写法;
- 多窗口协调测试失败过一次。本机加压跑了 8 遍也没能复现,推测是测试写请求文件不是原子写入。测试已改成原子写入,这个改动在发布之后单独提交。
- 一个测试直接加载
- 没有在真实的 Windows 和 macOS 机器上手动安装使用过。
- 四个平台的 VSIX(Linux x64、Windows x64、macOS x64/arm64)都已通过内容检查,附
SHA256SUMS校验文件。 - 构建源码:
6a8874b830b78eb1451cd0b2e0f7afda34cdd18f,工作区干净。Runtime epoch 保持为 5。 - 直接推送到
main,没有经过 PR。
Limcode Test 0.0.30
0.0.30
- 修复工作区是盘符根目录(如
G:\)或网络共享根目录时,写入和删除一律报 "File target escapes the registered WorkEnvironment boundary"。原因是边界检查直接给根目录再拼一个\,而G:\本身已带反斜杠,结果要求路径以G:\\开头。这个问题从 0.0.10 起就存在;同类写法共 19 处,已全部改用统一的路径包含判断。 - Windows 上目录名大小写不一致、以
..开头的文件名(如..env)不再被误判为越界;Claude Code 项目级插件的技能在 Windows 上能正常加载。 - read 工具可以读取网络共享和 WSL 路径(
\\wsl.localhost\...、\\server\share\...);审批卡片和工具卡片正确显示 UNC 路径。 - 工作区根目录是符号链接、junction 或 subst 盘时,模型用真实路径给出的文件路径和命令工作目录会映射回工作区;目标路径里的链接仍按原规则检查。
- 原生 realpath 不支持的内存盘、虚拟盘上,写入、编辑、删除不再报 EISDIR。
- 远程服务器的工作目录可以写成
~或~/project,会按登录用户的家目录展开。远程删除保护在根路径带尾随/时仍然生效,并额外拒绝删除工作区根目录的上级目录和登录用户的家目录。
验证:
-
新增路径形态回归测试 15 项全部通过:用
path.win32模拟 Windows 路径规则,用本机 bash 代替 SSH 跑远程流程;存储、数据集、传输、远程读取相关的回归测试文件全部通过。 -
Linux 本地完整回归(默认模式)在加入远程
~支持和审查修正之前的代码上 1960 项、0 失败。之后的改动只跑了相关测试,发布前没有重跑完整回归,也没有跑--ci模式和 GitHub Actions。 -
G:\工作区的实际写入和删除尚未在真实 Windows 上验证。 -
四平台 VSIX(Linux x64、Windows x64、macOS x64/arm64)已通过内容检查,提供
SHA256SUMS校验文件。 -
构建源码:
77bebe749598fd1d771b39beb2c1c1e896e91b6f,工作区干净;Runtime epoch 保持为 5。 -
直接推送到
main,没有经过 PR。
Limcode Test 0.0.29
0.0.29
- 自动备份并升级能确认格式的 3、4 版旧聊天库:当前库在启动时处理,其它旧库在启动完成后逐个处理,查看历史时补做升级,无需升级按钮或确认。保留升级前备份、消息与附件,不启动非当前库的旧任务。
- 隔离异常历史库:空目录、归档残留或损坏指针不再挡住其它合法旧库;无法认证的来源报告具体原因,不自动重置为空库。
- 已知迁移中断可继续;关闭扩展时立即停止当前 Runtime,等待已开始的迁移收尾,并停止调度下一库。
- 改进技能发现和加载:跨工具扫描技能目录,完整技能内容交给模型并在压缩后重新附上;
run_agent支持通过skills为子 Agent 预载技能。 - 子 Agent 列表按任务名显示,修复窄栏布局与悬停样式。
验证:Linux 本地定向回归 188 通过、0 失败、24 跳过;跳过项为 Windows/macOS 专用测试。客户实际旧库及真实双窗口流程尚未验证,不将本地夹具结果等同于客户数据已恢复。
- 四平台 VSIX(Linux x64、Windows x64、macOS x64/arm64)已通过内容检查;版本、平台、构建来源、入口摘要和 291 个运行模块逐个校验通过。提供
SHA256SUMS校验文件。 - 构建源码:
e023a2286034b03bedb3bad07a8e94a438bb2f18,工作区干净;Runtime epoch 保持为 5。 - GitHub Actions 跨平台检查 7/7 全部通过:Linux/Windows/macOS 编译与合同、Windows/macOS 旧库迁移回归、四平台安装包检查、Linux 关键回归和聊天界面浏览器测试。
- 已通过 PR #40 合入
main;发布标签和四份安装包均对应上述已验证的构建提交。
Limcode Test 0.0.28
本次版本重点:
- 同一对话可跨宿主查看已提交消息;聊天与侧栏停止通过 Turn/lease 栅栏提交,避免抢占另一个宿主的执行。
- 改进子 Agent 协作、回答交付及原生 Responses 工具链的持久恢复与运行反馈。
- 模型用量和响应指标进入有界持久投影;上下文栏区分实际输入与压缩预估。
- 内置全局系统提示词可查看;转向回执只显示有用结果,输入栏目录与思考强度显示更简洁,下拉宽度按内容调整。
- 提供 Linux x64、Windows x64、macOS x64、macOS arm64 安装包及 SHA256 校验文件。
验证说明:首轮 Linux 回归在 20 分钟上限处取消,且包含两处旧测试夹具失败;发布后的 main 已修复测试并调整时限。跟进提交 fbcbed2 的 7 项跨平台 CI 全部通过。四平台 VSIX 均按 v0.0.28 标签构建,可用 SHA256SUMS 验证。
Limcode Test 0.0.27
修复原生 Responses 长工具链在检查点剪枝后误判工具结果未交付的问题。现在在每个 response.created 持久化时,按明确准入的 provider call ID 记录交付;未获证明的结果仍会拒绝交付,已执行的工具结果不会被丢弃或自动重跑。
修复 Webview 将原生控制事件的流序号误判为丢帧、工具参数预览不及时切换到执行/结果卡,以及原生输出已进入持久消息时重复出现模型名和技术状态行的问题。run_agent(list) 现在明确显示为查询已有子任务,空结果标注未启动子 Agent。
本次更新不改变 Runtime 数据结构。提供 Linux x64、Windows x64、macOS x64 和 macOS arm64 VSIX。
Limcode Test 0.0.26
支持 GPT-6 系列通过 Responses WebSocket 使用原生 compaction_trigger 压缩。压缩请求发送完整上下文,并要求返回可回放的加密 compaction 项;能力验证失败时不会标记为已支持。
已在本机 CPA Codex 订阅链路验证压缩、回放和正确答复。补充了回归测试及超时、取消和失败关闭处理。本版不更改 Runtime 数据结构,也不重置已有对话。
提供 Linux x64、Windows x64、macOS x64 和 macOS arm64 的 VSIX。
Limcode Test 0.0.25
修复 SSH VS Code 远程扩展宿主启动时可能出现的 Cannot read properties of undefined (reading 'header')。该宿主可能不提供 process.report.getReport() 的结果;本版在打包时修补 better-sqlite3 的 Linux 库类型检测,并对缺失进程报告的环境执行 SQLite 启动检查。
四个平台的 VSIX 均检查了修补后的原生库加载入口。本次更新不重置或迁移现有 Runtime 数据。
Limcode Test 0.0.24
更新
- 加入 Agent 团队协作与跨对话工具:列出和读取对话、发送消息、续派任务及创建对话分支;协作消息按目标轮次安全排队,结果与失败状态可追踪。对话分支保留已完成轮次、设置和压缩历史,并隔离自身的权限与引用。
- 完善 Agent、工作流、工具、技能与 MCP 来源的继承和准入边界;子 Agent 的工作目录、工具和技能按派出时的权限上限执行。
- 升级固定的
unified-llm-provider到0.1.37-limcode.7,修复 OpenAI 兼容、Responses、Claude、Gemini 的协议边界;加入 GPT-6 家族适配、显式缓存与轮内提醒。会话思考强度按模型能力展示,并提供“测试这个模型”的参数探测入口。 - 改进上下文压缩、摘要重建预估和节省量展示;加入历史与存储管理,固定历史库选择和回合工作目录。
- 修复 Windows Runtime 持有者探测:PowerShell 超时会有界重试并报告原因;PID 被复用时通过进程创建时间严格核对,未知身份继续拒绝接管。
升级与数据
已发布版本 0.0.10–0.0.14(Runtime epoch 3)和 0.0.15–0.0.21(epoch 4)会在首次启动时离线升级到 epoch 5。升级前请关闭使用同一 Runtime 根的其它 VS Code 窗口。扩展先核对旧库、其它宿主与 RootBinding,使用 SQLite Backup API 保存升级前备份,再以单事务增加新领域表;原会话、消息、附件、CAS、配置和工作区保留。升级中断按持久日志继续;未知结构或备份异常会保留原数据并明确报错,不会自动启动空库。旧版已中断的 epoch 3→4 升级也会在严格核验后先收敛,再继续升级到 epoch 5。
安装包
按平台下载 Windows x64、Linux x64、macOS Intel x64 或 macOS Apple Silicon arm64 的 VSIX。每个包都包含四个平台所需的 better-sqlite3 原生模块;可用 SHA256SUMS 核验下载。
验证
https://github.com/lurenxing628/limcode-test/actions/runs/36002649419的七项跨平台 CI 全部通过,包含 Windows/macOS Runtime、Linux 可靠性与实际聊天界面回归。- 使用
v0.0.10和v0.0.21的实际发布源码创建旧库,确认升级后保留同一数据集的会话、消息和 CAS 正文,并生成升级前 SQLite 备份。 - 四平台 VSIX 均通过内容、目标平台、原生模块、构建来源和 ZIP 完整性校验。
发布提交:bdc477a48ab7b4688c0b23791c2bb3ad10500681。