Agent Skillsxiaotianfotos/homerail › homerail-install-ops

homerail-install-ops

GitHub

用于本地部署、配置、启动及验证 HomeRail AI Agent 系统,涵盖技能链接、服务运行与故障排查。

skills/homerail-install-ops/SKILL.md xiaotianfotos/homerail

Trigger Scenarios

用户需要部署 HomeRail 本地版本 安装或更新 HomeRail 技能 配置 Provider 凭证 启动或修复 Manager/Node 服务

Install

npx skills add xiaotianfotos/homerail --skill homerail-install-ops -g -y
More Options

Use without installing

npx skills use xiaotianfotos/homerail@homerail-install-ops

指定 Agent (Claude Code)

npx skills add xiaotianfotos/homerail --skill homerail-install-ops -a claude-code -g -y

安装 repo 全部 skill

npx skills add xiaotianfotos/homerail --all -g -y

预览 repo 内 skill

npx skills add xiaotianfotos/homerail --list

SKILL.md

Frontmatter
{
    "name": "homerail-install-ops",
    "description": "Install, configure, start, verify, update, and troubleshoot a local-source HomeRail deployment for AI-agent use. Use when a user wants to deploy HomeRail from a local checkout or local Git address, install HomeRail skills, set up Manager\/Node\/Worker services, configure provider credentials, run doctor\/smoke, or repair a broken local install before npm publication exists."
}

HomeRail Install Ops

Before acting, apply homerail-shared rules. This pre-publication flow uses a local source checkout or local Git clone, not npm publication.

Local Skill Install

Install HomeRail skills by linking the checkout's skills/homerail-* directories into the target agent skill directory. Prefer symlinks over copies so skill updates follow git pull.

If the source tree is already present, use skills/README.md as the source of truth for Codex and Claude Code install targets. On macOS/Linux:

repo=/path/to/HomeRail

for root in "${CODEX_HOME:-$HOME/.codex}/skills" "$HOME/.claude/skills"; do
  mkdir -p "$root"
  for skill in "$repo"/skills/homerail-*; do
    [ -d "$skill" ] || continue
    name="$(basename "$skill")"
    dst="$root/$name"
    if [ -L "$dst" ]; then
      rm "$dst"
    elif [ -e "$dst" ]; then
      echo "Refusing to replace existing non-symlink skill: $dst" >&2
      continue
    fi
    ln -s "$skill" "$dst"
  done
done

If the user gives a local Git address, clone it first, then install links from the checkout:

git clone <local-homerail-git-url> HomeRail
cd HomeRail

On Windows, use PowerShell directory symlinks when Developer Mode or Administrator permissions allow them. If symlinks are blocked, use a junction as the local fallback; repeat the junction for every skills/homerail-* directory that should be installed:

cmd /c mklink /J "%USERPROFILE%\.claude\skills\homerail-install-ops" "C:\path\to\HomeRail\skills\homerail-install-ops"

After installing or updating skills, ask the user to restart the AI agent session if their agent host only loads skills on startup.

After restart, route user requests to the root skills this way:

  • Use homerail-install-ops for first install, update, service startup, provider configuration, and smoke verification. Codex invocation: $homerail-install-ops; Claude Code invocation: /homerail-install-ops.
  • Use homerail-dag-ops for running DAGs, monitoring runs, checking handoffs, and writing DAG templates.
  • Use homerail-dag-patterns for selecting, composing, instantiating, and validating built-in DAG design patterns.
  • Use homerail-cli for command syntax, flags, and evidence commands.
  • Use homerail-shared as background rules for all HomeRail operations.

Deploy From Local Source

Run from the source root:

npm run install:all
npm run build
npm run typecheck
npm test
npm run ci

Prepare a local data root:

export HOMERAIL_HOME="${HOMERAIL_HOME:-$HOME/.homerail}"

Configure local runtime settings and credentials through the CLI:

node homerail_cli/dist/cli.js config

Start Manager and Node together:

node homerail_cli/dist/cli.js start
node homerail_cli/dist/cli.js start --rebuild-worker-image
node homerail_cli/dist/cli.js start --ui
node homerail_cli/dist/cli.js doctor

hr start uses the shared HOMERAIL_HOME, starts Manager if needed, applies stored model config, builds homerail-worker:latest when missing, and starts a Node with Docker capability when no configured Node is connected. Use --rebuild-worker-image after Worker runtime changes so provisioned DAG workers run the current checkout. Use --ui or node homerail_cli/dist/cli.js ui start to start the decoupled Agent UI. HTTPS is the default endpoint, https://localhost:19192, and HTTP is kept as a fallback on http://localhost:19193. If provider credentials are not configured yet, hr start should still bring up Manager and Node; hr doctor reports the missing model or Manager Agent runtime configuration and the agent should run hr config / hr model configure.

