使用说明
项目简介
Journaling Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,专门用于处理交互式日记会话。它能够自动管理日记会话,将对话保存为 Markdown 格式,并支持情感分析和主题提取。通过 MCP 协议,该服务器可以与支持 MCP 协议的 LLM 客户端(如 Claude Desktop)无缝集成,为用户提供便捷的个人日记记录和回顾功能。
主要功能点
- 日记会话管理: 自动处理日记记录会话的开始和结束。
- 对话记录: 以时间戳记录用户和助手之间的对话内容。
- Markdown 保存: 将日记内容保存为易读的 Markdown 文件。
- 情感分析支持: 为日记条目提供情感分析功能(仓库代码中未见情感分析的具体实现,描述基于README.md)。
- 最近日记访问: 提供接口访问最近的日记条目,方便回顾和上下文理解。
- 可配置: 允许用户自定义日记文件存储目录、文件名前缀和扩展名。
安装步骤
该服务器主要面向 MCP 客户端使用,您无需手动安装服务器软件,只需在您的 MCP 客户端中配置该服务器的启动信息即可。
以 Claude Desktop 为例 (参考仓库 README.md):
- 复制仓库路径: 获取 Journaling Server 仓库在您本地文件系统中的路径('<REPOSITORY PATH>')。
- 配置 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' 文件或不设置环境变量,服务器将使用默认配置。
基本使用方法
- 启动 MCP 客户端: 启动配置了 Journaling Server 的 MCP 客户端 (如 Claude Desktop)。
- 客户端访问: 在客户端中,您可以使用以下方式与 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 应用中):
- LLM 应用请求 'start_journaling' Prompt,获取初始对话 Prompt。
- 用户与 LLM 进行日记对话。
- 在对话过程中,LLM 应用可以调用 'record_interaction' Tool 记录用户和 LLM 之间的对话。
- 对话结束后,LLM 应用可以调用 'generate_session_summary' Tool,并将生成的总结内容作为参数传递给该 Tool,服务器会将包含对话记录和总结的日记保存到文件中。
- LLM 应用可以访问 'journals://recent' Resource 获取最近的日记内容,用于在后续对话中提供上下文。
通过以上步骤,您就可以使用 Journaling Server 记录和管理您的个人日记。
信息
分类
生产力应用