evannzhongg/nosis 是一个轻量级个人代理运行时,把按会话划分的执行边界、操作系统级沙箱、计算机使用功能、内置工具集以及 Skill、Plugin、MCP 扩展整合在一起。2026 年 11 月 2 日的 GitHub 提交 03cc986 把内存写入和会话存储各自维护的锁代码合并到了共享文件锁辅助函数中。变更的 230 行中,新增 146 行,删除 84 行。
acquire_file_lock 增加了 blocking 选项,内存锁和会话锁由此统一到等待该辅助函数的路径上,两个模块中重复的 _lock_file 和 _unlock_file 实现也随之消失。锁文件大小的检查也从句柄的 append 模式位置改为使用 os.fstat 的结果。原因是 Windows 上字节范围锁定会同时阻止对被锁定字节的读取,因此不读取内容而用 fstat 确认大小。调度器则把领导者锁的竞争与其他文件系统错误分开处理。竞争以 BlockingIOError 捕获,从而在下一个周期继续轮询;其他错误则记录异常日志,随后结束调度循环并释放领导者锁。测试也有四个一并改动。
不过,这个提交与其说是功能新增,不如说更接近内部结构整理。README 中已反映调度器的错误处理策略,但没有同时给出性能数值或并发性验证结果。文中只说明了阻塞模式会等待其他持有者,没有提及等待上限或超时。也没有绑定发布版本标签,因此仅凭这次提交信息难以判断它进入了哪个版本。考虑到在多个进程共享同一会话目录的环境中竞争越多、阻塞等待也会越多,重写文件锁路径的一方需要直接确认是否存在回归。