关于 ops-dash
ops-dash 是 Claude Code 的交互式命令中心 Skill,可呈现 ASCII 仪表板并将选择路由至 ops Skill。它能显示守护进程警告,并提供设置、分享和 FAQ 菜单。
主要功能
- 01呈现 ASCII 仪表板
- 02将选项路由至 ops Skill
- 03显示守护进程状态警告
- 04提供设置、分享和 FAQ 菜单
适用场景
- 01通过仪表板查看运营状态
- 02跳转至收件箱、事故或项目视图
- 03编辑偏好和集成设置
- 04查看帮助或整理可分享的配置摘要
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill ops-dash安装后在 Claude Code 中输入/ops-dash确认已加载。
详细介绍
OPS > DASH — 交互式指挥中心
运行时上下文
渲染前,加载可用的上下文:
-
偏好设置:读取
${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.jsonowner— 个性化仪表盘标题栏问候语timezone— 在状态指示器中正确显示时间戳
-
守护进程健康状态:读取
${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json- 如果
action_needed不为 null → 在仪表盘顶部的菜单前显示警告横幅
- 如果
CLI/API 参考
bin/ops-dash
| 命令 | 用法 | 输出 |
|---|---|---|
${CLAUDE_PLUGIN_ROOT}/bin/ops-dash | 渲染完整的像素艺术仪表盘 | 格式化的 ASCII 仪表盘 |
${CLAUDE_PLUGIN_ROOT}/bin/ops-dash 2>/dev/null || echo "DASH_RENDER_FAILED" | 渲染并检测失败 | 仪表盘或 DASH_RENDER_FAILED 标记 |
bin 脚本会在内部读取 preferences.json 和 daemon-health.json。技能会单独读取这些文件,以便在调用脚本前检查是否有警告。
Agent Teams 支持
如果设置了 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1,并行加载仪表盘数据时使用 Agent Teams。这将支持:
- Agent 共享上下文并在执行过程中协调
- 你可以实时调整优先级
- Agent 完成后会报告进度
团队设置(仅当启用此标志时):
TeamCreate("dash-team")
Agent(team_name="dash-team", name="infra-loader", prompt="Gather ECS health, Vercel status, and CI pipeline state")
Agent(team_name="dash-team", name="comms-loader", prompt="Gather unread counts across all configured channels")
Agent(team_name="dash-team", name="projects-loader", prompt="Gather GSD phase, git status, and PRs for all projects")
Agent(team_name="dash-team", name="business-loader", prompt="Gather revenue, Linear sprint, and fire alerts")
如果未设置此标志,则使用标准的即发即弃子 Agent。
立即渲染仪表盘
${CLAUDE_PLUGIN_ROOT}/bin/ops-dash 2>/dev/null || echo "DASH_RENDER_FAILED"
你的任务
仪表盘已通过上方的 shell 脚本完成渲染。你的工作是将用户输入路由到正确的技能。
按原样呈现仪表盘输出(其格式已设置好)。然后立即使用 AskUserQuestion:
Type a number (1-9, 0), letter (a-j), or describe what you need
路由表
| 输入 | 路由 | 描述 |
|---|---|---|
1、go、morning、briefing | /ops:ops-go | 早间简报 |
2、inbox、unread、messages | /ops:ops-inbox | 收件箱清零 |
3、fires、incidents、down | /ops:ops-fires | 故障检查 |
4、projects、portfolio | /ops:ops-projects | 项目仪表盘 |
5、next、priority、what | /ops:ops-next | 接下来做什么 |
6、revenue、costs、money | /ops:ops-revenue | 收入与成本 |
7、linear、sprint、board | /ops:ops-linear | Linear 冲刺 |
8、deploy、ship | /ops:ops-deploy | 部署状态 |
9、triage、issues | /ops:ops-triage | 问题分流 |
0、speedup、clean、optimize | /ops:ops-speedup | 系统提速 |
a、yolo | /ops:ops-yolo | YOLO 模式 |
b、merge、prs | /ops:ops-merge | 自动合并 PR |
c、setup、configure | /ops:setup | 设置向导 |
d、send、comms | /ops:ops-comms | 发送消息 |
e、report、csuite | 读取最新的 YOLO 报告 | 高管报告 |
f、settings、prefs、config | 设置子菜单 | 交互式配置 |
g、share | 分享子菜单 | 分享你的设置 |
h、faq、help、wiki、? | FAQ 子菜单 | 帮助与 FAQ |
back、dash、home | 重新渲染仪表盘 | 返回仪表盘 |
高管报告访问(选项 e)
用户选择 e 时:
- 查找最新的 YOLO 会话:
ls -td /tmp/yolo-*/ 2>/dev/null | head -1 - 如果找到,则显示子菜单:
显示高管标题,然后使用分批的 AskUserQuestion(每次调用最多 4 个选项):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS > C-SUITE REPORTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
AskUserQuestion 调用 1:
[CEO — Strategic analysis]
[CTO — Technical health]
[CFO — Financial analysis]
[More...]
AskUserQuestion 调用 2(仅当选择“更多...”时):
[COO — Operations review]
[All — Full Hard Truths report]
[Back to dashboard]
读取所选文件并显示。显示后,提供 [返回仪表盘]。
- 如果没有 YOLO 报告:
No C-suite reports yet. Run /ops:ops-yolo to generate one.
b) Back to dashboard
设置子菜单(选项 f)
当用户选择 f 时,读取当前偏好设置并显示交互式配置编辑器。
PREFS="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"
cat "$PREFS" 2>/dev/null || echo '{}'
cat "${CLAUDE_PLUGIN_ROOT}/scripts/registry.json" 2>/dev/null || echo '{}'
以文本形式显示完整设置菜单(供参考),然后使用分批调用 AskUserQuestion(每次最多 4 个选项),让用户选择类别:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS > SETTINGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PROFILE: Owner=[value] | TZ=[value] | Style=[value]
CHANNELS: Email=[✓/✗] | WA=[✓/✗] | Slack=[✓/✗] | Telegram=[✓/✗]
INTEGRATIONS: AWS=[value] | Sentry=[value] | Linear=[value]
PROJECTS: [N] registered
PLUGIN: v[version]
──────────────────────────────────────────────────────
使用 AskUserQuestion(最多 4 个选项):
What would you like to configure?
[Profile (name/timezone/style)]
[Channels (email/WA/slack/telegram)]
[Integrations & Projects]
[Back to dashboard]
对于“Profile”:使用 AskUserQuestion,选项为 [Owner name]、[Timezone]、[Briefing style]、[Back]。
对于“Channels”:使用 AskUserQuestion,选项为 4 个频道名称(一次调用即可)。
对于“Integrations & Projects”:使用 AskUserQuestion,选项为 [AWS/Sentry/Linear]、[View registry]、[Add/remove project]、[Update plugin / Re-run setup]。
对于每个选项,使用 AskUserQuestion 获取新值,然后写入 preferences.json 或 registry.json。
写入偏好设置:
PREFS="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"
# Read existing, merge update, write back
jq --arg key "owner" --arg val "$NEW_VALUE" '.[$key] = $val' "$PREFS" > "${PREFS}.tmp" && mv "${PREFS}.tmp" "$PREFS"
每次更改后确认成功,并返回设置菜单。用户可以继续进行更改,也可以按 b 返回。
分享子菜单(选项 g)
当用户选择 g 时,生成可分享的运维设置摘要:
显示分享标题,然后使用分批调用 AskUserQuestion(每次最多 4 个选项):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS > SHARE YOUR SETUP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
AskUserQuestion 调用 1:
[Share on X (Twitter)]
[Share via Slack]
[Share via Email]
[More...]
AskUserQuestion 调用 2(仅当选择“More...”时):
[Copy to clipboard]
[Export setup guide (markdown)]
[Back to dashboard]
分享内容生成
生成可直接分享的消息。**绝不包含机密信息、令牌或私有项目名称。**仅分享:
- 插件版本
- 已配置集成的数量
- 管理的项目数量
- 操作系统和系统信息
- 已使用的功能亮点
模板:
I'm running my business from Claude Code with claude-ops v0.3.1
Setup: [N] projects | [N] channels | [OS]
Features: Morning briefing, inbox zero, fire alerts, C-suite AI analysis, system optimizer
Try it: /plugin marketplace add ops-marketplace
#ClaudeCode #DevOps #AI
分享操作
| 选项 | 操作 |
|---|---|
| X/Twitter | 将文本复制到剪贴板,并通过 open(macOS)或 xdg-open(Linux)打开 https://twitter.com/intent/tweet?text=... |
| Slack | 使用生成的消息通过 /ops:ops-comms slack 发送 |
通过 gog gmail send 起草邮件,或复制到剪贴板 | |
| Clipboard | pbcopy(macOS)/ xclip -selection clipboard(Linux)/ clip.exe(WSL) |
| Export | 写入 ~/.claude-ops-setup.md 文件,生成完整的(已清理)设置指南,以便与团队成员分享 |
常见问题子菜单(选项 h)
当用户选择 h 时:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS > HELP & FAQ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
QUICK START
1) What is claude-ops?
2) How do I set up channels?
3) How does YOLO mode work?
4) What data does ops collect?
COMMANDS
5) Full command reference
6) Keyboard shortcuts
TROUBLESHOOTING
7) MCP server disconnected
8) WhatsApp not connecting
9) Telegram auth issues
10) Channel not showing unread
LINKS
w) Wiki — github.com/Lifecycle-Innovations-Limited/claude-ops/wiki
r) README — github.com/Lifecycle-Innovations-Limited/claude-ops
i) Issues — github.com/Lifecycle-Innovations-Limited/claude-ops/issues
c) Changelog
──────────────────────────────────────────────────────
b) Back to dashboard
──────────────────────────────────────────────────────
常见问题解答
| # | 问题 | 答案 |
|---|---|---|
| 1 | claude-ops 是什么? | 面向 Claude Code 的业务运营系统。用于管理收件箱、故障、部署、PR、收入,并可通过 YOLO 模式自主运营业务。 |
| 2 | 频道设置 | 运行 /ops:setup——交互式向导会检测已安装的 CLI,并引导你完成每个频道的设置。 |
| 3 | YOLO 模式 | 启动 4 个 AI Agent(CEO、CTO、CFO、COO)来分析你的业务。输入 YOLO 即可移交控制权——它会处理收件箱、修复故障、合并 PR,并推进 GSD 阶段。 |
| 4 | 数据收集 | 所有数据均保留在本地。不收集遥测数据。注册表和偏好设置已加入 gitignore。令牌存储在 macOS 钥匙串或环境变量中。 |
| 5 | 命令参考 | 列出所有 /ops:* 命令及其说明 |
| 6 | 快捷键 | 1-9, 0 用于操作,a-h 用于电源/通信/设置,b 始终返回,q 退出 |
| 7 | MCP 断开连接 | 等待 5 秒后重试(自动重连钩子)。连续失败 3 次后,将回退到 CLI 工具。 |
| 8 | 首先检查 ~/.wacli/.health——如果 status 不是 connected,则在运行 wacli doctor 前提示身份验证警告。检查 wacli doctor。如果出现 405 错误:从源代码重新构建。如果存储被锁定:kill $(pgrep wacli)。 | |
| 9 | Telegram | 需要用户身份验证(而非机器人身份验证)。运行 /ops:setup → Telegram 部分。API ID 和哈希值可从 my.telegram.org 获取。 |
| 10 | 未读消息 | 必须先在 /ops:setup 中配置频道。检查 ops-unread 脚本输出中的错误。 |
对于链接(w、r、i):通过 open(macOS)或 xdg-open(Linux)在浏览器中打开。
对于变更日志(c):读取并显示 ${CLAUDE_PLUGIN_ROOT}/CHANGELOG.md。
每次回答完常见问题后,提供 b) 返回仪表板 或 h) 返回常见问题 选项。
返回仪表盘循环
任何技能完成并交还控制权后,都要重新渲染仪表盘:再次运行 bin 脚本,并重新进入路由循环。这样便能打造“应用中的应用”体验——用户始终会返回指挥中心。
要重新渲染:
${CLAUDE_PLUGIN_ROOT}/bin/ops-dash 2>/dev/null
然后再次调用 AskUserQuestion,询问下一步操作。
例外:如果用户输入 q、quit 或 exit,则正常结束会话:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS > SESSION ENDED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
如果 $ARGUMENTS 为 back
重新渲染仪表盘并进入路由循环。
如果 $ARGUMENTS 为 settings
直接跳转到设置子菜单(跳过仪表盘渲染)。
如果 $ARGUMENTS 为 share
直接跳转到分享子菜单。
如果 $ARGUMENTS 为 faq
直接跳转到 FAQ 子菜单。
设置门槛
如果仪表盘脚本输出 DASH_RENDER_FAILED,或者偏好设置文件不存在,则显示:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS > SETUP REQUIRED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Run /ops:setup to configure your integrations first.
然后直接调用 /ops:setup。