Token导航 LogoToken导航TokenDH.com
开发执行命令clawhub未标认证来源可访问clear审计提醒

firm-acp-bridge坚固的 acp 桥

Agent Skill

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

总安装

12,230

周安装

520

GitHub Stars

公开资料未说明

下载量

4,285
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install firm-acp-bridge

简介

Firm ACP Bridge 桥接高级责任与会话代理自主管理机制。

  • 解决 ACP 无持久性与会话环境缺失问题,增强开发任务连续性。
  • 使用 clawhub 安装并通过 openclaw skills install firm-acp-bridge 部署。
  • 适用于复杂开发流程编排,需结合具体业务逻辑定制集成方式。
  • 适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
firm-acp-bridge
version
1.0.0
description
>
author
romainsantoli-web
license
MIT
metadata
openclaw
registry
ClawHub
requires
tags

firm-acp-bridge

⚠️ Contenu généré par IA — validation humaine requise avant déploiement en production.

Purpose

Ce skill rend le bridge ACP résilient aux crashs et les sessions agents autonomes pleinement fonctionnelles en comblant les gaps découverts dans openclaw/openclaw.

Gaps couverts :

GapSévéritéOutil
C4 — ACP sessions en mémoire uniquement (crash = perte)CRITICALacp_session_persist/restore
H3 — Sessions spawn/cron sans provider env varsHIGHfleet_session_inject_env
H4 — Cron tools sur denylist sandboxHIGHfleet_cron_schedule
H5 — Race condition shared-workspace read/writeHIGHopenclaw_workspace_lock

Tools activés

acp_session_persist       — persiste run_id → gateway_session_key sur disque (C4)
acp_session_restore       — recharge sessions après crash/restart bridge (C4)
acp_session_list_active   — liste sessions ACP actives et stale (C4)
fleet_session_inject_env  — injecte provider env vars dans sessions non-main (H3)
fleet_cron_schedule       — planifie cron tasks sur session main (H4)
openclaw_workspace_lock   — advisory lock pour éviter les race conditions (H5)

Protocole ACP Persistence (C4)

Problème : Si le bridge openclaw acp crashe ou est tué (OOM, reboot), tous les mappings run_id → gateway_session_key en mémoire sont perdus. Les IDE integrations (VS Code, Cursor) se reconnectent silencieusement à de nouvelles sessions.

