Back to blog

Automation Scaffold: Unified Monorepo Automation Collection

A unified Monorepo automation project collection including AI tables, RPA, data scraping, and Agent subsystems.

#Python#Automation#RPA#LangGraph#Monorepo

Project Overview

Automation Scaffold is a unified Monorepo automation project collection, aiming to integrate tools and services for multiple automation scenarios, reducing duplicate development and providing shared infrastructure.

Subsystems

SubprojectResponsibility
shared/Common packages (config/logging/DingTalk/Feishu/Bailian clients)
01-ai-table/AI table setup, integrated with DingTalk and Feishu platforms
02-rpa/Yingdao RPA data processing automation
03-data-scraper/Data scraping service
04-agent/LangGraph Agent orchestration

Technical Architecture

Shared Infrastructure

# shared/config.py
from pydantic import BaseSettings
 
class Settings(BaseSettings):
    # DingTalk config
    dingtalk_app_key: str
    dingtalk_app_secret: str
 
    # Feishu config
    feishu_app_id: str
    feishu_app_secret: str
 
    # Bailian API
    bailian_api_key: str
 
    class Config:
        env_file = ".env"
 
settings = Settings()

AI Table Integration

# 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):
        # Sync Feishu multi-dimensional table to DingTalk
        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()

Quick Start

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/

Configure API keys to run each subproject.

Design Philosophy

Each subsystem runs independently, sharing infrastructure code (logging, config, third-party clients) through the shared/ package, avoiding reinventing the wheel.


Related Links


Last updated: 2026-04-25