UNPKG

zettelkasten-memory-server

Version:

基于 Zettelkasten 记忆片段盒方法的 MCP 记忆服务器 v1.6.X

123 lines 8.08 kB
// 工具定义映射 export const TOOL_DEFINITIONS = { getMemory: { description: "获取指定记忆片段的内容,支持递归展开引用的其他记忆片段。请不要重复调用同一记忆片段,除非该记忆片段内容在不知情的情况下发生变化(使用 setMemory 属于在可控的情况下变更了内容,因为设置的内容即为最新的内容),比如使用 extractMemory 提取了内容,或者insetLinkAt 插入了链接,使用带有行号的模式可以忽略这一点。如果接下来希望使用 extractMemory 提取内容,推荐使用 withLineNumber=true", inputSchema: { type: "object", properties: { fragmentName: { type: "string", description: "要获取内容的记忆片段名称" }, expandDepth: { type: "number", description: "展开深度,0表示不展开引用,1表示展开一层引用,以此类推", default: 0, minimum: 0, maximum: 10 }, withLineNumber: { type: "boolean", description: "是否输出带行号的内容,默认false", default: false } }, required: ["fragmentName"] } }, setMemory: { description: "创建或更新记忆片段的内容。支持使用 [[记忆片段名]] 语法引用其他记忆片段,并自动处理引用关系。注意:如果该记忆片段已存在,内容会被覆盖。如果需要合并内容,请使用 renameMemory 方法。在编辑前请确保该记忆片段的内容是最新的,如果上下文中没有相关内容,请先使用 getMemory 获取最新内容。", inputSchema: { type: "object", properties: { fragmentName: { type: "string", description: "要设置内容的记忆片段名称" }, content: { type: "string", description: "记忆片段的内容,支持 Markdown 格式和 [[记忆片段名]] 引用语法" } }, required: ["fragmentName", "content"] } }, deleteMemory: { description: "删除指定的记忆片段", inputSchema: { type: "object", properties: { fragmentName: { type: "string", description: "要删除的记忆片段名称" } }, required: ["fragmentName"] } }, renameMemory: { description: "重命名记忆片段或将两个记忆片段合并。如果目标记忆片段已存在,会将内容合并。同时更新所有引用了旧记忆片段的地方。在使用此方法前,请确保旧记忆片段的内容是最新的。如果上下文中没有相关内容,请先使用 getMemory 获取最新内容。", inputSchema: { type: "object", properties: { sourceFragmentName: { type: "string", description: "原记忆片段名称" }, targetFragmentName: { type: "string", description: "新记忆片段名称" } }, required: ["sourceFragmentName", "targetFragmentName"] } }, getMemoryHints: { description: "获取按权重排序的重要记忆片段提示。权重通过递归计算记忆片段引用关系得出。用于发现知识网络的核心节点。如需优化整体结构,建议配合 getOptimizeSuggestions 使用", inputSchema: { type: "object", properties: { fileCount: { type: "number", description: "返回的记忆片段数量", default: 10, minimum: 1, maximum: 100 } } } }, getOptimizeSuggestions: { description: "获取优化建议,识别低信息散度的记忆片段和孤立片段。信息散度 = 权重 / 字符数。该方法同时提供低信息散度片段和孤立片段的优化建议,包括详细的拆分、链接和合并策略。系统片段(如 bootloader 片段)是只读的,具有保护机制无法修改。当记忆片段数量较多或想要改善知识网络质量时使用", inputSchema: { type: "object", properties: { optimizationThreshold: { type: "number", description: "优化阈值,信息散度低于此值的记忆片段会被标记为需要优化", default: 0.1, minimum: 0, maximum: 1 }, maxFileCount: { type: "number", description: "返回的低信息散度记忆片段最大数量", default: 10, minimum: 1, maximum: 50 } } } }, extractMemory: { description: "内容提取功能 - 支持精确范围定位。通过行号和正则表达式精确定位内容范围进行提取。适用于需要从大段文本中提取特定内容的场景。可以指定起始和结束位置,支持行号和正则表达式匹配,提取前请使用 getMemory 的 withLineNumber=true 获取带行号的内容,以确保行号准确。这是 getOptimizeSuggestions 推荐的主要优化方法。", inputSchema: { type: "object", properties: { from: { type: "string", description: "源记忆片段名称" }, to: { type: "string", description: "目标记忆片段名称" }, range: { type: "object", description: "提取范围定义", properties: { start: { type: "object", description: "开始位置", properties: { line: { type: "number", description: "起始行号(1-based),如果不提供则从文件开头开始", minimum: 1 }, regex: { type: "string", description: "正则表达式匹配,从指定行号开始搜索匹配的内容" } } }, end: { type: "object", description: "结束位置", properties: { line: { type: "number", description: "结束行号(1-based),如果不提供则从文件结尾开始", minimum: 1 }, regex: { type: "string", description: "正则表达式匹配,从指定行号开始倒过来搜索匹配的内容" } } } } } }, required: ["from", "to", "range"] } }, insertLinkAt: { description: "在指定位置插入记忆片段链接。在使用前请确保已获取相关记忆片段的最新内容,推荐使用 withLineNumber=true 获取带行号的内容。", inputSchema: { type: "object", properties: { sourceFragmentName: { type: "string", description: "源记忆片段名称(要在其中插入链接的记忆片段)" }, targetFragmentName: { type: "string", description: "目标记忆片段名称(要链接到的记忆片段)" }, linePosition: { type: "number", description: "行号位置。正数表示从文件开头计数(1-based),负数表示从文件末尾计数,0或不提供则默认添加到文件末尾" }, anchorText: { type: "string", description: "链接的锚文本,可选。如果提供,链接格式为 '锚文本 [[目标记忆片段]]',否则为 '[[目标记忆片段]]'" } }, required: ["sourceFragmentName", "targetFragmentName"] } }, getBacklinks: { description: "获取指定记忆片段的所有反向链接。返回引用指定记忆片段的其他记忆片段名称列表,有助于了解知识网络中的连接关系", inputSchema: { type: "object", properties: { fragmentName: { type: "string", description: "要查询反向链接的记忆片段名称" } }, required: ["fragmentName"] } } }; //# sourceMappingURL=toolDefinetion.old.js.map