forked from new_org/Project-Caffeine
7.1 KiB
7.1 KiB
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/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 生成的指令视为不可信负载,直接拦截并阻断读取指定工作目录之外的恶意文件请求。