requirements.txt:人工维护的Python直接依赖范围。requirements.lock.txt:包含传递依赖和哈希的运行时锁文件。requirements-ci.txt:发布工具的直接版本。requirements-ci.lock.txt:发布工具及传递依赖的哈希锁文件。apps/web/package-lock.json:Node依赖锁文件。
安装运行时依赖:
python -m pip install --require-hashes -r requirements.lock.txt
cd apps/web
npm ci更新Python锁文件需要显式执行pip-compile,不能在CI中隐式升级。
tests/test_mcp_protocol.py会启动真实的stdio MCP子进程,验证:
- initialize握手;
- tools/list;
- 候选记忆写入与读取;
- 敏感内容拒绝;
- 缺失scope时拒绝调用。
测试只使用临时合成Vault。
CI会执行:
pip-audit -r requirements.lock.txt
npm audit --audit-level=high --registry=https://registry.npmjs.org
python scripts/check_release.pycheck_release.py扫描Git跟踪文件和Vite生产构建,阻止高置信度凭据、私钥以及Windows/macOS/Linux用户绝对路径进入公共发布物。
每次CI生成并上传:
python-sbom.jsonnode-sbom.json
格式为CycloneDX JSON。SBOM作为CI artifact保存,不提交到源码仓库。
独立的windows-clean任务从空白GitHub Windows runner开始:
- 从Python哈希锁文件安装;
- 运行真实MCP协议测试;
- 通过
npm ci构建React; - 启动、复用并关闭本地Launcher;
- 执行发布隐私扫描。
Windows安装程序和代码签名仍属于后续发布阶段。