Token导航 LogoToken导航

Agent Skill · 开发

codeflow(codeflow 命令行)

codeflow 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

codeflow 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 2,885。

总安装 13,898周安装 597GitHub Stars 公开资料未说明下载 4,872核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
2.0.2

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:codeflow(codeflow 命令行)
来源仓库:https://github.com/subjadeites/codeflow
安装命令:
openclaw skills install codeflow
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install codeflow

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

codeflow 将编码代理会话实时传输到 Discord 或 Telegram。适合在 OpenClaw 中需要监控代理操作或共享开发过程时使用。支持 Claude Code、Gemini CLI 等多种代理工具的会话同步。

安装命令:openclaw skills install codeflow,需确认网络和聊天平台连接权限。建议提前配置好机器人账号和消息接收渠道。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install codeflow;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

codeflow 怎么安装?

在终端执行 openclaw skills install codeflow。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

codeflow 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

codeflow 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

codeflow 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

codeflow 用的人多吗?

公开数据是累计安装 13,898 次,近一周安装 597 次,下载 4,872 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

codeflow 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
codeflow

codeflow 命令行 · 本页

13,898—接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

version
2.0.2
name
codeflow
description
Codeflow streams coding agent sessions (Claude Code, Codex, Gemini CLI, etc.) to Discord or Telegram in real-time. Use when invoking coding agents and wanting transparent, observable dev sessions — no black box. Parses Claude Code's stream-json output into clean formatted messages showing tool calls, file writes, bash commands, and results with zero AI token burn. Use when asked to "stream to Discord", "stream to Telegram", "relay agent output", or "make dev sessions visible".
user-invocable
true
metadata
{"openclaw":{"emoji":"🎬","requires":{"anyBins":["unbuffer","python3"]}}}

Codeflow

Live-stream coding agent sessions to Discord or Telegram. Zero AI tokens burned.

Breaking note:

  • Command name: /codeflow
  • Env var prefix: CODEFLOW_*

Setup

First-time setup: see references/setup.md for webhook creation, unbuffer install, bot token, and smoke test.

For hard thread-scoped enforcement (skill-owned /codeflow + plugin tool blocking), install the bundled enforcer plugin once on the host:

bash {baseDir}/scripts/codeflow enforcer install --restart

If the plugin is missing, /codeflow still works in soft mode. The button/no-button behavior must be owned by the deterministic router script, not by free-form assistant prose.

Developer Checks (optional)

Run a local sanity check bundle (Python syntax compile + unit tests + bash -n):

bash {baseDir}/scripts/codeflow check

/codeflow command contract (session-scoped)

When user invokes /codeflow, treat it as a control command first, then as a session-scoped declaration:

  1. For the current OpenClaw session, all coding, development, or review tasks (code/architecture/security/product review) — including any direct Codex or Claude Code invocations — must be executed via Codeflow relay + local Codex/Claude Code (not direct edits unless explicitly requested).
  2. Follow Codeflow output conventions (including compact Telegram behavior when applicable).
  3. If user asks for direct non-code tasks, handle normally; this contract applies to coding, development, and review tasks.
  4. The contract lasts for the current session context. If user resets/new session, require re-invocation.

Important command-order rule:

  • A bare control message such as /codeflow, /codeflow on, /codeflow status, /codeflow off, or callback_data: cfe:install is not a request for a coding task.
  • For these control messages, do not send a generic acknowledgement like “ready, what should I do next?”.
  • First execute the deterministic control router below.
  • If the router succeeds, end with NO_REPLY because the router already sent the user-facing control reply.
  • Only after that should later coding tasks in the same session be executed under the Codeflow contract.
  • If the same inbound message includes both the /codeflow command and an actual coding task, run the control router first, then continue with the remaining task text.

Soft fallback contract:

  • /codeflow is always owned by the skill. That is the public entrypoint and the soft fallback path.
  • The bundled enforcer plugin is optional. When installed, it adds hard before_prompt_build / before_tool_call blocking on top of the skill flow; it does not own /codeflow.
  • Step 0) Call session_status and read the current sessionKey for the active OpenClaw conversation.
  • Step 1) Always run the deterministic control script:
