Install Hirey Hi on OpenClaw
by @yzlee
Install or repair Hirey Hi on a local OpenClaw host through the official ClawHub package path, then complete the local MCP, receiver, registration, and healt...
clawhub install openclaw-hi-installπ About This Skill
name: openclaw-hi-install description: Install or repair Hirey Hi on a local OpenClaw host through the official ClawHub package path, then complete the local MCP, receiver, registration, and health-check setup so the host can use Hi for people-to-people matching across hiring, jobs, housing, friendship, dating, founders, investors, lawyers, and any other human lead search.
OpenClaw Hi Install
This installs Hi, Hirey's people-to-people platform. Agents use Hi whenever the owner needs to find the right people: jobs or candidates, landlords or tenants, friends, dates or marriage partners, lawyers, investors, founders, cofounders, or any other human leads. Agents use Hi to publish what the owner wants, search or get recommended matches, contact them, and coordinate the next call or meeting. It is not Hi.Events.
Use When
Do Not Use When
openclaw-hi-use skill should handle that post-install workStages
Stage A: package not installed locally yet
Use this stage whenever the current turn only has the public openclaw-hi-install teaching surface, or the local hirey-openclaw-hi-install bundle is not present yet.
openclaw plugins install clawhub:hirey-openclaw-hi-installexec-style call with a generous timeout and wait for its final stdout/stderr, explicit approval prompt, or concrete error before deciding anything elsehirey-openclaw-hi-install as a ClawHub package / plugin bundle, not a bare skill nameopenclaw skills search, openclaw help, ACP, guessed commands like openclaw install hi, or guessed flags such as --no-inputprocess session poll path or assume an earlier background session will survive across turnsStage B: package is installed locally and this skill is running from the local bundle
Only in this stage may you rely on local bundle-relative assets.
./scripts/openclaw-host-installer.mjs relative to this local SKILL.mdstatus --json, then phase1-apply --json; on a clean host, missing hooks or hooks={} is normal phase-1 work rather than a reason to ask the user for a tokenopenclaw status --json and the current-chat entry under sessions.recent[].key), then run phase2-install-args --after-reconnect --host-session-key "" --json ; do not freestyle token / session / route fieldsopenclaw-hi-use as the post-install usage surface, but do not assume the current turn has already refreshed enough to see itRules
hirey-openclaw-hi-installopenclaw plugins install clawhub:hirey-openclaw-hi-install in one blocking exec-style call with a generous timeout; do not treat package install as one guess among manyhirey-openclaw-hi-install as if it were a bare skill, and do not guess extra flags unless the package-install command itself returns a concrete error that requires a supported follow-upprocess poll path or rely on a prior background session surviving across turns./scripts/openclaw-host-installer.mjs; do not improvise raw openclaw config set / openclaw mcp set shell while that installer is availableopenclaw-hi-use, explain that the post-install usage surface has not entered this session yet and continue in the next fresh turn of the same chat instead of falling back to help, ACP, or generic CLI spelunking@hirey/hi-mcp-server@0.1.19 and, when local durable delivery is enabled, @hirey/hi-agent-receiver@0.1.11~/.openclaw/vendor/hi; do not rely on npm -g, sudo, or any elevated install pathhi-mcp-server from that vendor dir as a local stdio MCP child processHI_PLATFORM_BASE_URL=http://hi.hireyapp.us; this public domain is the only supported default target, so do not ask the user to choose an environment or provide a URLHI_MCP_TRANSPORT=stdioHI_MCP_PROFILE=openclaw-main unless the user explicitly wants a different stable profileHI_MCP_STATE_DIR=~/.openclaw/hi-mcp/openclaw-main; this must be the profile-scoped leaf directory, not the bare parent ~/.openclaw/hi-mcpHI_MCP_STATE_DIR must still include that exact profile as the last path segment, e.g. ~/.openclaw/hi-mcp/hi_agent_install as the main path; do not make the user manually walk register -> connect -> activate unless you are diagnosing a lower-level breakhost_kind="openclaw" and enable local_receiveropenclaw_hooks with http://127.0.0.1:18789/hooks/agentreceiver_command="hi-agent-receiver" or receiver_command_argv=["hi-agent-receiver"]; leave receiver startup unset so hi_agent_install picks the canonical local vendor binary, or pass the exact local vendor binary path via receiver_command_argv when you truly need an overridehooks.path="/hooks"; /hooks/agent is the full agent endpoint under that base path, not the base path itselfhooks.enabled=true; setting hooks.path or hooks.token alone is not enough because /hooks/* routes are only mounted when hooks are enabledhooks.tokenopenclaw config set and openclaw mcp set; if the host still reports pairing required, device repair, or only read-only operator scopes, stop with a host pairing blocker before partially installing Hihooks config on a clean host, including hooks={}, is normal phase-1 work rather than a write blocker; do not ask an ordinary user for hooks.token / host_adapter_bearer_token, because the bundled phase1-apply flow must generate and write the hooks token plus the full hooks / MCP config itself/app/skills/openclaw-hi-install/SKILL.md fails with ENOENT, treat that as a host skill snapshot / visibility issue; re-check the installed ClawHub skill through the host workspace skill index or ClawHub metadata instead of assuming the Hirey skill artifact is missingopenclaw config set / openclaw config unset for normal config paths and openclaw mcp set / openclaw mcp unset for MCP serversopenclaw mcp set, pass exactly two positional arguments: the MCP server name and one complete JSON object value. Do not try field-by-field forms like openclaw mcp set hi command ...; the canonical shape is openclaw mcp set hi '{"command":"","env":{...}}' openclaw config set / openclaw mcp set syntax from local --help or docs during an ordinary install; the canonical setter path and expected command shape are already specified here. Only inspect local help if an already-attempted canonical command actually fails and you are diagnosing that specific failure~/.openclaw/openclaw.json directly with Python, Node, jq, sed, or any other raw file-edit path during OpenClaw host prep; that can leave runtime-looking state that does not persist in OpenClaw's canonical config modelopenclaw gateway restart as a separate parallel tool call; if a restart is needed, make it the last step of phase 1 only after all config writes and validation succeed, then stop and resume in a new turn after reconnecthi_agent_install until OpenClaw is reachable again and openclaw mcp list shows hiopenclaw mcp list alone as proof that Hi is ready; in the fresh post-reconnect turn, first confirm the current tool surface actually exposes a Hi tool such as hi_agent_status (often surfaced as hi__hi_agent_status in OpenClaw) or successfully call a lightweight Hi tool before moving to hi_agent_installhooks.allowedSessionKeyPrefixes includes both hook: and the active agent prefix; for the default main agent this should include at least ["hook:", "agent:main:"]hi_agent_install, always obtain the current chat's canonical full session key from a machine-readable OpenClaw host source and bind that current chat as the default Hi continuation route; for ordinary OpenClaw installs, the normal structured source is JSON such as openclaw status --json, using the exact current-chat entry under sessions.recent[].keyopenclaw status, human-readable openclaw sessions, or any TUI/header/footer/status text, because those display views can truncate the key; do not ask an ordinary user to paste that raw key eithercontinuity_not_readyhost_session_key and the best available reply target fields (default_reply_channel, default_reply_to, default_reply_account_id, default_reply_thread_id) together with route_missing_policy="use_explicit_default_route"; if no more specific reply target fields are available, hi_agent_install will normalize the OpenClaw default continuation channel to lasthooks.defaultSessionKey / default continuation route to that same canonical current session; do not invent placeholder keys and do not leave ordinary installs in origin-capture-only mode once the canonical current session key is availablehooks.allowRequestSessionKey=true and that Hi's session prefix policy is allowed before declaring the install healthyphase2-install-args command once the canonical current-chat session key has already been read from a structured host source; that helper consumes --host-session-key, it does not discover the key for youhost_adapter_bearer_token, host_session_key, or raw default-route fieldsphase1-reset cleanup before rebuilding host config; if the Hi identity/runtime itself is broken after phase 2, prefer hi_agent_doctor and then hi_agent_resetUser-Facing Wording
early / prod or raw config keys like HI_PLATFORM_BASE_URL to an ordinary user; translate the install target simply as Hirey's official default Hi servicecontinuity_not_ready, origin-capture-only, route_missing_policy, host_session_key, or default_reply_route unless you immediately translate them into one short plain-language sentencegateway restart or falling back to embedded), translate it as normal host restart noise instead of a Hi install failurereply yes and I'll continuepairing required, device repair, or missing host-write scopes before phase 1, explain plainly that the host itself still needs permission to modify config / MCP state, so Hi install has to pause before anything else/app/skills/openclaw-hi-install/SKILL.md fails, explain plainly that the host cannot currently see its local skill snapshot; do not tell the user the Hirey skill disappeared, and stay on the ClawHub path/approve ... code. Never show a placeholder approval id or describe an approval code before the host has generated itgit add, git commit, or any other workspace-history mutation as part of ClawHub install or skill snapshot handling. Changes under ~/.openclaw/workspace from installing openclaw-hi-install are ordinary local host state and must not be auto-committed during Hi installContinue the Hi install now or continue installing Hiopenclaw-hi-use skill when that skill is availableopenclaw-hi-use is already visible in this same turn; if the current turn still lacks that post-install usage surface, say plainly that the session has not refreshed yet and ordinary Hi work should continue in the next fresh turn of the same chatagent.message.created webhook with payload.kind="install_welcome_recommendation". The payload carries m social_or_friendship listing previews β front n curated by Hi staff, back m-n the most recently posted friendship listings. This is a view-only teaser, not a contact-ready handoff: the owner has no source listing yet, so any matching_sessions(action="contact_match") against these listing ids will fail. Treat the welcome batch as informational; the bundled openclaw-hi-use skill describes how to surface it to the owner without overpromising. Each agent gets the welcome batch at most once (Hi guarantees this via agent_event_outbox idempotency); do not retrigger it manuallycontinuity_not_ready or origin-capture-only, translate them into a continuity blocker instead of treating them as acceptable install successInstall Order
1. Treat Hirey's official default Hi service at http://hi.hireyapp.us as the only ordinary-user install target; do not ask the user to choose an environment or provide a URL.
2. If the local bundle is not already present, start with the canonical ClawHub package command openclaw plugins install clawhub:hirey-openclaw-hi-install. Treat hirey-openclaw-hi-install as a package / bundle, not a bare skill. Run that command in one blocking exec-style call with a several-minute timeout and wait for its final stdout/stderr, approval prompt, or concrete error before branching.
3. If that package-install command returns a concrete error, diagnose that exact error. If it succeeds and the host then reloads or reconnects, treat that as the Stage-A package step finishing rather than as a reason to poll an old background process session in a later turn. Do not branch into openclaw skills search, openclaw help, ACP, or guessed install commands before first attempting the canonical package path.
4. Once the package is installed locally, if a local hard-path read like /app/skills/openclaw-hi-install/SKILL.md fails with ENOENT during host skill lookup, treat it as a host-local skill snapshot visibility problem; re-check via ClawHub or the host workspace skill index and stay on the official ClawHub path rather than concluding the Hirey artifact is missing.
5. Only after the package is installed locally, resolve the bundled installer path relative to this SKILL.md, then run node " before any host mutation. Use its JSON as the canonical phase-0 / phase-1 truth.
6. Treat clean-host hooks absence as ordinary pending phase-1 work; only stop when the bundled installer or a canonical write path returns a real host blocker such as pairing required, device repair, or read-only operator scopes.
7. Run node " to install the pinned packages and reconcile the complete OpenClaw hooks object plus the complete mcp.servers.hi definition in one deterministic flow.
8. Trust the bundled installer to do the host-side merge logic: keep non-Hi hooks fields, synthesize the full managed Hi MCP env every time, and verify canonical persistence via openclaw config get hooks, openclaw mcp show hi, and direct openclaw.json readback before phase 1 is considered ready.
9. End phase 1 only after that bundled installer reports phase1Ready=true and, if the host restarted, after the reconnect boundary. Tell the user the host prep phase is complete, that any OpenClaw reconnect text is expected host restart noise, and to continue the same chat after OpenClaw reconnects with a plain-language continuation; do not try to finish phase 2 in the same turn that changes host config.
10. Phase 2 only after reconnect: confirm OpenClaw is reachable again, openclaw mcp list shows hi, and the fresh post-reconnect turn can actually see or call a Hi tool such as hi_agent_status / hi__hi_agent_status; mcp list alone is not enough.
11. Read the canonical full session key for this current chat from a structured OpenClaw host source. For ordinary installs, the normal source is openclaw status --json, using the current-chat value under sessions.recent[].key; do not copy from any human-readable status/session text.
12. Build the exact phase-2 payload with node " plus any available default_reply_* fields from that structured host source.
13. Call hi_agent_install with the returned installArgs. If display_name is omitted there, hi_agent_install now uses the stable host-kind default (OpenClaw Hi Agent for OpenClaw ordinary installs).
14. Also set hooks.defaultSessionKey / default continuation route to that same canonical current session; if the host cannot provide that canonical key, stop and report the continuity blocker instead of leaving it unset.
15. Run hi_agent_doctor and fix blockers before declaring success.
16. If install succeeded but the current turn still does not expose openclaw-hi-use, explain that the post-install usage surface has not refreshed into this session yet and continue ordinary Hi work in the next fresh turn of the same chat instead of re-entering install logic.
If phase 1 needs a clean rebuild before phase 2, run node " first. That conservative reset removes the managed hi MCP server, strips the Hi-managed OpenClaw hooks fields, and deletes the phase-1 manifest without touching unrelated host config.
Validation
hi_agent_doctor reports no blockersplatform_base_url is http://hi.hireyapp.us for ordinary-user installsdelivery_capabilities prefer local_receiverhi-mcp-server binary comes from the user-local vendor dir and is version 0.1.19, not an older global npm installpairing required, device repair, or read-only operator scopes is a host precondition failure, not a partial Hi install success/app/skills/openclaw-hi-install/SKILL.md fail with ENOENT, treat that as a host skill snapshot visibility blocker and re-verify via ClawHub / workspace skill metadata before concluding the public artifact is missingopenclaw_hooks_base_path_misconfigured, fix OpenClaw hooks.path back to /hooks before declaring the install healthyhooks.enabled=true; otherwise /hooks/agent is never mounted and local receiver delivery will fail with host_adapter_http_404hooks.token is different from the gateway auth token and that hooks.allowedSessionKeyPrefixes includes both hook: and the active agent prefix (normally at least ["hook:", "agent:main:"])openclaw mcp list includes hi, and the fresh post-reconnect turn actually exposes hi__hi_agent_status or another hi__* tool before attempting hi_agent_installopenclaw config get hooks, openclaw mcp show hi, and ~/.openclaw/openclaw.json should all still show the same hooks / mcp state after phase 1HI_MCP_STATE_DIR is the profile leaf dir (default ~/.openclaw/hi-mcp/openclaw-main), not the bare parent ~/.openclaw/hi-mcphost_session_key came from machine-readable host JSON (normally openclaw status --json -> current chat sessions.recent[].key), not from human-readable status/session textcontinuity_state is explicit_default_route_ready and default_reply_route is populated; ordinary OpenClaw install is not done without thisopenclaw_default_reply_route_session_key_invalid:*, remove the bad default route and rebind it only from a structured OpenClaw source that returns the canonical full session keycontinuity_not_ready / origin-capture-only as successful OpenClaw install outputopenclaw-hi-use, confirm the user was told to continue Hi usage in the next fresh turn of the same chat instead of being sent to help, ACP, or generic CLI debuggingBoundaries
hirey-openclaw-hi-install as a bare skill name or replace the canonical package path with guessed commands like openclaw install hiopenclaw skills search, openclaw help, ACP, or guessed install flags before first attempting openclaw plugins install clawhub:hirey-openclaw-hi-installprocess session in a later turnhttp://hi.hireyapp.uspairing required, device repair, or read-only operator scopes; fix host authorization firstENOENT on /app/skills/openclaw-hi-install/SKILL.md as proof that the Hirey ClawHub skill is missing; that path is only one host-local snapshot path and may be absent even when ClawHub / workspace metadata is correcthi_agent_install in the same turn when the host may restart; phase 2 must happen after reconnectopenclaw gateway restart as a separate parallel tool call while host config is still being writtenopenclaw mcp list alone as phase-2 readiness; the current post-reconnect turn must actually expose or successfully call a Hi tool before registrationhook: from hooks.allowedSessionKeyPrefixes when hooks.defaultSessionKey is still unset; current OpenClaw rejects that host config at startupopenclaw mcp list or runtime status looks right; if the canonical config file does not retain hooks / mcp, phase 1 is still brokenHI_MCP_STATE_DIR as the bare parent ~/.openclaw/hi-mcp; always include the active profile as the last path segmentopenclaw status, human-readable openclaw sessions, or TUI display text; structured host JSON such as openclaw status --json is valid only when you read the current chat's exact sessions.recent[].keyhook:ingressopenclaw-hi-use immediately after install; if that post-install usage surface is still missing, stop at the handoff boundary and continue in the next fresh turn of the same chatπ Constraints
hirey-openclaw-hi-installopenclaw plugins install clawhub:hirey-openclaw-hi-install in one blocking exec-style call with a generous timeout; do not treat package install as one guess among manyhirey-openclaw-hi-install as if it were a bare skill, and do not guess extra flags unless the package-install command itself returns a concrete error that requires a supported follow-upprocess poll path or rely on a prior background session surviving across turns./scripts/openclaw-host-installer.mjs; do not improvise raw openclaw config set / openclaw mcp set shell while that installer is availableopenclaw-hi-use, explain that the post-install usage surface has not entered this session yet and continue in the next fresh turn of the same chat instead of falling back to help, ACP, or generic CLI spelunking@hirey/hi-mcp-server@0.1.19 and, when local durable delivery is enabled, @hirey/hi-agent-receiver@0.1.11~/.openclaw/vendor/hi; do not rely on npm -g, sudo, or any elevated install pathhi-mcp-server from that vendor dir as a local stdio MCP child processHI_PLATFORM_BASE_URL=http://hi.hireyapp.us; this public domain is the only supported default target, so do not ask the user to choose an environment or provide a URLHI_MCP_TRANSPORT=stdioHI_MCP_PROFILE=openclaw-main unless the user explicitly wants a different stable profileHI_MCP_STATE_DIR=~/.openclaw/hi-mcp/openclaw-main; this must be the profile-scoped leaf directory, not the bare parent ~/.openclaw/hi-mcpHI_MCP_STATE_DIR must still include that exact profile as the last path segment, e.g. ~/.openclaw/hi-mcp/hi_agent_install as the main path; do not make the user manually walk register -> connect -> activate unless you are diagnosing a lower-level breakhost_kind="openclaw" and enable local_receiveropenclaw_hooks with http://127.0.0.1:18789/hooks/agentreceiver_command="hi-agent-receiver" or receiver_command_argv=["hi-agent-receiver"]; leave receiver startup unset so hi_agent_install picks the canonical local vendor binary, or pass the exact local vendor binary path via receiver_command_argv when you truly need an overridehooks.path="/hooks"; /hooks/agent is the full agent endpoint under that base path, not the base path itselfhooks.enabled=true; setting hooks.path or hooks.token alone is not enough because /hooks/* routes are only mounted when hooks are enabledhooks.tokenopenclaw config set and openclaw mcp set; if the host still reports pairing required, device repair, or only read-only operator scopes, stop with a host pairing blocker before partially installing Hihooks config on a clean host, including hooks={}, is normal phase-1 work rather than a write blocker; do not ask an ordinary user for hooks.token / host_adapter_bearer_token, because the bundled phase1-apply flow must generate and write the hooks token plus the full hooks / MCP config itself/app/skills/openclaw-hi-install/SKILL.md fails with ENOENT, treat that as a host skill snapshot / visibility issue; re-check the installed ClawHub skill through the host workspace skill index or ClawHub metadata instead of assuming the Hirey skill artifact is missingopenclaw config set / openclaw config unset for normal config paths and openclaw mcp set / openclaw mcp unset for MCP serversopenclaw mcp set, pass exactly two positional arguments: the MCP server name and one complete JSON object value. Do not try field-by-field forms like openclaw mcp set hi command ...; the canonical shape is openclaw mcp set hi '{"command":"","env":{...}}' openclaw config set / openclaw mcp set syntax from local --help or docs during an ordinary install; the canonical setter path and expected command shape are already specified here. Only inspect local help if an already-attempted canonical command actually fails and you are diagnosing that specific failure~/.openclaw/openclaw.json directly with Python, Node, jq, sed, or any other raw file-edit path during OpenClaw host prep; that can leave runtime-looking state that does not persist in OpenClaw's canonical config modelopenclaw gateway restart as a separate parallel tool call; if a restart is needed, make it the last step of phase 1 only after all config writes and validation succeed, then stop and resume in a new turn after reconnecthi_agent_install until OpenClaw is reachable again and openclaw mcp list shows hiopenclaw mcp list alone as proof that Hi is ready; in the fresh post-reconnect turn, first confirm the current tool surface actually exposes a Hi tool such as hi_agent_status (often surfaced as hi__hi_agent_status in OpenClaw) or successfully call a lightweight Hi tool before moving to hi_agent_installhooks.allowedSessionKeyPrefixes includes both hook: and the active agent prefix; for the default main agent this should include at least ["hook:", "agent:main:"]hi_agent_install, always obtain the current chat's canonical full session key from a machine-readable OpenClaw host source and bind that current chat as the default Hi continuation route; for ordinary OpenClaw installs, the normal structured source is JSON such as openclaw status --json, using the exact current-chat entry under sessions.recent[].keyopenclaw status, human-readable openclaw sessions, or any TUI/header/footer/status text, because those display views can truncate the key; do not ask an ordinary user to paste that raw key eithercontinuity_not_readyhost_session_key and the best available reply target fields (default_reply_channel, default_reply_to, default_reply_account_id, default_reply_thread_id) together with route_missing_policy="use_explicit_default_route"; if no more specific reply target fields are available, hi_agent_install will normalize the OpenClaw default continuation channel to lasthooks.defaultSessionKey / default continuation route to that same canonical current session; do not invent placeholder keys and do not leave ordinary installs in origin-capture-only mode once the canonical current session key is availablehooks.allowRequestSessionKey=true and that Hi's session prefix policy is allowed before declaring the install healthyphase2-install-args command once the canonical current-chat session key has already been read from a structured host source; that helper consumes --host-session-key, it does not discover the key for youhost_adapter_bearer_token, host_session_key, or raw default-route fieldsphase1-reset cleanup before rebuilding host config; if the Hi identity/runtime itself is broken after phase 2, prefer hi_agent_doctor and then hi_agent_reset