提交qiming-mcp-proxy

This commit is contained in:
Codex
2026-06-01 13:03:20 +08:00
parent 9e9486b7c2
commit afb3d9f4e6
394 changed files with 124494 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).
## [0.1.52] - 2026-02-15
### Fixed
- **PATH 按段去重**: `ensure_runtime_path` 从整段 `starts_with` 改为按分隔符拆段去重,
解决上层多次前置导致的 `node/bin` 重复条目问题
- **config PATH 覆盖**: 用户在 MCP config env 中指定自定义 PATH 时,
仍然确保应用内置运行时路径(`NUWAX_APP_RUNTIME_PATH`)在最前面
- **env value 泄露**: `log_command_details` 不再打印 env 变量的 value
仅输出 key 列表,避免泄露敏感信息(如 token、secret
### Added
- **`mcp-common::diagnostic` 模块**: 提取子进程启动诊断日志为独立模块,
提供 `log_stdio_spawn_context``format_spawn_error``format_path_summary` 等公共函数,
减少业务代码中的日志侵入
- **启动阶段环境诊断**: `env_init` 结束后输出 PATH 摘要和镜像环境变量最终值
- **spawn 失败上下文**: SSE/Stream 子进程 spawn 失败时输出完整错误上下文
command、args、PATH便于快速定位可执行文件找不到的问题
- **build 失败上下文**: `mcp_start_task` 中 SSE/Stream server build 失败时
通过 `anyhow::Context` 附加 MCP ID 和服务类型
- **`ensure_runtime_path` 单元测试**: 新增 5 个测试覆盖前置、部分去重、
全部已存在、双重重复等场景
### Changed
- **server_builder PATH 逻辑简化**: 两侧 `connect_stdio` 从三分支
(继承/config/缺失)统一为:取基础 PATH → `ensure_runtime_path` → 传递给子进程
- **无镜像提示**: 未配置镜像源时输出提示行,而非静默跳过
## [0.1.51] - 2026-02-14
### Changed
- 版本号更新
## [0.1.49] - 2026-02-13
### Added
- **镜像源配置**: 支持通过 `config.yml` 配置 npm/PyPI 镜像源,
环境变量优先级高于配置文件
- **环境变量初始化**: `env_init` 模块统一管理子进程环境(镜像源 + 内置运行时 PATH
- **`UV_INSECURE_HOST` 支持**: HTTP 类型的 PyPI 镜像自动提取 host 并设置
## [0.1.48] - 2026-02-12
### Added
- **跨平台进程管理**: `process_compat` 模块提供 `wrap_process_v8` / `wrap_process_v9` 宏,
统一 UnixProcessGroup和 WindowsJobObject + CREATE_NO_WINDOW的进程包装
### Fixed
- Windows 平台隐藏控制台窗口配置