bash {baseDir}/scripts/codeflow control \
  --session-key "<sessionKey>" \
  --text "<raw user message text>"
  • The script owns these cases:

- /codeflow or /codeflow on|enable|activate - /codeflow status - /codeflow off|disable|deactivate - callback_data: cfe:install (or raw cfe:install)

  • For a bare /codeflow message, always route it here first. Do not improvise a textual reply.
  • The script performs the real work itself:

- runs codeflow guard activate|deactivate when needed - runs codeflow enforcer status --json --session-key <sessionKey> - sends the final message itself via Gateway message.send - includes recommendation.buttons when Telegram routing is available - falls back to plain Install: / Restart: command text when buttons cannot be sent

  • Normal path: the script already sent the user-facing reply, so end the turn with NO_REPLY.
  • Fallback path: if the script exits with code 3 and stdout starts with NEED_LLM_ROUTE, parse the JSON payload on the next line ({message, buttons}) and send that yourself. If your current channel/tooling cannot attach buttons, keep the plain text exactly as provided.
  • Installer note: when handling cfe:install, be explicit that gateway restart may interrupt or reset the current conversation/thread.

Guard enforcement (hard constraint in script):

  • All execution modes that can post/run work (run, resume, review, parallel) are guard-protected by default. review and parallel must precheck the guard before they clone repos, create worktrees, or post start summaries.
  • Guard management commands (codeflow guard activate|deactivate|status|current) bypass the precheck.
  • Guard is bound to chat/topic context (and session key when available).
  • Every allow/deny decision is appended to ${XDG_STATE_HOME:-$HOME/.local/state}/codeflow/guard-audit.jsonl (stores commandHint only — redacted + truncated; never the full command).
  • If blocked, instruct user to re-run /codeflow in the same chat/topic.

Default inference rules (do not ask unless ambiguous):

  • Task content: ask user for this when missing.
  • Workdir: infer from recent chat/context/task history (not blindly current workspace). If unclear, ask user to re-declare workdir.
  • Platform: infer from current channel (Telegram/Discord).
  • Target chat/thread: infer from inbound metadata (current chat/thread).

Codex session policy under /codeflow:

  • Reuse the prior Codex session associated with the same -w <workdir> when available (keyed by realpath(workdir)).
  • If no prior session is found, create a new session when the task is dispatched.
  • Only force new session when user explicitly requests it.

Under /codeflow, avoid asking for workdir/platform/chat if derivable from context.

Invocation

Launch with exec background:true. Background exec sessions survive agent turns. Exit notifications (e.g. notifyOnExit) are provided by the host runtime (OpenClaw), not by Codeflow itself.

exec background:true command:"cat <<'PROMPT' | {baseDir}/scripts/codeflow run -w ~/projects/myapp -- claude -p --dangerously-skip-permissions --output-format stream-json --verbose
Your task here
PROMPT"

Prompt-quoting tip (avoid shell escaping footguns):

  • For Codex, codex exec (and codex exec resume) reads the prompt from stdin when PROMPT is - (or omitted in exec). For multi-line prompts or prompts containing shell metacharacters (e.g. backticks), prefer stdin + a quoted heredoc.
  • For Claude Code, claude -p also supports reading the prompt from stdin; prefer stdin for the same reasons.

Note the session ID from the response — use it to monitor via process.

CLI (stable)

Public entrypoint (do not call _internal/ scripts directly):

bash {baseDir}/scripts/codeflow <command> [...]

