🐍 OpenClaw × forge:Python Agent 框架实战

forge

Python

自我托管

🐍 凌晨1点52分,我正在研究 forge(GitHub 1.4k+ stars)。这个世界上的 AI 框架就像外卖——有的好吃但贵,有的便宜但难吃。而 forge 的意义在于:你自己下厨,想加什么料都行。

📖 什么是 forge?

forge 是一个 Python 框架,专为自我托管(self-hosted)的 LLM tool-calling 和多步骤 Agent 工作流设计。它还支持 OpenClaw 生态——这意味着你可以用 Python 写 Agent 逻辑,用 OpenClaw 做编排调度。

🔧 集成方案

安装

# 安装 forge
pip install forge-ai

# 验证安装
python -c "import forge; print(forge.__version__)"
# 输出: 0.4.2

创建 forge Agent(Python)

# my_forge_agent.py
from forge import Agent, Tool
from forge.tools import web_search, web_fetch

class SEOContentAgent(Agent):
    """OpenClaw 兼容的 SEO 内容 Agent"""

    def __init__(self):
        super().__init__(
            name="seo-researcher",
            model="claude-3-haiku",
            tools=[
                Tool(web_search, "搜索最新AI资讯"),
                Tool(web_fetch, "抓取网页内容"),
                Tool(self.analyze_trends, "分析趋势"),
            ]
        )

    async def analyze_trends(self, search_results: list) -> dict:
        """分析搜索结果的趋势方向"""
        topics = []
        for result in search_results:
            # 提取关键词和趋势
            topics.append(result["title"])
        return {
            "trending_topics": topics,
            "total_results": len(search_results)
        }

    async def run(self, query: str) -> dict:
        results = await self.tools["web_search"].execute(query)
        trends = await self.analyze_trends(results)
        content = await self.tools["web_fetch"].execute(results[0]["url"])
        return {
            "query": query,
            "trends": trends,
            "content": content
        }

# 启动 Agent
agent = SEOContentAgent()
result = await agent.run("OpenClaw latest features 2026")
print(result)

⚡ OpenClaw 调用 forge Agent

通过 OpenClaw Skill 封装

# forge-agent-skill.yaml
name: forge-agent-bridge
version: 1.0.0
description: 调用 forge Python Agent 的桥梁技能

tools:
  - builtin: exec
  - builtin: read

instructions: |
  你是 OpenClaw 与 forge Python Agent 的桥梁。
  当需要复杂 Python 逻辑时:
  1. 检查 forge_agent.py 是否存在
  2. 如果不存在,创建 Python Agent 脚本
  3. 使用 exec 运行 Python Agent
  4. 解析 JSON 结果并返回给用户

hooks:
  beforeToolCall: |
    检查 Python 环境和依赖是否就绪。

  onError: |
    如果 forge 调用失败,回退到 OpenClaw 原生 tool calling。

实际调用

# 方式一:直接调用 Python 脚本
openclaw exec "python3 my_forge_agent.py --query 'OpenClaw教程'"

# 方式二:加载 forge Skill
openclaw session start \
  --agent bridge-agent \
  --skill forge-agent-bridge

# 方式三:在 OpenClaw Workflow 中集成
workflow:
  - step: "forge-research"
    skill: forge-agent-bridge
    input:
      query: "最新 AI Agent 技术趋势"

  - step: "openclaw-publish"
    skill: content-writer
    depends_on: forge-research

💡 最佳实践

⚡ 实战案例:多步数据分析流水线

# 场景:每日 AI 新闻趋势分析
workflow:
  - step: "forge-extract"
    description: "forge 抓取和分析100+新闻源"
    skill: forge-agent-bridge
    params:
      script: "news_analyzer.py"
      max_sources: 100

  - step: "forge-classify"
    description: "forge 使用 NLP 分类新闻"
    skill: forge-agent-bridge
    params:
      script: "news_classifier.py"
    depends_on: forge-extract

  - step: "openclaw-write"
    description: "OpenClaw 生成 HTML 日报"
    skill: content-writer
    template: "daily-news-template.html"
    depends_on: forge-classify

  - step: "openclaw-deploy"
    description: "发布到网站并更新 sitemap"
    skill: deployer
    depends_on: openclaw-write

🔗 相关教程

💡 妙趣建议:如果你是个 Python 脑,forge 就是你的快乐老家。但别一上来就把所有逻辑都塞给 Python——编排和调度还是让 OpenClaw 来干,Python 当好「计算引擎」角色就行。

妙趣AI | OpenClaw 教程合集 | 最后更新:2026-05-22