Use node homerail_cli/dist/cli.js runtime status|logs|stop for service inspection and cleanup. Use node homerail_cli/dist/cli.js ui status|logs|stop for UI-only inspection and cleanup.

hr doctor is the first environment probe an agent needs for normal operation. Do not supplement it with ps, lsof, curl /health, or source reading unless the CLI output is insufficient for a concrete failure. It reports, per line: manager reachability + URL, runtime state (connected nodes/workers, active runs, node capabilities), node count, any active LLM model setting, and the Manager Agent runtime/harness readiness. A HomeRail is ready. trailer is the readiness gate; any FAIL/WARN line names the exact next command to run (e.g. hr model configure).

connected_workers: 0 is expected on an idle Manager. DAG Workers are provisioned on demand by a Node into Docker containers when a run dispatches; there is no standing worker to inspect or start by hand. connected_nodes >= 1 is what matters for DAGs to run.

The local harness deployment diagnosis DAG runs through the same Worker provisioning path as normal DAGs. Do not start a fixed host Worker, mount the Docker socket into a Worker, or use Docker-in-Docker for this test. The diagnosis run uses its isolated workspace, clones the latest source, builds it, configures the cloned CLI to talk to the outer Manager, and verifies runtime status / doctor. Deployment diagnosis uses advisory scorecard enforcement; inspect findings, but use terminal status and structured handoff evidence as the deployment result.

Configure Provider

For MiMo token-plan Claude Agent SDK compatibility:

node homerail_cli/dist/cli.js config
node homerail_cli/dist/cli.js config apply
node homerail_cli/dist/cli.js doctor

Do not put the key into repo files. The config flow stores secrets under Manager's encrypted secret store. ${HOMERAIL_HOME}/secrets/env is a legacy plaintext import path only. Do not use MiMo ASR/API-billing endpoints for DAG workers.

Smoke Test

Run the public smoke DAG:

node homerail_cli/dist/cli.js smoke dag \
  --template assets/orchestrations/public-dev-5node.yaml.template

Then verify the configured Manager Agent harness can call Manager tools and start a real run:

node homerail_cli/dist/cli.js smoke manager-agent

This is the live Manager Agent gate. It uses the saved Manager Agent config, calls /api/manager/chat, requires a real run_id, and waits for the deterministic two-node DAG to reach completed. Use --setting-id, --provider, or --model when validating a specific Kimi Code or Claude SDK-compatible runtime.

When it completes, inspect:

node homerail_cli/dist/cli.js dag quick <run_id> --events 30
node homerail_cli/dist/cli.js dag chats <run_id> --tools 10
node homerail_cli/dist/cli.js dag handoffs <run_id>
node homerail_cli/dist/cli.js scorecard <run_id>
node homerail_cli/dist/cli.js eval-run <run_id>

Do not treat an idle-looking process as success until terminal status, handoffs, scorecard, and eval-run are checked.

Maintenance

  • Keep installed skills as symlinks to the checkout. After skill edits, verify the target agent skill directory still points at skills/homerail-*; do not refresh by copying stale directories.
  • Re-run npm run build after code changes.
  • Run node homerail_cli/dist/cli.js start; add --rebuild-worker-image after Worker runtime changes.
  • Keep Manager and Node on the same HOMERAIL_HOME.
  • If Worker containers cannot connect back to Manager, set an explicit callback host through Manager worker WebSocket environment settings rather than hardcoding Docker bridge IPs.

Version History

  • 7f1ebb2 Current 2026-08-12 20:52

Same Skill Collection

assets/orchestrations/dag-best-practices/SKILL.md
plugins/builtin/core-generative-ui/skills/voice-generative-ui/SKILL.md
plugins/builtin/pr-closeout/skills/pr-closeout/SKILL.md
plugins/builtin/topic-outline/skills/topic-outline/SKILL.md
plugins/examples/release-notes/skills/compose-release-notes/SKILL.md
plugins/examples/video-cover/skills/generate-video-cover/SKILL.md
skills/homerail-pr-closeout/SKILL.md
skills/homerail-pr-review/SKILL.md
skills/homerail-shared/SKILL.md
skills/homerail-cli/SKILL.md
skills/homerail-dag-ops/SKILL.md
skills/homerail-dag-patterns/SKILL.md

Metadata

Files
0
Version
7f1ebb2
Hash
cafb58fd
Indexed
2026-08-12 20:52

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-12 23:13
浙ICP备14020137号-1 $お客様$