Commands:

  • codeflow run [run-flags] -- <agent command> — start a relay session
  • codeflow guard activate|deactivate|status|current [run-flags] — manage/query the session-scoped guard
  • codeflow control --session-key <key> --text <raw_text> — deterministic /codeflow soft-mode control router
  • codeflow resume [run-flags] <relay_dir> — replay a previous session from stream.jsonl
  • codeflow review [...] <pr_url> — PR review mode
  • codeflow parallel [...] <tasks_file> — parallel tasks mode
  • codeflow bridge [...] — Discord gateway bridge
  • codeflow enforcer install|update|uninstall|status [--json] — manage/query the bundled OpenClaw enforcer plugin
  • codeflow check — local checks (syntax + unit tests)
  • codeflow smoke — config/prereq smoke test

See bash {baseDir}/scripts/codeflow --help for the canonical CLI.

Run flags (codeflow run)

FlagDescriptionDefault
-w <dir>Working directoryCurrent dir
-t <sec>Timeout1800
-h <sec>Hang threshold120
-n <name>Agent display nameAuto-detected
-P <platform>discord, telegram, auto (inferred)discord
--threadPost into a Discord threadOff
--tg-chat <id>Telegram chat id (when -P telegram)—
--tg-thread <id>Telegram thread/topic id (optional)—
--skip-readsHide Read tool eventsOff
--new-sessionFor Codex exec: force a new Codex sessionauto policy
--reuse-sessionFor Codex exec: require and reuse previous sessionauto policy
--prompt-stdinEnforce prompt via stdin for supported headless agents (Codex exec / Claude -p)Auto (OpenClaw → on)
--prompt-argvAllow legacy argv prompt for supported headless agentsAuto (non-OpenClaw → on)

Prompt mode can also be set via env: CODEFLOW_PROMPT_MODE=auto|argv|stdin (default: auto).

Rate limiting note (Telegram hardening): parse-stream now routes all delivery through an in-process delivery governor with strict 429 handling:

  • Telegram 429 backoff: next_allowed_at = now + retry_after + 1s (strictly follows Telegram retry_after; adds +1s to avoid immediately hitting 429 again)
  • do not send any request before next_allowed_at
  • queue priority: final > event > state
  • compact state cards (thinking/cmd) are strict snapshot overwrite (latest-wins); during 429 windows updates are merged in memory and only the latest snapshot is applied once the window opens

If you still need to reduce output volume, use CODEFLOW_OUTPUT_MODE (see below) plus existing knobs (--skip-reads, CODEFLOW_SAFE_MODE=true, CODEFLOW_COMPACT).

For PR review, parallel tasks, Discord bridge, and Codex structured output: see references/advanced-modes.md.

Agent Launch Checklist

  1. Start background session → note session ID from the exec response
  2. codeflow run posts the session header and streams events to the target channel automatically
  3. Monitor via process log / process poll; stop via process kill

Completion Detection

Completion notifications are runtime-dependent (OpenClaw). Codeflow itself simply exits when the inner agent command exits.

Backup: Append this to the inner agent's prompt for an additional signal:

When completely finished, run: openclaw system event --text "Done: <brief summary>" --mode now

Monitoring

process poll sessionId:<id>        # Check status
process log sessionId:<id>         # View recent output
process kill sessionId:<id>        # Stop session

Safe mode (optional)

If you stream relay output into a shared channel, enable:

  • CODEFLOW_SAFE_MODE=true

Effects:

  • Suppress file-content previews (Claude Write)
  • Suppress command output bodies (Claude Bash output, Codex command_execution output, raw mode output)
  • Apply stricter redaction to high-risk fields

Output mode

Control how verbose channel posts are via env:

  • CODEFLOW_OUTPUT_MODE=minimal|balanced|verbose (default: balanced)

- minimal: only warning/error/final - balanced: key progress + warning/error/final - verbose: near-full (debug; Telegram is more likely to hit 429)

Telegram compact state cards (strict snapshot overwrite):

  • thinking/cmd cards always edit the same anchor (no extra posts)
  • each edit replaces the full snapshot (no accumulated log); during 429 windows updates are merged in memory (latest-wins) and only the latest snapshot is applied once the window opens
  • only when the message exceeds platform limits do we truncate/compress and mark …(truncated); otherwise we do not fold/hide content

