Markdown记忆服务器

Muse是一个MCP服务器,为支持MCP采样的AI代理提供基于Markdown的记忆功能,适用于代码库文档的自动生成和管理。

  • by ArcticZeroo
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ArcticZeroo/muse

使用说明

缪斯(灵感之神)

Muse 是一个 MCP 服务器,为支持 MCP 采样*的任何 AI 代理提供基于 Markdown 的记忆功能。

这个想法是,智能体随着时间的推移会积累起一种“记忆”,这实质上成为了你代码库的文档。 由于它们只是Markdown文件,你可以(并且应该)将它们提交到你的版本控制系统中,以便与他人共享 你们的团队。 当内存文件在MCP服务器外部(即由人工操作)被创建/删除/更新时,muse将自动进行处理 将这些更改存储到其内存中。在进行操作之前,最好先回顾一下Muse生成的所有文档并进行编辑 将其提交(或存入)系统。

*注:截至撰写本文时,MCP采样仅在VSCode中支持,并且偶尔会出现一些错误 (例如,你可能需要不时地重启VSCode,以防服务器开始因VSCode而超时)。这 项目 严重地;大量地 使用MCP采样,因此你可能应该只使用那些不计入你的(某种指标或限制)的模型 请求预算。目前该项目未提供模型提示。

在VSCode中,目前采样过程也显得有些慢,但随着时间的推移,这种情况可能会有所改善。在我看来,它仍然 由于内存如此有用,等待大约30秒进行查询或数据摄入是值得的。

安装

使用命令添加一个MCP服务器 npx -y @arcticzeroo/muse <memory directory>. 你也可以选择性地包含一个 包含上下文信息的文件 npx -y @arcticzeroo/muse <memory directory> --context <context file>。

在 mcp.json,这看起来会是这样的:

{
  "servers": {
    "muse": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@arcticzeroo/muse",
        "<memory directory>"
      ]
    }
  }
}

如果你的代码库中包含大量自创术语,添加一个上下文文件会大有帮助。

此外,在你的(计划/列表/内容等)中添加一行可能是个好主意 copilot-instructions.md (或同等学历)其中内容大致如下:

IMPORTANT: Always query memory in muse before searching/writing code. Once you're done with your task, make sure to ingest into muse's memory with any new information you learned.

替代安装方式:作为库使用

Muse 可以作为库来使用。查看它是如何被使用的: server/tools 举个例子。

import { MemorySession } from '@arcticzeroo/muse/session';
import { MCP_SERVER } from './mcp-server.js';
import z from 'zod';

const session = MemorySession.createAsync({
    mcpServer: MCP_SERVER, // should be your MCP server instance from the MCP SDK
    outputDirectory: '<memory directory>',
    contextFile: '<context file>', // optional
});

MCP_SERVER.registerTool(
    'query',
    {
        inputSchema: z.string()
    },
    async ({ query }) => {
        const result = await session.queryMemory(query);
        return [{
            type: 'text',
            text: result
        }];
    }
);

await MCP_SERVER.connect(transport);

await session.initializeAfterMcpServerStarted();

使用方法

一旦你的MCP服务器运行起来,你就可以随心所欲地在你的AI代理中使用它。你可以做以下事情:

  • 请人工智能调查某些特性、架构、语言模式等,并将其内容加载到内存中。
  • 请让AI浏览您现有的副驾驶指令文件,调查相关代码,并将调查结果加载到内存中。
  • 让AI查询关于某个主题的记忆。

文档

此仓库中的文档 /docs 由muse生成,并进行了轻微编辑。