Discord对话记录器

一个MCP服务器,允许AI助手将对话记录到Discord,用于审查和历史跟踪。

  • by SH11235
  • Rust
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 sh11235/discord-conversation-logger

使用说明

Discord对话记录器MCP服务器

MCP(模型上下文协议)服务器,允许AI助手将对话记录到Discord进行审查和历史跟踪。

概述

此MCP服务器为AI助手在Discord中维护对话日志提供了一种简单的方法。它适用于:

  • 审计跟踪:记录重要的互动和决策
  • 审查:轻松回顾过去的对话和背景
  • 协作:与团队成员共享对话历史记录
  • 调试:跟踪问题及其解决方案

特性

  • 记录不同角色(人员、助理、系统)的消息
  • 颜色编码的Discord嵌入,便于识别
  • 为有组织的日志自动创建线程
  • 所有消息上的时间戳
  • 可选上下文元数据

需求

  • 锈蚀(1.70或更高)
  • Discord帐户和机器人
  • MCP兼容的AI客户端(克劳德桌面、克劳德代码等)

设置

1.创建Discord Bot

  1. 首选 Discord开发者门户
  2. 创建新应用程序
  3. 在bot部分创建一个bot并获取令牌
  4. 设置所需权限:
    • 发送消息
    • 创建公共线程
    • 读取消息历史记录
    • 嵌入链接
  5. 在Bot部分启用特权网关意图:
    • 消息内容意图

2.安装

cargo install --git https://github.com/SH11235/discord-conversation-logger.git

或者克隆并在本地构建:

git clone https://github.com/SH11235/discord-conversation-logger.git
cd discord-conversation-logger
cargo install --path .

配置

Claude代码的快速设置

  1. 从存储库目录运行安装脚本:

    ./setup-discord-env.sh
    
  2. 编辑 ~/.claude/discord-config.json 使用您的Discord凭据:

    {
      "bot_token": "YOUR_DISCORD_BOT_TOKEN",
      "channel_id": "YOUR_CHANNEL_ID",
      "thread_name": "Conversation Log"  // Optional, defaults to "Conversation Log"
    }
    
  3. 加载环境变量(测试可选):

    source ./load-discord-env.sh
    
  4. 将MCP服务器添加到Claude代码中:

    # First, load the environment variables (if using discord-config.json):
    source ./load-discord-env.sh
    
    # For global use (available in all projects):
    claude mcp add -s user discord-conversation-logger discord-conversation-logger \
      -e DISCORD_TOKEN="$DISCORD_TOKEN" \
      -- --log-channel-id "$LOG_CHANNEL_ID" --log-thread-name "$LOG_THREAD_NAME"
    
    # Or manually specify values:
    claude mcp add -s user discord-conversation-logger discord-conversation-logger \
      -e DISCORD_TOKEN="your-actual-discord-bot-token" \
      -- --log-channel-id "123456789012345678" --log-thread-name "Conversation Log"
    
    # For local project use (default):
    claude mcp add discord-conversation-logger discord-conversation-logger \
      -e DISCORD_TOKEN="$DISCORD_TOKEN" \
      -- --log-channel-id "$LOG_CHANNEL_ID" --log-thread-name "$LOG_THREAD_NAME"
    

    注意:MCP服务器从环境变量或命令行参数读取配置,而不是直接从 ~/.claude/discord-config.json.

手动配置

或者,您可以手动将以下内容添加到MCP配置文件中(~/.claude.json):

{
  "mcpServers": {
    "discord-conversation-logger": {
      "command": "discord-conversation-logger",
      "args": [
        "--log-channel-id", "your-channel-id",
        "--log-thread-name", "AI Conversation Log"
      ],
      "env": {
        "DISCORD_TOKEN": "your-discord-bot-token"
      }
    }
  }
}

环境变量

  • DISCORD_TOKEN:您的Discord机器人令牌
  • LOG_CHANNEL_ID:日志的Discord通道ID
  • LOG_THREAD_NAME:线程名称(默认值:“对话日志”)

线程命名

记录器会自动将当前工作目录包含在线程名称中。例如:

  • 如果 LOG_THREAD_NAME 是“对话日志”,您正在其中工作 /home/user/project
  • 实际线程名称将是:“对话日志[/home/user/project]”

这有助于确定对话日志属于哪个项目或上下文。

用法

配置后,AI助手可以使用 log_conversation 工具:

Assistant: I'll log this important decision.
[Uses log_conversation tool with role="assistant", message="Implemented feature X with approach Y"]

消息角色

  • 人:用户消息和请求(蓝色)
  • 助手:人工智能响应和行动(绿色)
  • 系统:系统消息、错误或元数据(灰色)

示例用法

{
  "role": "human",
  "message": "Please implement a new authentication system",
  "context": "feature-request"
}

消息格式

记录的消息在Discord中显示为嵌入式消息,其中包含:

  • 标题:带有表情符号的角色指示器(💬 人类,💬 助理,💬 系统)
  • 颜色:特定角色的颜色编码
  • 内容:消息文本
  • 时间戳:自动时间戳
  • 页脚:可选上下文信息

查找不一致ID

获取频道ID

  1. 在Discord中启用开发人员模式(设置→ 高级→ 开发者模式)
  2. 右键单击频道→ “复制ID”

发展

贡献或修改:

git clone https://github.com/SH11235/discord-conversation-logger.git
cd discord-conversation-logger
cargo build
cargo run -- --log-channel-id YOUR_CHANNEL_ID

许可证

MIT许可证-有关详细信息,请参阅许可证文件

CLAUDE.md配置示例

使用Claude Code时,您可以创建 CLAUDE.md 在项目中创建文件以建立日志规则:

# Discord Conversation Logger Rules

## Important Message Logging Rules

Please use discord-conversation-logger MCP to log messages in the following cases:

### 1. User Messages (human)
- Task start/change/completion instructions
- Important decisions or confirmations
- Error reports or issue identification

### 2. Assistant Messages (assistant)
- Task completion reports
- Important suggestions or solutions
- Error resolution methods
- Summary of significant changes made

### 3. System Messages (system)
- Critical errors or warnings
- Important environment changes
- Security-related notifications

## Logging Format

mcp_disscored对话触发器__log_conversation( message:“实际消息内容”, 角色:“人”|“助手”|“系统”, context:“简要上下文描述” )


## Cases Not Requiring Logs
- Simple acknowledgments
- Intermediate progress reports
- Temporary debug outputs

此配置有助于维护重要项目决策和进度的审计跟踪。

贡献

欢迎投稿!请随时提交拉取请求。

致谢

构建使用:

  • rmcp -Rust MCP SDK
  • 宁静 -用于Rust的Discord API库