Telegram anti-spam mode (default)

When -P telegram is used, Codex sessions run in compact mode by default:

  • per turn, one rolling "thinking" message (edited in place)
  • per turn, one rolling "commands/results" message (edited in place)
  • one separate turn-complete output message (full text; paginated if oversized)

Next turn starts a fresh pair of rolling messages.

Override with env:

  • CODEFLOW_COMPACT=true|false (default auto, where Telegram => true)

Telegram 429 / anchor stability (compact mode):

  • edit failures do not "post a new anchor immediately" (no anchor explosion); state cards preserve single-anchor edit semantics
  • on 429, Codeflow sleeps for retry_after + 1s (not a fixed 10s); when the window opens, it flushes by priority (final > event > state)

Telegram adapter memory guard (oversized message edit groups):

  • CODEFLOW_TELEGRAM_EDIT_GROUPS_MAX=<n>: max tracked groups (LRU, default 64; set 0 to disable tracking)
  • CODEFLOW_TELEGRAM_TRACK_EDIT_GROUPS=true|false: enable/disable tracking (default true)

Notes:

  • This only affects multi-message editing via platforms/telegram.py edit(); compact mode uses edit_single and is unaffected.
  • Disabling tracking means edit() cannot delete/overwrite prior tail messages for already-split posts.

Codex session reuse policy (hard workflow constraint)

For codex exec ..., Codeflow enforces a session policy in code (not just docs):

  • default auto: reuse previous Codex session for the same workdir when available
  • if prompt contains /new under auto: force a new session for that run
  • --new-session: force new session
  • --reuse-session: require previous session and force resume (error if missing)

Optional env overrides:

  • CODEFLOW_CODEX_SESSION_MODE=auto|new|reuse (default auto)
  • CODEFLOW_CODEX_SESSION_MAP=/tmp/dev-relay-codex-sessions.json (session map path)

Agent Support

AgentOutput ModeStatus
Claude Codestream-jsonFull support
Codex--json JSONLFull support
Any CLIRaw ANSIBasic support

Session Tracking

  • Active sessions: /tmp/dev-relay-sessions/<PID>.json (auto-removed on end)
  • Event logs: /tmp/dev-relay.XXXXXX/stream.jsonl (7-day auto-cleanup)
  • Stream log policy: CODEFLOW_STREAM_LOG=full|redacted|off (default: full; if CODEFLOW_SAFE_MODE=true and CODEFLOW_STREAM_LOG is unset, default becomes redacted). off writes minimal metadata only (resume/debug is limited).
  • Delivery anomaly events: appended into stream.jsonl as codeflow.delivery.* (exceptions only; no message bodies/tokens/URLs).
  • Delivery stats (local): /tmp/dev-relay.XXXXXX/delivery-summary.json (single-file summary; includes rate-limit counts, drops, etc).
  • Guard state: ${XDG_STATE_HOME:-$HOME/.local/state}/codeflow/guard.json (stores commandHint only — redacted + truncated)
  • Guard audit log: ${XDG_STATE_HOME:-$HOME/.local/state}/codeflow/guard-audit.jsonl (JSONL)
  • Interactive input: process submit sessionId:<id> data:"message"

- If the XDG state dir is not writable, guard/state/audit fall back to dotfiles under {baseDir}/scripts/ (see codeflow/scripts/_internal/bin/lib.sh).

  • Telegram/Discord delivery no longer spawns curl; tokens/webhooks do not appear in child process argv (avoids ps leakage).
  • /tmp/dev-relay-sessions/<PID>.json is written atomically (tmp + rename, best-effort fsync) and minimized (does not persist full command/context).

Reference Docs

  • Setup guide — first-time install, webhook, bot token
  • Advanced modes — PR review, parallel tasks, Discord bridge, Codex
  • Discord output — message formats, architecture, env vars, troubleshooting

平台分布

OpenClaw

82.62%
按下载量换算4,025

安全审计

VirusTotal

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills