用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/openclaw/agent-skills --skill beam命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Render Codex, Claude Code, OpenClaw, or Pi session JSONL transcripts as a searchable, shareable single-file HTML viewer.
Structured Codex, Claude, Amp, Pi, or Kimi code review when explicitly requested.
Crabbox/Testbox remote proof: portable provider routing, untrusted isolation, Linux/macOS/Windows/WSL2, live E2E, diagnostics, cleanup.
正在显示 SKILL.md
| name | beam |
| description | Publish a redacted local coding session to an authenticated read-only Beam catalog. |
Use when the user explicitly asks to beam, publish, or share the current local coding session with an authenticated OpenClaw receiver.
BEAM_ACCESS_TOKEN, BEAM_AUTH_TOKEN, or an interactive cloudflared access login. Never print those values.Set or obtain the destination receiver URL first:
export BEAM_ENDPOINT="https://example.internal/api/v1/beam/sessions"
Prefer the harness-specific exact identifier. Resolve the directory containing this SKILL.md as BEAM_SKILL_DIR first.
Claude Code exposes the current session id:
node "$BEAM_SKILL_DIR/scripts/beam" publish \
--endpoint "$BEAM_ENDPOINT" \
--session-id "${CLAUDE_SESSION_ID}"
In Codex, resolve the directory containing this SKILL.md as BEAM_SKILL_DIR; normal shell-tool children expose the current thread id:
node "$BEAM_SKILL_DIR/scripts/beam" publish \
--endpoint "$BEAM_ENDPOINT" \
--thread-id "$CODEX_THREAD_ID"
Prefer exact harness metadata when available:
${CLAUDE_SESSION_ID} identifies the current local conversation; the helper finds its transcript.CODEX_THREAD_ID identifies the current thread.beam hook; transcript_path is authoritative.Useful options:
node "$BEAM_SKILL_DIR/scripts/beam" publish --endpoint "$BEAM_ENDPOINT" --session /path/to/session.jsonl
node "$BEAM_SKILL_DIR/scripts/beam" publish --endpoint "$BEAM_ENDPOINT" --thread-id "$CODEX_THREAD_ID"
node "$BEAM_SKILL_DIR/scripts/beam" publish --endpoint "$BEAM_ENDPOINT" --complete
node "$BEAM_SKILL_DIR/scripts/beam" publish --endpoint "$BEAM_ENDPOINT" --dry-run
--dry-run prints the sanitized payload locally and performs no network request.
On success, return only the Beam URL and a short disclosure summary: source harness, shared message count, whether older entries were truncated, and whether the beam is complete. The URL uses the endpoint-derived Control UI base path followed by /beam/<12-character lowercase hex prefix>, for example https://gateway.example.com/beam/0123456789ab.
During rollout, the helper also accepts the current server's exact /chat/<agent>?catalog=beam&host=gateway&thread=<full-beam-id> response. It still rejects the obsolete ?session=catalog:... beta form.
The helper accepts the snake_case JSON emitted by both Claude Code and Codex lifecycle hooks:
node "$BEAM_SKILL_DIR/scripts/beam" hook --endpoint "$BEAM_ENDPOINT" --quiet
Configure root Stop hooks for turn-by-turn updates. Claude Code can also use SessionEnd for finalization; Codex finalization uses an explicit publish --complete. See:
references/claude-code-hooks.jsonreferences/codex-hooks.tomlHook failures must not block the coding session. Keep them quiet on success; log one concise redacted error on failure.
Full installation, authentication, data-boundary, and hook documentation:
README.md.
node --check skills/beam/scripts/beam
node --check skills/beam/scripts/beam-session.js
node --test skills/beam/scripts/beam.test.mjs
scripts/validate-skills