Claude状态显示工具

一个将Claude Code的活动状态实时显示为Discord Rich Presence卡片的工具。

  • by BrunoJurkovic
  • TypeScript
  • 本地部署
  • 38 星标
  • 更新于
在 GitHub 查看 BrunoJurkovic/claude-code-discord-status

使用说明

Show what Claude Code is doing as a live Discord Rich Presence card.
Hooks into Claude Code's lifecycle events and updates your Discord status in real time.


预览

Single session (professional preset)  ·  Multiple sessions (dev-humor preset)

特性

  • 实时活动更新 --你的Discord卡反映了克劳德现在正在做什么(编辑、搜索、运行命令、思考)
  • 自愈守护进程 --如果守护进程死亡(系统重启、睡眠/唤醒),它将在下一个Claude Code会话中自动重启
  • 多会话支持 --运行多个Claude Code实例?卡片会随着古怪的信息和汇总的统计数据而升级
  • 活动模式检测 --主导活动类型(编码、终端、搜索、思考)改变卡片图标
  • 旋转工具提示 --隐藏的复活节彩蛋盘旋,每5分钟旋转一次
  • 自动重新连接 --守护进程优雅地处理Discord RPC断开连接

快速开始

先决条件

  • Node.js>=18
  • jq (brew install jq / apt install jq)
  • 桌面应用程序运行不稳定
  • 克劳德代码 已安装CLI

安装和设置

npm install -g claude-code-discord-status
claude-presence setup

或者尝试不全局安装:

npx claude-code-discord-status setup

提示: 全球安装(npm install -g)建议将CLI放在PATH上,并将文件保存在稳定的位置。这 npx 这种方法可以快速尝试,但依赖于npm的缓存目录。

安装程序将:

  1. 在以下位置创建配置 ~/.claude-presence/config.json
  2. 将钩子脚本复制到 ~/.claude-presence/ 为了坚持
  3. 添加生命周期挂钩 ~/.claude/settings.json
  4. 在后台启动守护进程

守护进程在需要时会自动重启——如果它被杀死(系统重启、睡眠/唤醒),下一个Claude Code会话会自动将其恢复。

从v1.x升级

npm install -g claude-code-discord-status@latest
claude-presence doctor --fix

迁移是自动的——您的配置、钩子和设置将被移动到新的 ~/.claude-presence/ 第一次运行时的目录。

运作原理

两个组件协同工作:

  1. 钩子 --由Claude Code生命周期事件(会话开始/结束、工具使用、提示提交)触发的Bash脚本。它们对守护进程的HTTP API进行POST更新。如果守护进程没有运行,钩子会自动启动它。
  2. 守护进程 --持有Discord RPC连接的后台进程,跟踪所有会话,解析要显示的内容,并将其推送到Discord。

看 docs/architecture.md 进行全深度潜水。

命令行界面

claude-presence setup            # Interactive setup wizard
claude-presence status           # Check daemon status and active sessions
claude-presence start -d         # Start daemon in background
claude-presence stop             # Stop the daemon
claude-presence preset [name]    # Change message style
claude-presence doctor            # Diagnose and fix issues
claude-presence doctor --fix     # Auto-fix all issues
claude-presence update           # Update to latest version
claude-presence uninstall        # Remove everything

所有命令也适用于 npx claude-code-discord-status <command>.

配置

配置文件: ~/.claude-presence/config.json

关键点 环境覆盖 默认值 描述
discordClientId CLAUDE_PRESENCE_CLIENT_ID 1472915568930848829 Discord应用程序客户端ID
daemonPort CLAUDE_PRESENCE_PORT 19452 本地HTTP服务器端口
preset CLAUDE_PRESENCE_PRESET minimal 消息样式预设

默认客户端ID开箱即用——它是一个公共应用程序标识符,而不是秘密。

看 docs/setup.md 对于所有配置选项、超时以及如何使用自定义Discord应用程序。

消息预设

选择您的Discord状态听起来如何。在设置过程中设置,或随时更改:

claude-presence preset            # Interactive selection
claude-presence preset dev-humor   # Set directly
预设 样式 示例
minimal Terse,只是事实(默认) “编码”
professional 干净、低调 “积极发展”
dev-humor 经典程序员笑话 “//一切:睡觉”
gen-z 古怪,米姆味 “没有想法,只有代码”
chaotic 向主推,危险地生活 “周五部署”

通过环境变量进行覆盖:

export CLAUDE_PRESENCE_PRESET=professional

多会话乐趣

当你运行多个Claude Code会话时,卡片会变得古怪:

  • 2次会议 — “双焊接代码库”, “与自己配对编程”
  • 3次会议 — “检测到三重威胁”, “三环马戏团”
  • 4次会议 — “4个平行宇宙深”, “每个脑细胞一个”
  • 5+次会议 — “发送帮助(5个项目)”, 《野性》(6个项目)

加上汇总统计数据,如 23 edits · 8 cmds · 2h 15m deep 以及旋转悬停工具提示,如 “从技术上讲,我是一个穿着风衣的克劳德”.

看 docs/multi-session.md 了解完整的消息池以及解析器的工作原理。

发展

git clone https://github.com/BrunoJurkovic/claude-presence.git
cd claude-presence
npm install
npm run build
npm test

看 贡献.md 作为指导方针。

许可证

麻省理工学院