skills-experimental/background-task-ui/SKILL.md
Background Task UI - Integrate background task visualization with Feishu cards. Shows running tasks, progress, and completion status. Use when [background task ui] is needed.
npx skillsauth add bianhaifeng789-hue/openclaw-config background-task-uiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
整合后台任务可视化到飞书卡片。
import { registerTask, updateProgress, completeTask, createTaskCard } from './background-task-utils'
// 启动记忆维护任务
const task = registerTask('memory_maintenance')
// 立即发送启动卡片
const startCard = createTaskCard(task)
await message({ action: 'send', card: startCard })
// 更新进度(30%)
updateProgress(task.id, 30, '正在读取会话记录...')
// 发送进度卡片(间隔至少 3 秒)
const progressCard = createTaskCard(task)
await message({ action: 'send', card: progressCard })
// 完成任务
completeTask(task.id, '更新了 MEMORY.md Current Focus 和 Learnings 区块')
// 发送完成卡片
const completeCard = createTaskCard(task, '更新了 MEMORY.md...')
await message({ action: 'send', card: completeCard })
// heartbeat 检查时
import { checkActiveTasks } from './background-task-utils'
const { hasActive, card, runningCount } = checkActiveTasks()
if (hasActive) {
// 有活动任务,发送汇总卡片
await message({
action: 'send',
card: card
})
// 返回活动状态(不是 HEARTBEAT_OK)
return `有 ${runningCount} 个后台任务正在运行`
}
// 无活动任务,正常返回
return 'HEARTBEAT_OK'
⚙️ 后台任务启动
记忆维护
任务 ID: bg-1-xxx
状态: 运行中
预计耗时:1-2 分钟
⚙️ 后台任务进度
🔄 记忆维护
进度: [███░░░░░░░] 30%
耗时: 45秒
正在处理...
✅ 任务完成
✅ 记忆维护 完成
耗时: 2分钟
结果:
- 更新 Current Focus
- 更新 Learnings
[查看 MEMORY.md]
⚙️ 后台任务 (2 运行中)
🔄 记忆维护 [███░░░░░░░] 30%
🔄 洞察分析 [█░░░░░░░░░] 10%
✅ 上次分析 已完成
总计: 5 | 完成: 3 | 失败: 0
| 状态 | 图标 | 说明 | |-----|-----|-----| | pending | ⏳ | 等待中 | | running | 🔄 | 运行中 | | completed | ✅ | 已完成 | | failed | ❌ | 失败 | | cancelled | 🚫 | 已取消 |
| 类型 | 中文名 | 说明 | |-----|-------|-----| | memory_maintenance | 记忆维护 | 更新 MEMORY.md | | insights_analysis | 洞察分析 | 分析用户模式 | | dream_task | 记忆整合 | 长期记忆整理 | | cron_task | 定时任务 | 定时执行 | | subagent | 子代理任务 | sessions_spawn | | compact | 上下文压缩 | Context compact | | tool_run | 工具执行 | 工具调用 |
| Claude Code | OpenClaw 飞书 |
|-------------|--------------|
| registerTask() | registerTask() |
| updateTaskState() | updateProgress() |
| AppState.tasks | memory/heartbeat-state.json taskTracker |
| Footer pill | 飞书卡片消息 |
| Shift+Down dialog | 卡片交互按钮 |
| DreamTaskState | BackgroundTask |
backgroundTaskUI:
enabled: true
showProgress: true # 显示进度条
showResult: true # 显示结果
notifyOnFailure: true # 失败时通知
updateIntervalMs: 3000 # 最小更新间隔
compactMode: false # 简洁模式(只显示完成)
// 1. 注册任务
const task = registerTask('memory_maintenance')
// 2. 发送启动卡片
await message({ action: 'send', card: createTaskCard(task) })
// 3. 执行步骤
updateProgress(task.id, 20, '读取最近会话...')
// ... 实际读取逻辑
updateProgress(task.id, 50, '提取关键信息...')
// ... 实际提取逻辑
updateProgress(task.id, 80, '更新 MEMORY.md...')
// ... 实际更新逻辑
// 4. 完成任务
completeTask(task.id, '更新了 Current Focus, Learnings, User Profile')
// 5. 发送完成卡片
await message({
action: 'send',
card: createTaskCard(task, '更新了...')
})
// 未来:追踪子代理任务
const subagentTask = registerTask('subagent')
// 使用 sessions_spawn
const session = await sessions_spawn({
task: '...',
runtime: 'subagent'
})
// 更新进度
updateProgress(subagentTask.id, 30)
// sessions 完成后
completeTask(subagentTask.id, result)
此 Skill 在后台任务启动/进度/完成时自动执行,无需手动调用。
business
IAA 日报飞书输出能力。 支持把固定 CSV 模板一键转换成: - 中文运营结论 - 飞书卡片 JSON - 飞书发送载荷 Use when: - 需要把 IAA 日报直接发到飞书 - 需要从 CSV 一键生成运营日报
data-ai
IAA日报分析模型 功能: - 渠道日报自动分析 - 小时级+日级ROI联动判断 - 按地区输出加量/降量/停投建议 - 按产品类型输出阈值 - 自动识别利润区/观察区/止损区 Use when: - 分析每天投放数据 - 生成运营日报结论 - 判断是否加量/降量/停投 - 对比美加澳/日韩表现 Keywords: - 日报模型, 投放日报, 加量, 降量, 停投, ROI日报, 分地区分析
data-ai
IAA固定日报分析模板 功能: - 固定字段模板(可直接贴每天数据) - 自动输出总盘结论 - 自动输出美加澳/日韩结论 - 自动给出加量/降量/停投建议 - 适配文件修复/清理两类产品 Use when: - 需要固定日报格式 - 每天复盘渠道表现 - 给运营团队出统一结论 Keywords: - 固定模板, 日报模板, ROI模板, IAA日报, 运营模板
development
# HyperlinkPool Pattern Skill HyperlinkPool Pattern - HyperlinkPool class + strings array + stringMap + Index 0 no hyperlink + intern(hyperlink) + get(id) + undefined handling + 5-minute reset + OSC8 hyperlink interning。 ## 功能概述 从Claude Code的ink/screen.ts提取的HyperlinkPool模式,用于OpenClaw的OSC8超链接池管理。 ## 核心机制 ### HyperlinkPool Class ```typescript export class HyperlinkPool { private strings: string[] = [''] // Index 0 = no hyperlink private stringMap = new Map<string, number>() // strings