hud
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseHUD Skill
HUD 技能
Configure the OMC HUD (Heads-Up Display) for the statusline.
Note: All paths in this guide respect when that environment variable is set.
~/.claude/...CLAUDE_CONFIG_DIR为状态行配置OMC HUD(抬头显示)。
注意:本指南中所有路径在设置了环境变量时,会遵循该变量的配置。
~/.claude/...CLAUDE_CONFIG_DIRQuick Commands
快速命令
| Command | Description |
|---|---|
| Show current HUD status (auto-setup if needed) |
| Install/repair HUD statusline |
| Switch to minimal display |
| Switch to focused display (default) |
| Switch to full display |
| Show detailed HUD status |
| 命令 | 描述 |
|---|---|
| 显示当前HUD状态(如有需要会自动设置) |
| 安装/修复HUD状态行 |
| 切换至极简显示模式 |
| 切换至聚焦显示模式(默认) |
| 切换至完整显示模式 |
| 显示详细HUD状态 |
Auto-Setup
自动设置
When you run or , the system will automatically:
/oh-my-claudecode:hud/oh-my-claudecode:hud setup- Check if exists
~/.claude/hud/omc-hud.mjs - Check if is configured in
statusLine~/.claude/settings.json - If missing, create the HUD wrapper script and configure settings
- Report status and prompt to restart Claude Code if changes were made
IMPORTANT: If the argument is OR if the HUD script doesn't exist at , you MUST create the HUD files directly using the instructions below.
setup~/.claude/hud/omc-hud.mjs当你运行或时,系统会自动:
/oh-my-claudecode:hud/oh-my-claudecode:hud setup- 检查是否存在
~/.claude/hud/omc-hud.mjs - 检查中是否配置了
~/.claude/settings.jsonstatusLine - 若缺失,创建HUD包装脚本并配置设置
- 报告状态,若有更改则提示重启Claude Code
重要提示:如果参数是,或者HUD脚本不存在于,你必须按照以下说明直接创建HUD文件。
setup~/.claude/hud/omc-hud.mjsSetup Instructions (Run These Commands)
设置说明(运行以下命令)
Step 1: Check if setup is needed:
bash
ls ~/.claude/hud/omc-hud.mjs 2>/dev/null && echo "EXISTS" || echo "MISSING"Step 2: Verify the plugin is installed:
bash
PLUGIN_VERSION=$(ls ~/.claude/plugins/cache/omc/oh-my-claudecode/ 2>/dev/null | sort -V | tail -1)
if [ -n "$PLUGIN_VERSION" ]; then
ls ~/.claude/plugins/cache/omc/oh-my-claudecode/$PLUGIN_VERSION/dist/hud/index.js 2>/dev/null && echo "READY" || echo "NOT_FOUND - try reinstalling: /plugin install oh-my-claudecode"
else
echo "Plugin not installed - run: /plugin install oh-my-claudecode"
fiStep 3: If omc-hud.mjs is MISSING or argument is , create the HUD directory and script:
setupFirst, create the directory:
bash
mkdir -p ~/.claude/hudThen, use the Write tool to create with this exact content:
~/.claude/hud/omc-hud.mjsjavascript
#!/usr/bin/env node
/**
* OMC HUD - Statusline Script
* Wrapper that imports from plugin cache or development paths
*/
import { existsSync, readdirSync } from "node:fs";
import { homedir } from "node:os";
import { join } from "node:path";
import { pathToFileURL } from "node:url";
// Semantic version comparison: returns negative if a < b, positive if a > b, 0 if equal
function semverCompare(a, b) {
// Use parseInt to handle pre-release suffixes (e.g. "0-beta" -> 0)
const pa = a.replace(/^v/, "").split(".").map(s => parseInt(s, 10) || 0);
const pb = b.replace(/^v/, "").split(".").map(s => parseInt(s, 10) || 0);
for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
const na = pa[i] || 0;
const nb = pb[i] || 0;
if (na !== nb) return na - nb;
}
// If numeric parts equal, non-pre-release > pre-release
const aHasPre = /-/.test(a);
const bHasPre = /-/.test(b);
if (aHasPre && !bHasPre) return -1;
if (!aHasPre && bHasPre) return 1;
return 0;
}
async function main() {
const home = homedir();
let pluginCacheDir = null;
// 1. Try plugin cache first (marketplace: omc, plugin: oh-my-claudecode)
const pluginCacheBase = join(home, ".claude/plugins/cache/omc/oh-my-claudecode");
if (existsSync(pluginCacheBase)) {
try {
const versions = readdirSync(pluginCacheBase);
if (versions.length > 0) {
const latestVersion = versions.sort(semverCompare).reverse()[0];
pluginCacheDir = join(pluginCacheBase, latestVersion);
const pluginPath = join(pluginCacheDir, "dist/hud/index.js");
if (existsSync(pluginPath)) {
await import(pathToFileURL(pluginPath).href);
return;
}
}
} catch { /* continue */ }
}
// 2. Development paths
const devPaths = [
join(home, "Workspace/oh-my-claude-sisyphus/dist/hud/index.js"),
join(home, "workspace/oh-my-claude-sisyphus/dist/hud/index.js"),
join(home, "Workspace/oh-my-claudecode/dist/hud/index.js"),
join(home, "workspace/oh-my-claudecode/dist/hud/index.js"),
];
for (const devPath of devPaths) {
if (existsSync(devPath)) {
try {
await import(pathToFileURL(devPath).href);
return;
} catch { /* continue */ }
}
}
// 3. Fallback - HUD not found (provide actionable error message)
if (pluginCacheDir) {
console.log(`[OMC] HUD not built. Run: cd "${pluginCacheDir}" && npm install`);
} else {
console.log("[OMC] Plugin not found. Run: /oh-my-claudecode:omc-setup");
}
}
main();Step 3: Make it executable:
bash
chmod +x ~/.claude/hud/omc-hud.mjsStep 4: Update settings.json to use the HUD:
Read , then update/add the field.
~/.claude/settings.jsonstatusLineIMPORTANT: The command must use an absolute path, not , because Windows does not expand in shell commands.
~~First, determine the correct path:
bash
node -e "const p=require('path').join(require('os').homedir(),'.claude','hud','omc-hud.mjs');console.log(JSON.stringify(p))"Then set the field using the resolved path. On Unix it will look like:
statusLinejson
{
"statusLine": {
"type": "command",
"command": "node /home/username/.claude/hud/omc-hud.mjs"
}
}On Windows it will look like:
json
{
"statusLine": {
"type": "command",
"command": "node C:\\Users\\username\\.claude\\hud\\omc-hud.mjs"
}
}Use the Edit tool to add/update this field while preserving other settings.
Step 5: Clean up old HUD scripts (if any):
bash
rm -f ~/.claude/hud/sisyphus-hud.mjs 2>/dev/nullStep 6: Tell the user to restart Claude Code for changes to take effect.
步骤1:检查是否需要设置
bash
ls ~/.claude/hud/omc-hud.mjs 2>/dev/null && echo "EXISTS" || echo "MISSING"步骤2:验证插件是否已安装
bash
PLUGIN_VERSION=$(ls ~/.claude/plugins/cache/omc/oh-my-claudecode/ 2>/dev/null | sort -V | tail -1)
if [ -n "$PLUGIN_VERSION" ]; then
ls ~/.claude/plugins/cache/omc/oh-my-claudecode/$PLUGIN_VERSION/dist/hud/index.js 2>/dev/null && echo "READY" || echo "NOT_FOUND - try reinstalling: /plugin install oh-my-claudecode"
else
echo "Plugin not installed - run: /plugin install oh-my-claudecode"
fi步骤3:如果omc-hud.mjs缺失或参数为,创建HUD目录和脚本
setup首先,创建目录:
bash
mkdir -p ~/.claude/hud然后,使用写入工具创建,内容如下:
~/.claude/hud/omc-hud.mjsjavascript
#!/usr/bin/env node
/**
* OMC HUD - Statusline Script
* Wrapper that imports from plugin cache or development paths
*/
import { existsSync, readdirSync } from "node:fs";
import { homedir } from "node:os";
import { join } from "node:path";
import { pathToFileURL } from "node:url";
// Semantic version comparison: returns negative if a < b, positive if a > b, 0 if equal
function semverCompare(a, b) {
// Use parseInt to handle pre-release suffixes (e.g. "0-beta" -> 0)
const pa = a.replace(/^v/, "").split(".").map(s => parseInt(s, 10) || 0);
const pb = b.replace(/^v/, "").split(".").map(s => parseInt(s, 10) || 0);
for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
const na = pa[i] || 0;
const nb = pb[i] || 0;
if (na !== nb) return na - nb;
}
// If numeric parts equal, non-pre-release > pre-release
const aHasPre = /-/.test(a);
const bHasPre = /-/.test(b);
if (aHasPre && !bHasPre) return -1;
if (!aHasPre && bHasPre) return 1;
return 0;
}
async function main() {
const home = homedir();
let pluginCacheDir = null;
// 1. Try plugin cache first (marketplace: omc, plugin: oh-my-claudecode)
const pluginCacheBase = join(home, ".claude/plugins/cache/omc/oh-my-claudecode");
if (existsSync(pluginCacheBase)) {
try {
const versions = readdirSync(pluginCacheBase);
if (versions.length > 0) {
const latestVersion = versions.sort(semverCompare).reverse()[0];
pluginCacheDir = join(pluginCacheBase, latestVersion);
const pluginPath = join(pluginCacheDir, "dist/hud/index.js");
if (existsSync(pluginPath)) {
await import(pathToFileURL(pluginPath).href);
return;
}
}
} catch { /* continue */ }
}
// 2. Development paths
const devPaths = [
join(home, "Workspace/oh-my-claude-sisyphus/dist/hud/index.js"),
join(home, "workspace/oh-my-claude-sisyphus/dist/hud/index.js"),
join(home, "Workspace/oh-my-claudecode/dist/hud/index.js"),
join(home, "workspace/oh-my-claudecode/dist/hud/index.js"),
];
for (const devPath of devPaths) {
if (existsSync(devPath)) {
try {
await import(pathToFileURL(devPath).href);
return;
} catch { /* continue */ }
}
}
// 3. Fallback - HUD not found (provide actionable error message)
if (pluginCacheDir) {
console.log(`[OMC] HUD not built. Run: cd "${pluginCacheDir}" && npm install`);
} else {
console.log("[OMC] Plugin not found. Run: /oh-my-claudecode:omc-setup");
}
}
main();步骤3:设置可执行权限
bash
chmod +x ~/.claude/hud/omc-hud.mjs步骤4:更新settings.json以使用HUD
读取,然后更新或添加字段。
~/.claude/settings.jsonstatusLine重要提示:命令必须使用绝对路径,不能使用,因为Windows系统不会在shell命令中展开。
~~首先,确定正确路径:
bash
node -e "const p=require('path').join(require('os').homedir(),'.claude','hud','omc-hud.mjs');console.log(JSON.stringify(p))"然后使用解析后的路径设置字段。在Unix系统中如下所示:
statusLinejson
{
"statusLine": {
"type": "command",
"command": "node /home/username/.claude/hud/omc-hud.mjs"
}
}在Windows系统中如下所示:
json
{
"statusLine": {
"type": "command",
"command": "node C:\\Users\\username\\.claude\\hud\\omc-hud.mjs"
}
}使用编辑工具添加或更新该字段,同时保留其他设置。
步骤5:清理旧的HUD脚本(如有)
bash
rm -f ~/.claude/hud/sisyphus-hud.mjs 2>/dev/null步骤6:告知用户重启Claude Code以使更改生效
Display Presets
显示预设
Minimal
极简模式
Shows only the essentials:
[OMC] ralph | ultrawork | todos:2/5仅显示必要信息:
[OMC] ralph | ultrawork | todos:2/5Focused (Default)
聚焦模式(默认)
Shows all relevant elements:
[OMC] ralph:3/10 | US-002 | ultrawork skill:planner | ctx:67% | agents:2 | bg:3/5 | todos:2/5显示所有相关元素:
[OMC] ralph:3/10 | US-002 | ultrawork skill:planner | ctx:67% | agents:2 | bg:3/5 | todos:2/5Full
完整模式
Shows everything including multi-line agent details:
[OMC] ralph:3/10 | US-002 (2/5) | ultrawork | ctx:[████░░]67% | agents:3 | bg:3/5 | todos:2/5
├─ O architect 2m analyzing architecture patterns...
├─ e explore 45s searching for test files
└─ s executor 1m implementing validation logic显示所有信息,包括多行Agent详情:
[OMC] ralph:3/10 | US-002 (2/5) | ultrawork | ctx:[████░░]67% | agents:3 | bg:3/5 | todos:2/5
├─ O architect 2m analyzing architecture patterns...
├─ e explore 45s searching for test files
└─ s executor 1m implementing validation logicMulti-Line Agent Display
多行Agent显示
When agents are running, the HUD shows detailed information on separate lines:
- Tree characters (,
├─) show visual hierarchy└─ - Agent code (O, e, s) indicates agent type with model tier color
- Duration shows how long each agent has been running
- Description shows what each agent is doing (up to 45 chars)
当Agent运行时,HUD会在单独行显示详细信息:
- 树形字符(,
├─)显示视觉层级└─ - Agent代码(O, e, s)通过模型层级颜色指示Agent类型
- 时长显示每个Agent已运行的时间
- 描述显示每个Agent正在执行的操作(最多45个字符)
Display Elements
显示元素
| Element | Description |
|---|---|
| Mode identifier |
| Ralph loop iteration/max |
| Current PRD story ID |
| Active mode badge |
| Last activated skill (cyan) |
| Context window usage |
| Running subagent count |
| Background task slots |
| Todo completion |
| 元素 | 描述 |
|---|---|
| 模式标识符 |
| Ralph循环迭代次数/最大值 |
| 当前PRD需求ID |
| 激活模式徽章 |
| 最后激活的技能(青色) |
| 上下文窗口使用率 |
| 运行中的子Agent数量 |
| 后台任务插槽使用情况 |
| 待办事项完成情况 |
Color Coding
颜色编码
- Green: Normal/healthy
- Yellow: Warning (context >70%, ralph >7)
- Red: Critical (context >85%, ralph at max)
- 绿色:正常/健康状态
- 黄色:警告(上下文使用率>70%,ralph迭代>7)
- 红色:严重(上下文使用率>85%,ralph达到最大值)
Configuration Location
配置位置
HUD config is stored at:
~/.claude/.omc/hud-config.jsonHUD配置存储在:
~/.claude/.omc/hud-config.jsonManual Configuration
手动配置
You can manually edit the config file. Each option can be set individually - any unset values will use defaults.
json
{
"preset": "focused",
"elements": {
"omcLabel": true,
"ralph": true,
"prdStory": true,
"activeSkills": true,
"lastSkill": true,
"contextBar": true,
"agents": true,
"backgroundTasks": true,
"todos": true,
"showCache": true,
"showCost": true,
"maxOutputLines": 4
},
"thresholds": {
"contextWarning": 70,
"contextCritical": 85,
"ralphWarning": 7
}
}你可以手动编辑配置文件。每个选项可单独设置——未设置的选项将使用默认值。
json
{
"preset": "focused",
"elements": {
"omcLabel": true,
"ralph": true,
"prdStory": true,
"activeSkills": true,
"lastSkill": true,
"contextBar": true,
"agents": true,
"backgroundTasks": true,
"todos": true,
"showCache": true,
"showCost": true,
"maxOutputLines": 4
},
"thresholds": {
"contextWarning": 70,
"contextCritical": 85,
"ralphWarning": 7
}
}Troubleshooting
故障排除
If the HUD is not showing:
- Run to auto-install and configure
/oh-my-claudecode:hud setup - Restart Claude Code after setup completes
- If still not working, run for full diagnostics
/oh-my-claudecode:doctor
Manual verification:
- HUD script:
~/.claude/hud/omc-hud.mjs - Settings: should have
~/.claude/settings.jsonconfiguredstatusLine
The HUD updates automatically every ~300ms during active sessions.
如果HUD未显示:
- 运行进行自动安装和配置
/oh-my-claudecode:hud setup - 设置完成后重启Claude Code
- 若仍无法工作,运行进行完整诊断
/oh-my-claudecode:doctor
手动验证:
- HUD脚本:
~/.claude/hud/omc-hud.mjs - 设置:中应配置了
~/.claude/settings.jsonstatusLine
在活跃会话中,HUD会每约300ms自动更新一次。