使用说明

项目简介

Journaling Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,专门用于处理交互式日记会话。它能够自动管理日记会话,将对话保存为 Markdown 格式,并支持情感分析和主题提取。通过 MCP 协议,该服务器可以与支持 MCP 协议的 LLM 客户端(如 Claude Desktop)无缝集成,为用户提供便捷的个人日记记录和回顾功能。

主要功能点

  • 日记会话管理: 自动处理日记记录会话的开始和结束。
  • 对话记录: 以时间戳记录用户和助手之间的对话内容。
  • Markdown 保存: 将日记内容保存为易读的 Markdown 文件。
  • 情感分析支持: 为日记条目提供情感分析功能(仓库代码中未见情感分析的具体实现,描述基于README.md)。
  • 最近日记访问: 提供接口访问最近的日记条目,方便回顾和上下文理解。
  • 可配置: 允许用户自定义日记文件存储目录、文件名前缀和扩展名。

安装步骤

该服务器主要面向 MCP 客户端使用,您无需手动安装服务器软件,只需在您的 MCP 客户端中配置该服务器的启动信息即可。

以 Claude Desktop 为例 (参考仓库 README.md):

  1. 复制仓库路径: 获取 Journaling Server 仓库在您本地文件系统中的路径('<REPOSITORY PATH>')。
  2. 配置 MCP 服务器: 在 Claude Desktop 的配置文件中 (通常是 JSON 格式的配置文件),添加以下 'mcpServers' 配置:
{
    "mcpServers": {
        "journaling": {
            "command": "uv",
            "args": [
                "--directory",
                "<REPOSITORY PATH>",
                "run",
                "server.py"
            ]
        }
    }
}

配置参数说明:

  • '"journaling"': 服务器名称,您可以自定义,用于在客户端中引用该服务器。
  • '"command": "uv"': 启动服务器的命令,这里假设您使用 'uv' 虚拟环境运行 Python 代码。请确保您的环境中已安装 'uv' 或根据实际情况修改为 'python' 等命令。
  • '"args"': 启动命令的参数列表。
    • '"--directory"': 指定工作目录为仓库路径。
    • '"<REPOSITORY PATH>"': 请替换为您的 Journaling Server 仓库的实际本地路径。
    • '"run"': 使用 'uv run' 运行 Python 脚本。
    • '"server.py"': 服务器主程序文件名。

服务器配置

Journaling Server 可以通过环境变量进行配置,您可以在仓库根目录下创建 '.env' 文件进行配置 (如果需要自定义配置)。

可配置的环境变量:

  • 'JOURNAL_DIR': 日记文件保存的目录,默认为 '~/Documents/journal'。
  • 'FILENAME_PREFIX': 日记文件名的前缀,默认为 '"journal"'。
  • 'FILE_EXTENSION': 日记文件的扩展名,默认为 '".md"'。

示例 '.env' 文件:

JOURNAL_DIR=./my_journals
FILENAME_PREFIX=my_diary
FILE_EXTENSION=txt

如果您不创建 '.env' 文件或不设置环境变量,服务器将使用默认配置。

基本使用方法

  1. 启动 MCP 客户端: 启动配置了 Journaling Server 的 MCP 客户端 (如 Claude Desktop)。
  2. 客户端访问: 在客户端中,您可以使用以下方式与 Journaling Server 交互:
    • Prompt: 使用 'start_journaling' Prompt 开始一个新的日记会话。客户端会向 LLM 请求 'start_journaling' Prompt 的内容,并将其作为对话的初始 Prompt。
    • Tool 调用: 使用 'start_new_session()'、'record_interaction(user_message, assistant_message)'、'generate_session_summary(summary)' 等 Tool 来管理日记会话和记录对话内容。客户端可以调用这些 Tool 来执行相应的日记操作。
    • Resource 访问: 访问 'journals://recent' Resource 获取最近的日记条目内容。客户端可以读取 'journals://recent' Resource 的内容,用于上下文学习或回顾。

使用流程示例 (在支持 MCP 协议的 LLM 应用中):

  1. LLM 应用请求 'start_journaling' Prompt,获取初始对话 Prompt。
  2. 用户与 LLM 进行日记对话。
  3. 在对话过程中,LLM 应用可以调用 'record_interaction' Tool 记录用户和 LLM 之间的对话。
  4. 对话结束后,LLM 应用可以调用 'generate_session_summary' Tool,并将生成的总结内容作为参数传递给该 Tool,服务器会将包含对话记录和总结的日记保存到文件中。
  5. LLM 应用可以访问 'journals://recent' Resource 获取最近的日记内容,用于在后续对话中提供上下文。

通过以上步骤,您就可以使用 Journaling Server 记录和管理您的个人日记。

信息

分类

生产力应用