Files
Project-Caffeine/CHANGELOG.md

128 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--
---
title: Project Caffeine Changelog (更新日志)
description: 记录 Project Caffeine 项目的所有显著更改、版本迭代与发布历史,遵循 Keep a Changelog 与语义化版本规范。
type: Changelog
version: v0.0.3 (Arabica) - Sprint 3
file: CHANGELOG.md
author: Gitconomy Research-郭晧
date: 2026-03-11
tags:
- Project Caffeine
- Changelog
- Release Notes
- Version Control
license: CC BY-SA 4.0
status: Active
---
-->
# Changelog (更新日志)
本项目的所有显著更改都将记录在此文件中。
本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 规范,并且项目版本号采用 [Semantic Versioning (语义化版本)](https://semver.org/lang/zh-CN/)。
---
## [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/list``prompts/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/list``prompts/get` 接口,向大模型暴露静态思维框架模板,支持降低前置上下文长度。
- **多维静态思维框架库**:在 `src/models/frameworks/` 目录下新增 `5W3H``SCQA``SWOT``PESTLE` 等基于 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.json``build` 脚本中引入跨平台构建工具 `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_notes``read_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 生成的指令视为不可信负载,直接拦截并阻断读取指定工作目录之外的恶意文件请求。