mcpField
S
slack

slack

github.com/letta-ai生产力15236 次安装4 周前更新
代码仓库

关于 slack

用于通过命令行搜索和操作 Slack 工作区的技能,涵盖消息、频道、讨论串和用户,并通过封装脚本避免在 API 命令中直接暴露令牌。

主要功能

  1. 01使用 Slack 筛选条件搜索消息
  2. 02发送消息并加入频道
  3. 03读取频道历史和讨论串
  4. 04列出频道并查看用户
  5. 05安全调用其他 Slack API 接口

适用场景

  1. 01按频道、发送者或日期查找消息
  2. 02向频道或用户发送更新
  3. 03查看频道历史和讨论串回复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/letta-ai/skills --skill slack

安装后在 Claude Code 中输入/slack确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

manifest.yaml
references/
api.md
scripts/
slack
slack-api
slack-setup

详细介绍

Slack

通过命令行搜索并与 Slack 工作区交互。

重要:令牌安全

切勿在 curl 命令中直接包含 $SLACK_TOKEN。 令牌会被记录并暴露。

始终使用在内部从环境中读取令牌的包装脚本:

  • slack send——不要使用 curl ... -H "Authorization: Bearer $SLACK_TOKEN"
  • slack-api POST ...——用于高级 API 调用

快速设置(新用户)

# Add scripts to PATH
export PATH="$PATH:$HOME/.letta/skills/slack/scripts"

# Create Slack app with one click (opens browser)
slack-setup

这会打开 Slack 应用创建页面,并预先配置所有权限。然后:

  1. 点击 Create 创建应用
  2. 前往 OAuth & Permissions → Install to Workspace
  3. 复制 User OAuth Token(xoxp-...)——不要复制 bot token
  4. 在 shell 中设置:
    export SLACK_TOKEN="xoxp-..."
    

为什么使用用户令牌? Bot token(xoxb-)无法搜索消息(这是 Slack 的限制)。用户令牌可以执行 bot 能执行的所有操作,还能搜索。

快速设置(已有令牌)

export SLACK_TOKEN="xoxp-..."   # User token (recommended) or xoxb- bot token
export PATH="$PATH:$HOME/.letta/skills/slack/scripts"

命令

搜索消息
slack search "deployment failed"
slack search "from:@caren database"
slack search "in:#engineering api"
slack search "in:#engineering after:2024-01-01 bug"

搜索支持 Slack 的修饰符:from:、in:、to:、has:link、has:reaction、before:、after:、on:。

发送消息
slack send "#general" "Hello team!"
slack send "#alerts" ":rocket: Deployment complete"
slack send "@caren" "Quick question..."
加入频道

Bot 必须是频道成员才能读取其历史记录。使用以下命令加入公开频道:

slack join "#engineering"

对于私密频道,必须由其他人在 Slack 中手动邀请 bot。

列出频道
slack channels
读取频道历史记录
slack history "#engineering"
slack history "#engineering" 50    # Last 50 messages
读取线程回复
slack thread "C1234567890" "1234567890.123456"
slack thread "C1234567890" "1234567890.123456" --json   # Raw JSON output

线程时间戳(ts)来自搜索结果或频道历史记录。

列出并查看用户
slack users
slack user "U1234567890"

高级用法:直接访问 API

对于 slack 未涵盖的操作,请使用 slack-api(可确保令牌安全):

# Post with rich formatting (blocks)
slack-api POST chat.postMessage '{"channel": "#general", "blocks": [{"type": "section", "text": {"type": "mrkdwn", "text": "*Bold* and _italic_"}}]}'

# Add reaction
slack-api POST reactions.add '{"channel": "C1234", "timestamp": "1234.5678", "name": "thumbsup"}'

# Get user info
slack-api GET "users.info?user=U1234567890"

# Reply to thread
slack-api POST chat.postMessage '{"channel": "C1234", "thread_ts": "1234.5678", "text": "Thread reply"}'

更多 API 用法示例,请参阅 references/api.md。

包含的权限

清单(slack-setup)包含以下 bot 权限范围:

类别权限范围
搜索search:read
消息chat:write、chat:write.public、reactions:read、reactions:write
公开频道channels:read、channels:history、channels:join
私密频道groups:read、groups:history
私信im:read、im:write、im:history
用户users:read、users:read.email
文件files:read、files:write
其他emoji:read、links:read

评论

支持 Markdown