v1.1.0 — MCP 标准 stdio + 架构重组 + 质量基线
Fixed(关键协议修复)
- MCP stdio 标准协议:v1.0.x 的 stdio 传输层误用 LSP 式
Content-Length帧,导致任何标准 MCP 客户端(换行分隔 JSON)都握手失败。现改为 MCP 标准的换行分隔 JSON,同时兼容解析旧式 Content-Length 帧(向后不破坏)。 - EOF 忙循环:stdin 关闭后主循环把 EOF 当空消息
continue,进程不退出、CPU 空转。现_read_message在 EOF 时抛出并干净退出,附回归测试。
Changed(架构重组,零逻辑改动)
- 巨石拆分:
memory_core.py(约 3600 行单文件)机械拆分为core_base(常量/评分/MemoryDB 数据层)+engine(WanYiCore + 23 工具 + JSON-RPC 分发)+transport(stdio 传输层)。 - 兼容门面:
wanyi.memory_core保留 shim——包内导入、sys.path hack 顶层导入、python -m wanyi.memory_core与 console scriptwanyi全部原样可用;另新增python -m wanyi入口。 - 版本唯一真源:新增
wanyi/version.py,pyproject.toml动态读取(hatch);修复initialize返回 "1.0.2"、docstring 标 "v3"、__version__三处互相矛盾的硬编码。
Added(质量基线)
- 测试 15 → 33(CI 矩阵 py3.10–3.12 + ruff):stdio 协议合规 ×6、模块拆分一致性 ×3、symtable 全局名完整性守卫 ×1、23 工具全覆盖冒烟 ×1(按签名自动补哑元逐个真实调用)。
- 护栏模式
WANYI_GUARD_MODE:full(默认,完整拦截)/warn(只提醒不拦截)/off。
安装
pip install wanyimem # core(仅 numpy 依赖)
pip install "wanyimem[all]" # + 向量/精排模型 + sqlite-vec ANN本 Release 附带构建产物(wheel + sdist);PyPI 源同步发布前可从 Assets 直接安装。