Intégration côté bridge (pattern d'appel)

À chaque création de session ACP, appeler immédiatement :

{
  "tool": "acp_session_persist",
  "args": {
    "run_id": "<acp_run_id>",
    "gateway_session_key": "<gateway_key>",
    "metadata": {
      "ide": "vscode",
      "workspace": "/path/to/project",
      "created_by": "agent-name"
    }
  }
}

Au démarrage du bridge (après crash ou restart) :

{
  "tool": "acp_session_restore",
  "args": { "max_age_hours": 24 }
}

→ Retourne les sessions récupérables + purge automatique des sessions > 24h stale.

Pour monitorer :

{
  "tool": "acp_session_list_active",
  "args": { "include_stale": false }
}

Décision d'architecture — ACP session store

OptionDécisionRaison
Redis❌ NONTrop lourd pour single-operator, dépendance externe
SQLite❌ NONOverkill pour des clés simples, migration schema
JSON file (atomic rename)✅ OUIZéro dépendance, atomic write (tmp + os.replace), léger

Autonomous Session Bootstrap (H3)

Problème : Les sessions spawned via sessions_spawn ou cron n'ont pas accès aux env vars des providers configurés (ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.). Tout appel LLM dans une session non-main échoue silencieusement.

Séquence obligatoire avant sessions_spawn

Étape 1 — Validation dry_run (vérifier les clés sans envoyer) :

{
  "tool": "fleet_session_inject_env",
  "args": {
    "env_vars": {
      "ANTHROPIC_API_KEY": "<your_key>",
      "OPENCLAW_MODEL": "claude-3-5-sonnet-20241022"
    },
    "dry_run": true
  }
}

→ Vérifie que les clés passent l'allowlist. Si rejected non vide, les clés sont invalides.

Étape 2 — Injection effective avant spawn :

{
  "tool": "fleet_session_inject_env",
  "args": {
    "env_vars": {
      "ANTHROPIC_API_KEY": "<your_key>",
      "OPENCLAW_MODEL": "claude-3-5-sonnet-20241022"
    },
    "filter_tags": ["engineering", "quality"]
  }
}

Étape 3 — Spawn la session (via Gateway direct) :

{
  "method": "sessions_spawn",
  "params": {
    "agent": "engineering",
    "reply_session": "main"
  }
}

Clés autorisées (allowlist intégrée)

ANTHROPIC_API_KEY | OPENAI_API_KEY | OPENROUTER_API_KEY | GEMINI_API_KEY
OPENCLAW_MODEL | OPENCLAW_PROVIDER | OPENCLAW_MAX_TOKENS
CLAW_MODEL | CLAW_PROVIDER | PROXY_URL | CUSTOM_*

Jamais dans les logs — les valeurs sont masquées avec ****{last4}.

Cron Outside Sandbox (H4)

Problème : cron tools sont sur la denylist dans les sessions Docker sandbox. Tout workflow autonome planifié dans un container non-main est bloqué.

Solution : Planifier sur la session main (accès hôte) via fleet_cron_schedule.

{
  "tool": "fleet_cron_schedule",
  "args": {
    "command": "node scripts/daily-report.js",
    "schedule": "0 9 * * 1-5",
    "session": "main",
    "description": "Daily business report — Monday to Friday 9h"
  }
}

Utiliser fleet_cron_schedule quand :

  • ✅ La tâche est un script léger et déterministe
  • ✅ La tâche ne nécessite pas d'isolation sécurité
  • ✅ La command passe l'allowlist [a-zA-Z0-9 /._-=]+

Utiliser sessions_spawn (session non-main) quand :

  • ✅ La tâche implique du code non vérifié / externe
  • ✅ Isolation sécurité requise (sandbox Docker)
  • ✅ La tâche peut se déclencher ad-hoc (pas planifiée)

Workspace Locking (H5)

Problème : Race condition documentée (#29947) sur shared-workspace read/modify/write. Plusieurs sessions agent peuvent corrompre la même ressource partagée.

Pattern acquire / work / release

// 1. Acquérir le lock
{
  "tool": "openclaw_workspace_lock",
  "args": {
    "path": "shared/config.json",
    "action": "acquire",
    "owner": "engineering-session-001",
    "timeout_s": 30
  }
}

// 2. Faire le travail (read → modify → write)
// ... vos opérations sur la ressource ...

// 3. Libérer le lock
{
  "tool": "openclaw_workspace_lock",
  "args": {
    "path": "shared/config.json",
    "action": "release",
    "owner": "engineering-session-001"
  }
}

Vérifier le statut d'un lock :

{
  "tool": "openclaw_workspace_lock",
  "args": {
    "path": "shared/config.json",
    "action": "status",
    "owner": "any"
  }
}

Règles

  • Le lock est advisory (pas kernel-level) — tous les agents doivent coopérer
  • timeout_s max = 300s. Si lock non acquis → ok: false + current_owner
  • Toujours release dans un bloc try/finally pour éviter les locks orphelins
  • Un lock expired ne se libère pas automatiquement — utiliser acp_session_restore pour purger les owners stale

Monitoring de santé ACP

Flux de monitoring recommandé (à exécuter périodiquement) :

acp_session_list_active → sessions stale > 2h → acp_session_restore(max_age_hours=2) → recheck

Si restored: 0 et purged > 0 après un intervalle normal → le bridge a crashé et les sessions ont été perdues → notifier via firm_export_slack_digest.


*OpenClaw gaps : C4 (ACP in-memory), H3 (#29886 isolated sessions no provider env), H4 (#29921 cron sandbox denylist), H5 (#29947 race condition)*


💎 Support

Si ce skill vous est utile, vous pouvez soutenir le développement :

Dogecoin : DQBggqFNWsRNTPb6kkiwppnMo1Hm8edfWq

适合场景

01

调用多模型

02

代码和文本生成

03

Agent 推理流程

04

OpenRouter 模型接入

能力概览

能力 1

统一调用多种 LLM

能力 2

支持 Claude、Gemini、Kimi 等模型

能力 3

适合聊天、代码和推理任务

能力 4

可作为 Agent 模型调用入口

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

80.56%
按下载量换算3,452

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install firm-acp-bridge 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills