Package Exports
- chat-heimerdinger
- chat-heimerdinger/dist/cli.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (chat-heimerdinger) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Chat Heimerdinger
Slack 与 Claude Code 的桥接工具,让你在 Slack 中直接与 Claude Code 进行对话式编程。
前置准备
在使用 Chat Heimerdinger 之前,请确保满足以下条件:
1. Node.js 环境
需要 Node.js 18.0.0 或更高版本:
node -v # 确认版本 >= 18.0.02. 安装 Claude Code
确保本机已安装并配置好 Claude Code:
# 安装 Claude Code
npm install -g @anthropic-ai/claude-code
# 验证安装
claude --version3. 创建 Slack Bot
- 访问 Slack API 创建新应用
- 选择 From an app manifest
- 导入本仓库的 slack-bot-demo.json 文件
- 安装应用到你的 Workspace
- 重要配置:进入 App Home -> Show Tabs:
- 开启 Messages Tab
- 勾选 **"Allow users to send Slash commands and messages from the messages tab"**(必须勾选,否则无法私聊 Bot)
功能特性
- Slack 集成:通过 Slack Bot 对话与 Claude Code 交互
- 项目管理:支持多项目切换,自动记忆每个频道的项目上下文
- 会话持久化:自动恢复上次对话,保持编程上下文连续性
- 语音消息:支持 Slack 语音消息,自动转写为文字发送给 Claude Code
- 实时反馈:流式输出 Claude 的响应,实时显示代码修改
- 权限控制:支持权限审批流程,安全执行敏感操作
快速开始
# 初始化配置
npx chat-heimerdinger init
# 启动服务
npx chat-heimerdinger start配置
1. 获取 Token
| Token | 位置 |
|---|---|
| Bot Token (xoxb-) | OAuth & Permissions > Bot User OAuth Token |
| App Token (xapp-) | Basic Information > App-Level Tokens (需创建,scope 选 connections:write) |
| Signing Secret | Basic Information > App Credentials |
2. 初始化配置
npx chat-heimerdinger init按提示输入上述 Token 即可。
使用
启动服务
# 后台运行(推荐)
npx chat-heimerdinger start
# 前台运行(调试)
npx chat-heimerdinger start -f
# 查看状态
npx chat-heimerdinger status
# 查看日志
npx chat-heimerdinger logs
# 停止服务
npx chat-heimerdinger stopSlack 命令
| 命令 | 说明 |
|---|---|
/project |
切换项目 |
/stop |
停止当前执行 |
/clear |
清除会话,开始新对话 |
交互方式
- DM:直接私信机器人
- @mention:在频道中 @机器人
- 语音:发送语音消息(需安装 whisper-cli)
语音转文字(可选)
需要安装 whisper.cpp:
# 编译 whisper.cpp
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp && make
# 安装到系统
sudo cp build/bin/whisper-cli /usr/local/bin/
# 下载模型
mkdir -p ~/.local/share/whisper
bash models/download-ggml-model.sh small ~/.local/share/whisper还需要 ffmpeg 进行音频格式转换:
sudo apt install ffmpeg # Ubuntu/Debian
brew install ffmpeg # macOS配置文件
配置文件位于 ~/.heimerdinger/config.json:
{
"activeAdapter": "slack",
"adapters": {
"slack": {
"botToken": "xoxb-...",
"appToken": "xapp-...",
"signingSecret": "...",
"socketMode": true
}
},
"server": {
"port": 3150
},
"claude": {
"permissionMode": "acceptEdits"
}
}权限模式
| 模式 | 说明 |
|---|---|
default |
默认,需要确认敏感操作 |
acceptEdits |
自动接受文件编辑 |
bypassPermissions |
跳过所有权限检查(危险) |
全局安装(可选)
如果你经常使用,可以全局安装以省去 npx 前缀:
npm install -g chat-heimerdinger
# 之后可以直接使用
hmdg start
hmdg status
hmdg stop从源码安装
# 克隆项目
git clone https://github.com/a1245582339/chat-heimerdinger.git
cd chat-heimerdinger
# 安装依赖
pnpm install
# 构建
pnpm build
# 全局链接
pnpm link --global注意事项
- 项目必须已初始化:需要先在项目目录中使用过 Claude Code,才能在 Slack 中选择该项目
- Slack App 权限:确保 Slack App 已添加所有必要的 OAuth Scopes
- 语音功能可选:如不需要语音转文字,可跳过 whisper.cpp 安装
- 网络要求:服务需要能访问 Slack API(Socket Mode 使用 WebSocket)
开发
# 开发模式(使用 tsx)
pnpm dev
# 构建
pnpm build
# 格式化
pnpm formatLicense
MIT