返回顶部
s

slack-channel-contextSlack频道上下文

Automatically loads Slack channel context files (e.g., bebops.md, C0AK8SDFS4W.md) into session context for Slack channels and threads. Use this skill whenever you're in a Slack channel or thread and need channel-specific context, project information, or channel-specific rules to be loaded into your session.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
85
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

slack-channel-context

Slack 频道上下文 - 技术文档

快速入门:参见 README.md

概述

此技能会在您与 Slack 频道或线程交互时,自动将 slack-channel-contexts/ 中的频道上下文文件加载到您的会话上下文中。这确保您无需手动干预即可获得每个频道的正确上下文。

在我的 Openclaw 工作流中,我使用 Slack 的不同频道来处理不同任务。作为开发者,我为每个项目都设置了专门的 Slack 频道。我需要一种方法,确保当我提到运行所有单元测试时,Openclaw Agent 能知道是哪个项目;或者当我想讨论新功能时,只需在对应频道中开始讨论,Agent 就能自动识别项目。这个技能正是为解决我的需求而生的。

关键设计决策: 上下文文件直接命名为 ID>.md 或 NAME>.md(例如 bebops.md、C0AK8SDFS4W.md)。没有默认回退文件——没有上下文文件的频道将返回 None。

工作原理

上下文加载流程

  1. 1. 检测:技能检测到您正在 Slack 频道或线程中
  2. 线程检查:如果消息在线程中(包含 threadid 或 threadts),检查 SLACKCONTEXTLOADONTHREADS 设置
- 如果 SLACKCONTEXTLOADONTHREADS=false,则跳过线程中的上下文加载 - 如果 SLACKCONTEXTLOADONTHREADS=true(默认),则在线程中加载上下文
  1. 3. 文件发现:按优先级顺序在 slack-channel-contexts/ 文件夹中查找上下文文件:
- slack-channel-contexts/.md(例如 C0AK8SDFS4W.md)——最高优先级 - slack-channel-contexts/.md(例如 bebops.md)——中等优先级 - 无默认回退——如果文件不存在则返回 None
  1. 4. 上下文注入:将找到的文件加载到会话上下文中
  2. 缓存:将加载的上下文缓存 1 小时(3600 秒),避免重复读取文件

工具

loadchannelcontext()

将 Slack 频道上下文加载到当前会话中。

此工具会根据当前 Slack 频道自动加载相应的频道上下文文件。请在会话启动时调用此工具,以确保您拥有完整的频道感知能力。

签名:
python
loadchannelcontext(
channel_id: str,
channel_name: str,
workspace_dir: str = None,
force_reload: bool = False,
is_thread: bool = False
) -> dict

参数:

  • - channelid (str, 必填):Slack 频道 ID(例如 C0AK8SDFS4W)
  • channelname (str, 必填):Slack 频道名称(例如 bebops)
  • workspacedir (str, 可选):自定义工作区目录(默认为 ~/.openclaw/workspace)
  • forcereload (bool, 可选):如果为 True,则绕过缓存并重新读取文件(编辑上下文文件后使用)
  • isthread (bool, 可选):如果为 True,则检查 SLACKCONTEXTLOADON_THREADS 设置(默认为 False)

返回结果:
json
{
success: true,
context: # 频道上下文:#bebops\n\n## 用途...,
channel_id: C0AK8SDFS4W,
channel_name: bebops,
message: 已为 bebops 频道加载上下文
}

或者如果没有上下文文件:
json
{
success: false,
context: ,
channel_id: C0AK8SDFS4W,
channel_name: bebops,
message: 未找到该频道的上下文文件。上下文文件必须创建在 slack-channel-contexts/ 目录中。
}

示例:
python
result = loadchannelcontext(channelid=C0AK8SDFS4W, channelname=bebops)
if result[success]:
print(f已加载上下文:{result[context][:200]}...)
else:
print(f无可用上下文:{result[message]})

行为:

  • - 按优先级顺序查找上下文文件:

1. slack-channel-contexts/.md
2. slack-channel-contexts/.md
3. 无默认文件——如果文件不存在则返回 None
  • - 默认将结果缓存 1 小时(3600 秒)
  • 编辑上下文文件后使用 force_reload=True 可绕过缓存

实现文件

scripts/skill.py

位置: scripts/skill.py

主实现文件,包含 SlackContextLoader 类和 loadchannelcontext() 函数。

scripts/load_context.py

位置: scripts/load_context.py

用于向后兼容的旧模块。包含核心的 SlackContextLoader 类。

scripts/reloadallcontexts.py

位置: scripts/reloadallcontexts.py

用于重新加载所有频道上下文文件、绕过缓存的实用脚本。

用法:
bash
python3 ~/.openclaw/workspace/skills/slack-channel-context/scripts/reloadallcontexts.py

scripts/example.py

位置: scripts/example.py

演示脚本,展示上下文加载器如何与不同频道配合使用。

用法:
bash
python3 ~/.openclaw/workspace/skills/slack-channel-context/scripts/example.py

环境变量

请在 ~/.openclaw/workspace/.env 中设置(推荐方法):

变量默认值描述
SLACKCONTEXTENABLEDtrue启用/禁用此技能
SLACKCONTEXTLOADONTHREADS
true | 在线程消息中加载上下文 |
| SLACKCONTEXTLOADONTHREAD_START | true | 在线程/会话启动时加载上下文 |
| SLACKCONTEXTCACHE_TTL | 7200 | 缓存持续时间(秒,120 分钟) |
| SLACKCONTEXTCONTEXTS_DIR | ~/.openclaw/workspace/slack-channel-contexts/ | 自定义上下文目录 |

注意: 不要使用 export——直接在 ~/.openclaw/workspace/.env 中设置变量即可。

上下文文件结构

上下文文件遵循以下结构:

markdown

频道上下文:#频道名称

用途

[这个频道是做什么的?]

关联项目

  • - [项目名称]:[描述]

规则与指南

  • - [规则 1]
  • [规则 2]

近期活动

  • - [YYYY-MM-DD]:[更新内容]

相关人员

  • - [@用户名]:[角色]

完整的工作示例请参见 examples/EXAMPLECHANNEL_CONTEXT.md

重要说明

编辑后强制重新加载

编辑上下文文件后,您必须使用 force_reload=True 来绕过缓存:

python
loadchannelcontext(
channel_id=C0AK8SDFS4W,
channel_name=bebops,
force_reload=True
)

无默认回退

没有默认的 SLACKCHANNELCONTEXT.md 文件。如果某个频道没有上下文文件,技能将返回 success: false 并附带空上下文。这是有意为之——没有上下文的频道就是没有上下文。

简单的文件名

上下文文件直接命名为 ID>.md 或 NAME>.md。已移除 SLACKCHANNELCONTEXT_ 前缀,使文件名更短、更易读。

故障排除

详细的故障排除步骤请参见 TROUBLESHOOTING.md

文件

文件用途
scripts/skill.py主实现
scripts/load_context.py
旧模块 | | scripts/example.py | 演示脚本 | | scripts/reloadallcontexts.py | 实用脚本 | | examples/EXAMPLECHANNELCONTEXT.md | 完整工作示例 | | _meta.json | ClawHub 发布元数据 |
快速入门:README.md 故障排除:TROUBLESHOOTING.md

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 slack-channel-context-1775995562 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 slack-channel-context-1775995562 技能

通过命令行安装

skillhub install slack-channel-context-1775995562

下载

⬇ 下载 slack-channel-context v1.0.0(免费)

文件大小: 19.4 KB | 发布时间: 2026-4-13 12:04

v1.0.0 最新 2026-4-13 12:04
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部