Devotd Github
新发现大语言模型基础设施

shadowsafin/synapass — 修复迁移校验和因换行符差异导致的误报

AI 推理网关 shadowsafin/synapass 通过规范化换行符,修复了在 Windows 检出时迁移校验和不同、因而拒绝启动的问题。

仓库信息shadowsafin/synapass ↗

AI 推理网关 shadowsafin/synapass 通过规范化换行符,修复了在 Windows 检出时迁移校验和不同、因而拒绝启动的问题。

GitHub 项目说明: AI inference gateway and control plane for multi-provider routing, policies, caching, tools, and observability.

星标
★ 105
复刻
0
语言
Go
许可证
Apache-2.0
查看原始来源 ↗在 GitHub 查看 ↗

shadowsafin/synapass 是一个推理网关,把多个 AI 模型提供商集中到一起,统一管理路由、策略、缓存、工具和可观测性。2026-10-18 的提交 efe97f4 修复了该项目仓库迁移(schema 变更 SQL)校验和会区分换行符字符差异的问题。原因在于,即便 SQL 文件相同,在 Windows 上以 CRLF、Linux 上以 LF 检出时,哈希值也会不同。

校验和是用于检查已应用的迁移之后是否又被编辑的 sha256 哈希。以 Windows 的 autocrlf=true 设置获取的仓库,即使处于同一提交,也会与最初应用迁移的 Linux 留下的哈希不一致,因此网关报错称 migration 0008 在应用后被修改,并拒绝启动。在 Windows 检出环境下,一键部署路径本身就被阻断了。

修复分为两部分。校验和改为基于将换行符规范化为 LF 的文本来计算,比较步骤则同时接受旧构建所记录的原始字节形式和 CRLF 形式。因此现有安装无需 schema_migrations 补丁即可升级,而 SQL 内容确实发生变更的情况仍会照常被检查拦下。在代码方面,internal/storage/migrate.go 中新增了 migrationChecksum 和 checksumMatches(新增 34 行,删除 2 行),internal/storage/postgres.go 的 Migrate 改为调用这些函数(1 行替换),并新增了 internal/storage/migrate_test.go(72 行)。整个提交规模为 110 行,新增 107 行、删除 3 行。

不过这一改动仅限于迁移检查。测试也只覆盖换行符一致性和对实际篡改的拦截,没有给出衡量路由或缓存性能的数据。发布标签也未提供,因此无法得知它会进入哪个版本。若把 Windows 部署视为问题,那么明确存在受损的一方,但仅凭这一次提交还不足以判断项目的整体状况。