API包装工具

CFlow平台提供API包装工具,支持早期API消费、SDK调用和CLI工具,适用于开发环境验证和自动化测试。

  • by baerautotech
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 baerautotech/cflow-platform

使用说明

CFlow平台(第一阶段封装)

这个包提供了第一阶段的封装,以便在完整的仓库拆分之前能够提前使用CFlow API。

🚀 构建与部署

这个仓库使用了 BaerAutoTech自动化建造系统。

自动构建推送到 main 或者 develop 触发自动构建和部署。

手动触发:

gh workflow run build-and-deploy.yml

**查看构建(或:查看构建状态)**https://github.com/baerautotech/cflow-platform/actions 的中文翻译是:“GitHub 上 baerautotech/cflow-platform 项目的操作(或动作)页面”

完整的文档https://github.com/baerautotech/cerebral-deployment/blob/main/DEVELOPER_QUICK_START.md 翻译为中文是:“https://github.com/baerautotech/cerebral-deployment/(路径)/DEVELOPER_QUICK_START.md(开发者快速入门指南文件)”。但为了更自然地表达,我们可以稍作调整,翻译为:“GitHub上的baerautotech/cerebral-deployment仓库中的开发者快速入门指南(链接)”


  • 公共API: cflow_platform.public_api (指向单体仓库的代理 .cerebraflow/core/mcp/core/public_api.py)
  • SDK:软件开发工具包 cflow_platform.sdk.CFlowClient 执行MCP工具
  • CLI: 命令行界面(Command Line Interface)
    • cflow-install-hooks → 安装企业级Git钩子(当存在时,委托给仓库脚本)
    • cflow-verify-env → 通过单体仓库验证器验证每个操作所需的环境密钥
    • cflow-test-runner → 运行 pytest 并返回结构化的 JSON(支持 uv)
    • cflow-agent-loop → 统一的CLI代理循环,包含规划/验证周期
    • cflow-codegen → 运行 codegen.generate_edits 来写入 .cerebraflow/edits.json
    • cflow-provider-probe → 探测大型语言模型(LLM)提供商的连接性(网关P)
    • cflow-provider-aws → 可选的AWS提供商/配置文件MCP工具(默认关闭)
    • cflow-sync → 管理封装的统一实时同步服务(Supabase/MinIO/ChromaDB/SQLite)
    • cflow-caef → 基本的CAEF编排器封装器

SDK 示例

import asyncio
from cflow_platform.sdk import CFlowClient

async def main():
    client = CFlowClient()
    result = await client.execute_tool("sys_test")
    print(result)

asyncio.run(main())

核心API(第二阶段)

from cflow_platform.core.public_api import get_stdio_server, get_direct_client_executor, safe_get_version_info

CLI 示例

# Verify environment for migrations + ragkg + llm
cflow-verify-env --mode migrations --mode ragkg --mode llm --scope both

# Install enterprise git hooks (delegates to scripts/install-enhanced-git-hooks.sh)
cflow-install-hooks

# Structured test runner
cflow-test-runner --verbose --no-in-process cflow_platform/tests

# Agent loop
cflow-agent-loop --profile quick --max-iter 1 --json

# Optional: insert codegen before implement (M3)
OPENROUTER_API_KEY=... CFLOW_ENABLE_CODEGEN=1 cflow-agent-loop --profile quick --max-iter 1 --json

# Unified realtime sync (Supabase/MinIO/ChromaDB/SQLite)
# Required env:
#   SUPABASE_URL, SUPABASE_ANON_KEY or SUPABASE_SERVICE_ROLE_KEY
#   MINIO_ENDPOINT (or S3_ENDPOINT), MINIO_ACCESS_KEY, MINIO_SECRET_KEY
# Optional env:
#   CEREBRAL_PROJECT_ROOT (defaults to current directory)
# Start daemon
cflow-sync start --project-root /path/to/Cerebral
# Check status + DB report
cflow-sync status --project-root /path/to/Cerebral
# Stop daemon
cflow-sync stop --project-root /path/to/Cerebral

# CAEF orchestrator (vendored)
cflow-caef status

注释:在第一阶段,此包装器会委托给单体仓库的实现。拆分后,这些入口点将直接针对打包好的CFlow模块。