返回博客列表

自动化脚手架:统一管理的 Monorepo 自动化集合

一个统一 Monorepo 自动化项目集合,包含 AI 表格、RPA、数据抓取与 Agent 等多个子系统。

#Python#Automation#RPA#LangGraph#Monorepo

项目概述

Automation Scaffold 是一个统一管理的 Monorepo 自动化项目集合,旨在整合多种自动化场景的工具与服务,减少重复建设并提供共享基础设施。

子系统

子项目职责
shared/公共包(配置/日志/钉钉/飞书/百炼客户端)
01-ai-table/AI 表格搭建,集成钉钉与飞书平台
02-rpa/影刀 RPA 数据处理自动化
03-data-scraper/数据抓取服务
04-agent/LangGraph Agent 编排

技术架构

共享基础设施

# shared/config.py
from pydantic import BaseSettings
 
class Settings(BaseSettings):
    # 钉钉配置
    dingtalk_app_key: str
    dingtalk_app_secret: str
 
    # 飞书配置
    feishu_app_id: str
    feishu_app_secret: str
 
    # 百炼 API
    bailian_api_key: str
 
    class Config:
        env_file = ".env"
 
settings = Settings()

AI 表格集成

# 01-ai-table/connector.py
from shared.feishu import FeishuClient
from shared.dingtalk import DingTalkClient
 
class AITableConnector:
    def __init__(self):
        self.feishu = FeishuClient()
        self.dingtalk = DingTalkClient()
 
    async def sync_table(self, table_id: str):
        # 同步飞书多维表格到钉钉
        data = await self.feishu.get_table_data(table_id)
        await self.dingtalk.update_table(data)

LangGraph Agent

# 04-agent/workflow.py
from langgraph.graph import StateGraph
 
def create_agent_workflow():
    graph = StateGraph(AgentState)
 
    graph.add_node("analyze", analyze_task)
    graph.add_node("execute", execute_action)
    graph.add_node("report", generate_report)
 
    graph.set_entry_point("analyze")
    graph.add_edge("analyze", "execute")
    graph.add_edge("execute", "report")
 
    return graph.compile()

快速开始

cd automation-scaffold
pip install -e shared/
pip install -e 01-ai-table/
pip install -e 02-rpa/
pip install -e 03-data-scraper/
pip install -e 04-agent/

配置 API Key 后即可运行各子项目。

设计理念

各子系统独立可运行,通过 shared/ 包共享基础设施代码(日志、配置、第三方客户端等),避免重复造轮子。


相关链接


最后更新: 2026-04-25