Files
Project-Caffeine/CHANGELOG.md

7.1 KiB
Raw Permalink Blame History

Changelog (更新日志)

本项目的所有显著更改都将记录在此文件中。

本项目遵循 Keep a Changelog 规范,并且项目版本号采用 Semantic Versioning (语义化版本)


[0.0.3] - 2026-03-10

Added (新增)

  • 意图驱动路由引擎:全面重构系统提示词,确立四大核心意图映射(文献查询、框架分析、保存内容、本地笔记分析),使大模型能够根据自然语言智能调度专属工具。
  • 学术文献检索接入:新增 search_arxiv 原子工具与 arxivService.ts,支持基于提取的核心关键字调用 Arxiv API实时获取学术论文并结构化输出。
  • 结果落盘持久化:优化 save_note 工具,允许大模型在获取用户明确授权后,将生成的长篇分析报告或检索结果一键保存为本地 Markdown 文件。
  • 内部模板获取工具:新增 fetch_framework_template 后台工具,专供大模型内部读取 SWOT、SCQA 等 JSON 框架配置,不再向客户端 UI 暴露。

Changed (变更)

  • 系统架构降维升级系统架构从“UI 按钮/提示词驱动Prompt-driven”彻底转向“自然语言/工具驱动Tool-driven”。
  • 参数宽容度放宽 (Parameter Tolerance):将 save_note 等工具的核心负载参数类型校验由严格的 z.string() 放宽至 z.any(),并在底层 toolsController.ts 中引入自动序列化机制(JSON.stringify),以承接大模型输出的畸形对象。

Deprecated (废弃)

  • MCP Prompts 原语暴露:废弃了向客户端 UI 直接暴露的 prompts/listprompts/get 接口,改由大模型在后台自主调用工具获取模板。

Removed (移除)

  • 移除了 Sprint 2 时期遗留的 5 个硬编码 server.prompt 注册代码。

Fixed (修复)

  • 大模型 JSON 转义崩溃:彻底修复了因大模型未能正确转义超长 Markdown 文本和嵌套引号,导致底层触发 AI_JSONParseError 并中断工具调用的核心故障。
  • 无限循环调用死锁 (Infinite Tool Call Loop):修复了大模型在读取原始 JSON 框架文件后由于“困惑”而导致的工具循环调用崩溃;通过在 toolsController.ts 中剥离 JSON 外壳,并向大模型强制注入“🛑立即停止调用任何工具”的底层防呆指令解决。
  • TypeScript 强类型推断错误:修复了 MCP SDK 中因 type 字段推断为泛用 string 而引发的编译报错,通过显式声明 type: "text" as const 解决。

Security (安全)

  • 强指令防越权写入:在系统提示词与底层逻辑中双重加固防线,设定【绝对红线】,严禁大模型在未经主动提问并获取用户明确(如“是”、“保存”)授权前,私自调用 save_note 执行写盘操作。

[0.0.2] - 2026-03-06

Added (新增)

  • 接入 MCP Prompts 原语:新增 prompts/listprompts/get 接口,向大模型暴露静态思维框架模板,支持降低前置上下文长度。
  • 多维静态思维框架库:在 src/models/frameworks/ 目录下新增 5W3HSCQASWOTPESTLE 等基于 JSON 格式的静态思维框架模板。
  • 新增意图拆解工具:开发 generate_search_queries 工具,支持将用户模糊的自然语言查询自动拆解为 3-5 个专业检索词,为后续文献检索提供广度解析。
  • 输入参数严格校验:在 schemas.ts 中基于 Zod 新增针对 generate_search_queries 工具及 Prompts 原语的强类型参数校验规则。
  • 底层角色矩阵与输出规范:建立多智能体角色矩阵 (Persona Matrix) 雏形,通过系统消息 (System Prompt) 及 Few-Shot 示例,强制约束大模型输出标准的 Markdown 格式报告
  • 测试与质量保障体系制定《Project Caffeine 项目测试规范指南》与《MCP Inspector 使用说明文档》,确立包含单元测试、协议集成、负载性能与安全审计的四级自动化测试体系。

Changed (变更)

  • 重构提示词服务:将 promptService.ts 升级为多框架管理器,支持从本地静态 JSON 文件中动态加载思维框架库。
  • 扩展工具控制器:更新 toolsController.ts,新增对意图拆解服务的路由分发能力。
  • 优化构建脚本:在 package.jsonbuild 脚本中引入跨平台构建工具 copyfiles,以确保在执行 tsc 编译时,静态 JSON 文件能够自动同步至 dist/models/frameworks/ 目录 (依据历史对话)

Deprecated (废弃)

(无)

Removed (移除)

(无)

Fixed (修复)

  • 静态资源编译丢失问题:修复了因 TypeScript 原生编译器 (tsc) 不拷贝非 .ts 文件,导致运行时大模型发起 prompts/get 请求时抛出 MCP error -32603: 获取框架失败 的问题 (依据历史对话)

Security (安全)

  • 非法参数防注入:通过引入 Zod 模型层校验,在服务端自动拦截因客户端大模型未正确生成必填参数(如 SCQA 框架缺失 situation 字段)而导致的无效负载,并标准抛出 JSON-RPC -32602 错误机制。

[0.0.1] - 2026-03-03

Added (新增)

  • 初始化本地基础设施:基于 Node.js (v18+) 和 TypeScript 搭建底层架构,配置主入口 src/app.ts 实例化官方 MCP SDK。
  • 零网络开销通信:实现基于 stdio (标准输入输出) 传输层的本地环境工作流,支持 Cherry Studio 无缝挂载。
  • 单点提示词策略引擎:开发纯本地业务逻辑 promptService.ts,向客户端注册 generate_5_whys 工具,支持将查询主题拆解为 5 Whys 多层追问。
  • 本地知识库集成:内置数据适配器,暴露 list_local_notesread_local_note 两个核心工具,支持大模型直接读取本地 Obsidian (.md) 文件夹内容。
  • 知识库资源暴露:新增被动资源读取协议 obsidian-index (obsidian://vault/index),向客户端暴露本地知识库的完整目录结构。
  • 源码级联调环境:配置 tsconfig.json 生成 sourceMap,并在 .vscode/launch.json 中配置 --inspect=9229 端口映射,实现基于底层 Node 进程的断点与日志监控

Changed (变更)

(无)

Deprecated (废弃)

(无)

Removed (移除)

(无)

Fixed (修复)

(无)

Security (安全)

  • 沙箱隔离与越权防御:在 read_local_note 本地资源服务中实现严格的路径防穿越Path Traversal安全校验,将 AI 生成的指令视为不可信负载,直接拦截并阻断读取指定工作目录之外的恶意文件请求。