4.1 KiB
4.1 KiB
NexDocs v0.9.6 升级日志
版本信息
- 版本号:
v0.9.6 - 更新时间:
2026-03-11
本次升级摘要
v0.9.6 主要完成了以下升级:
- 新增后端内集成的 MCP Server 能力
- 新增用户级 MCP 凭证管理
- 打通通过 Nginx 统一入口访问 MCP
- 调整部署运行环境到 Python 3.12
- 将 MySQL、Redis 数据目录改为项目根目录
storage/持久化 - 优化个人中心与文档页面部分交互体验
功能升级
1. MCP Server 内集成
系统已支持直接在 backend 中提供 MCP streamableHttp 服务,不再依赖项目根目录下的独立 mcp_server/ 进程。
当前 MCP 入口:
/mcp/
当前支持的工具:
list_created_projects:列出当前用户的项目get_project_tree:列出项目文件树结构get_file:获取指定文件create_file:在项目中创建新文件update_file:修改指定文件delete_file:删除指定文件
2. MCP 认证与用户凭证管理
新增基于 X-Bot-Id 和 X-Bot-Secret 的 MCP 认证模型。
能力包括:
- 每个用户可拥有自己的 MCP 凭证
- 通过数据库表
mcp_bots维护 bot 与用户的映射 - 支持在个人中心查看和重新生成凭证
- 服务端自动按凭证映射到对应 NexDocs 用户身份执行工具
相关接口:
GET /api/v1/auth/mcp-credentialsPOST /api/v1/auth/mcp-credentials/rotate-secret
3. Nginx 统一入口支持 MCP
前端 Nginx 已新增 /mcp/ 反向代理配置。
现在在只暴露一个公网入口端口的部署模式下,可以通过统一入口访问:
http(s)://<host>/mcp/
不再要求调用端直连 backend 容器端口。
前端与交互优化
1. 个人中心布局调整
个人中心由上下结构调整为左右结构:
- 左侧为纵向导航
- 右侧为内容区域
- 移动端会自动回退为上下布局
2. 文档浏览/编辑切换优化
本轮已对项目文档页做过一组交互统一:
- 浏览/编辑模式切换样式统一
- 页面头部高度与操作区对齐
- 切换时保留当前文件上下文
- 登录跳转回原目标页的逻辑补齐
3. 认证异常提示优化
对未登录和 token 失效场景做了重复错误提示抑制:
- 避免并发请求弹出多条重复 Toast
- 统一 401 处理与跳转逻辑
部署与运行环境变更
1. Python 运行环境升级
backend 运行环境已调整为:
Python 3.12
原因:
- MCP Python SDK 需要 Python 3.10+
- 当前版本已按 Python 3.12 完成调试与验证
2. Docker 构建链调整
backend Docker 镜像构建已做以下处理:
- 基础镜像切换为
python:3.12-slim - 增加 pip 构建工具升级
- pip 安装支持国内源失败后回退官方源
- Nginx 已补充
/mcp/代理配置
3. 数据持久化目录调整
本次升级将 MySQL、Redis 的数据目录改为挂载到项目根目录下的 storage/:
storage/
├── mysql/
├── redis/
├── projects/
└── temp/
当前挂载关系:
storage/mysql -> /var/lib/mysqlstorage/redis -> /datastorage -> /data/nex_docus_store
这样做的目的:
- 宿主机可直接看到数据库与缓存数据目录
- 便于整体备份
- 避免数据只留在 Docker named volume 中
升级迁移注意事项
1. MCP 调用地址调整
如果原先通过 backend 端口直连 MCP,可以继续使用。
如果当前部署是通过前端 Nginx 暴露统一入口,推荐改为:
http(s)://<host>/mcp/
调用头保持不变:
X-Bot-IdX-Bot-Secret
部署与文档
升级建议
建议升级到 v0.9.6 后按以下顺序验证:
- 验证 backend
/health是否正常 - 验证统一入口
/api/与/mcp/是否可访问 - 验证 MCP client 是否能正常完成
initialize - 验证个人中心的 MCP 凭证展示与轮换功能