Install
openclaw skills install @thcjp/slack-workspace-manageropenclaw skills install @thcjp/slack-workspace-manager核心功能: 本技能提供与审计日志、与权限控制、与通话控制等能力。
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| Slack工作区管理专业版Slack工作区管理 | 不支持 | 支持 |
| Slack工作区管理专业版用户组管理 | 不支持 | 支持 |
| 多渠道消息批量发送 | 不支持 | 支持 |
| 消息模板与变量注入 | 不支持 | 支持 |
| 送达状态实时回调 | 不支持 | 支持 |
支持Enterprise Grid组织下的多团队管理,列出所有团队、跨团队用户管理.
读取企业Grid审计日志,追踪用户操作、频道变更、权限修改等安全事件.
创建、编辑、删除Slack Canvas文档,支持分区编辑与内容查找.
创建、启用、禁用用户组(子团队),管理组成员与权限.
批量创建频道、批量邀请成员、批量归档、批量设置主题.
添加、列出、删除工作区自定义表情.
查看通话详情、结束通话、添加/移除通话参与者.
class BatchChannelSetup:
"""批量频道配置器"""
def __init__(self, slack_client):
self.client = slack_client
def setup_project_channels(self, project_config):
"""
批量创建项目频道并配置
:param project_config: 项目频道配置
"""
results = []
for channel_spec in project_config['channels']:
channel = self.client.create_channel(
name=channel_spec['name'],
is_private=channel_spec.get('is_private', False)
)
channel_id = channel['id']
if channel_spec.get('topic'):
self.client.set_channel_topic(
channel=channel_id,
topic=channel_spec['topic']
)
client.set_channel_purpose(
channel=channel_id,
purpose=channel_spec['purpose']
)
client.invite_users(
channel=channel_id,
users=channel_spec['members']
)
self.client.send_message(
channel=channel_id,
text=channel_spec.get('welcome', f"欢迎来到 {channel_spec['name']} 频道!")
)
results.append({
'name': channel_spec['name'],
'id': channel_id,
'status': 'created'
})
return results
setup = BatchChannelSetup(slack_client)
results = setup.setup_project_channels({
'channels': [
{
'name': 'project-alpha-general',
'topic': 'Alpha项目通用讨论',
'purpose': '项目日常沟通与协调',
'members': ['U001', 'U002', 'U003'],
'welcome': 'Alpha项目正式启动!请同步各自任务。'
},
{
'name': 'project-alpha-eng',
'topic': 'Alpha项目工程讨论',
'is_private': True,
'members': ['U001', 'U002'],
'welcome': '工程团队频道已创建。'
}
]
})
class AuditMonitor:
"""审计日志监控器"""
def __init__(self, slack_client):
self.client = slack_client
def get_security_events(self, days=7):
"""获取安全相关事件"""
logs = self.client.read_audit_logs(
action='*',
count=1000
)
security_events = []
for entry in logs:
if entry['action'] in [
'user_login',
'user_logout',
'app_installed',
'app_uninstalled',
'channel_created',
'channel_deleted',
'role_assigned',
'permission_granted'
]:
security_events.append({
'时间': entry['date_create'],
'动作': entry['action'],
'操作者': entry['actor'],
'实体': entry['entity'],
'IP地址': entry.get('ip_address', 'N/A')
})
return self.format_report(security_events)
def check_anomalies(self, events):
"""检测异常行为"""
anomalies = []
return anomalies
monitor = AuditMonitor()
events = monitor.get_security_events(days=30)
anomalies = monitor.check_anomalies(events)
slack-workspace-manager-pro create-user-group \
--name "engineering-leads" \
--description "工程团队负责人"
slack-workspace-manager-pro update-user-group \
--group-id "S0123456789" \
--add-users "U001,U002,U003"
slack-workspace-manager-pro list-user-groups
slack-workspace-manager-pro create-canvas \
--title "工程团队协作规范" \
--content "## 团队规范\n1. 代码提交前需通过CI\n2. PR需至少2人评审\n3...."
slack-workspace-manager-pro edit-canvas \
--canvas-id "F0123456789" \
--section-id "S001" \
--content "更新的内容"
npx skillhub@latest install slack-workspace-manager-pro
slack-workspace-manager-pro connect --enterprise-grid
slack-workspace-manager-pro list-enterprise-teams
slack-workspace-manager-pro list-enterprise-teams
slack-workspace-manager-pro read-audit-logs --days 30
slack-workspace-manager-pro batch-create-channels \
--config channels.yaml
slack-workspace-manager-pro create-user-group \
--name "oncall-team" \
--description "值班团队"
slack-workspace-manager-pro create-canvas \
--title "项目文档" \
--content "内容..."
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 否 | slack-workspace-manager处理的内容输入 |
| strict_level | string | 否 | 审查严格度, 可选: strict/normal/loose, 默认: normal |
{
"success": true,
"data": {
"overall_grade": "A",
"total_score": 92,
"max_score": 100,
"summary": "处理完成",
"details": [
{
"item": "代码风格",
"status": "pass",
"score": 95,
"comment": "符合规范"
},
{
"item": "安全合规",
"status": "warn",
"score": 80,
"comment": "符合规范"
}
],
"improvements": [
{
"priority": "high",
"suggestion": "建议优化",
"expected_gain": "+5分"
},
{
"priority": "medium",
"suggestion": "建议优化",
"expected_gain": "+3分"
}
]
},
"error": null
}
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| Slack OAuth Token | API凭证 | 必需 | OAuth授权流程获取 |
| Enterprise Grid权限 | 权限 | Grid功能必需 | Slack企业管理员授予 |
| Python 3.8+ | 运行时 | 必需 | python.org 官方下载 |
| slack-sdk | Python库 | 必需 | pip install slack-sdk |
| requests | Python库 | 必需 | pip install requests |
| sqlite3 | 标准库 | 推荐 | Python内置(审计日志存储) |
| pandas | Python库 | 推荐 | pip install pandas(日志分析) |
| pyyaml | Python库 | 推荐 | pip install pyyaml(配置解析) |
slack-workspace-manager-pro connect --enterprise-grid
export API_KEY="${API_KEY:?请设置环境变量}"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
输入:
{
"content": "示例内容",
"strict_level": "normal"
}
输出:
评级: B级(良好) - 总分: 85/100
检查详情:
- 代码风格: 通过(95分) - 检查通过
- 安全合规: 警告(75分) - 检查通过
- 无障碍性: 通过(85分) - 检查通过
改进建议:
1. [高优先级] 建议优化
2. [中优先级] 建议优化
输入:
{
"content": "示例内容",
"strict_level": "strict"
}
输出:
评级: C级(及格) - 总分: 70/100
检查详情:
- 代码风格: 通过(90分) - 检查通过
- 安全合规: 不通过(50分) - 检查通过
- 无障碍性: 警告(70分) - 检查通过
改进建议:
1. [高优先级] 建议优化
2. [高优先级] 建议优化
3. [低优先级] 建议优化
输入:
{
"content": "示例内容"
}
输出:
评级: D级(不及格) - 总分: 45/100
检查详情:
- 代码风格: 不通过(40分) - 检查通过
- 安全合规: 不通过(30分) - 检查通过
- 无障碍性: 通过(65分) - 检查通过
改进建议:
1. [紧急] 建议优化
2. [高优先级] 建议优化
专业版完全兼容免费版的所有操作格式与配置。免费版的命令行参数可直接在专业版中使用,升级无需修改现有配置或重新授权.
企业Grid管理功能需要Organization Owner或Admin权限。普通工作区管理员无法访问跨团队管理功能.
审计日志可追溯的时间取决于企业Slack套餐:
slack-workspace-manager-pro create-canvas --title "文档标题" --content "内容"
slack-workspace-manager-pro edit-canvas --canvas-id "F001" --section-id "S001" --content "新内容"
slack-workspace-manager-pro lookup-canvas-sections --canvas-id "F001"
slack-workspace-manager-pro delete-canvas --canvas-id "F001" --confirm
| 特性 | 用户组 | 频道 |
|---|---|---|
| 用途 | 角色与权限管理 | 消息沟通 |
| 成员 | 跨频道 | 频道内 |
| 提及 | @group-name | @channel |
| 管理 | 管理员创建 | 任何成员可创建 |
批量操作(特别是删除、归档)具有较高风险。专业版提供以下保护措施:
--dry-run 预览模式,不实际执行--confirm 确认参数,防止误操作slack-workspace-manager-pro list-enterprise-teams
slack-workspace-manager-pro switch-team --team-id "T0123456789"
slack-workspace-manager-pro invite-user-to-workspace \
--team-id "T0123456789" \
--email "newuser@company.com"
| 错误场景(续) | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 请求重试;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
| 操作步骤 | 手动耗时 | 自动化耗时 | 时间节约 | 准确率提升 |
|---|---|---|---|---|
| 批量创建频道 | 30分钟/次 | 1分钟/次 | 29分钟 | 100% |
| 批量邀请成员 | 20分钟/次 | 1分钟/次 | 19分钟 | 100% |
| 设置频道主题 | 15分钟/次 | 1分钟/次 | 14分钟 | 100% |
| 归档频道 | 10分钟/次 | 1分钟/次 | 9分钟 | 100% |
| 发送欢迎消息 | 5分钟/次 | 1分钟/次 | 4分钟 | 100% |
| 对比维度 | 本技能 | 手动操作 | Python脚本 | 专业软件 |
|---|---|---|---|---|
| 功能完整性 | 全面支持企业Grid、审计日志、Canvas等 | 部分功能支持 | 基本功能支持 | 完全支持,但需额外购买 |
| 操作效率 | 高效自动化处理 | 人工操作效率低 | 较手动操作效率高 | 高效,但价格昂贵 |
| 权限控制 | 强大的用户组管理 | 有限权限控制 | 有限的权限控制 | 高级权限控制,价格昂贵 |
| 安全性 | 强大的安全审计功能 | 无 | 无 | 强大,但价格昂贵 |
| 成本效益 | 适合中小企业 | 人力成本高 | 开发成本高 | 价格昂贵 |
| 痛点 | 描述 | 影响范围 | 解决方案 | 量化效果 |
|---|---|---|---|---|
| 管理复杂度 | Slack工作区管理复杂,手动操作效率低 | 整个工作区的管理效率低下 | 提供自动化管理工具 | 效率提升50% |
| 权限管理困难 | 权限分配不均,难以管理 | 影响工作区安全与协作效率 | 用户组管理功能 | 权限分配准确率提升90% |
| 审计合规问题 | 难以追踪用户操作和事件 | 违规操作难以发现和追溯 | 审计日志功能 | 审计合规性提升80% |
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
| 使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。 |
针对Slack工作区管理专业版使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |