适合直接用于开发 AI自动化系统 / 审计工具 / AI助手 / Web3分析平台。整个方案包含:
OpenClaw Agent 核心
大模型接入(OpenAI / Qwen)
Tool 插件系统
Memory 向量数据库
Web UI 管理后台
Docker 一键部署
这套架构在生产环境中比较稳定。
一、完整项目架构
推荐项目结构:
openclaw-agent/│├── backend/│ ├── agent/│ │ ├── agent_core.py│ │ ├── planner.py│ │ ├── executor.py│ ││ ├── llm/│ │ ├── openai_client.py│ │ ├── qwen_client.py│ │ ├── llm_router.py│ ││ ├── tools/│ │ ├── python_executor.py│ │ ├── web_search.py│ │ ├── blockchain_query.py│ ││ ├── memory/│ │ ├── vector_store.py│ │ ├── embeddings.py│ ││ ├── api/│ │ ├── server.py│ ││ └── config/│ ├── settings.py│├── frontend/│ ├── dashboard│├── docker/│├── .env├── requirements.txt└── main.py整体流程:
用户请求 │ ▼API Server │ ▼Agent Core │ ├─ Planner ├─ LLM Router ├─ Tool Executor └─ Memory二、安装依赖
创建环境
python -m venv venv激活
Linux
source venv/bin/activateWindows
venv\Scripts\activate安装依赖
pip install fastapipip install uvicornpip install openaipip install dashscopepip install chromadbpip install python-dotenvrequirements.txt
fastapiuvicornopenaidashscopechromadbpython-dotenvrequests三、LLM 多模型自动路由
创建
backend/llm/llm_router.pyimport osfrom .openai_client import chat_openaifrom .qwen_client import chat_qwenMODEL_PROVIDER = os.getenv("MODEL_PROVIDER")def chat(prompt):if MODEL_PROVIDER == "openai":return chat_openai(prompt)elif MODEL_PROVIDER == "qwen":return chat_qwen(prompt)else: raise Exception("Model provider not supported")四、OpenAI 接入
backend/llm/openai_client.pyfrom openai import OpenAIimport osclient = OpenAI( api_key=os.getenv("OPENAI_API_KEY"))def chat_openai(prompt): response = client.chat.completions.create( model="gpt-4o", messages=[ {"role":"user","content":prompt} ] )return response.choices[0].message.content五、千问 Qwen 接入
backend/llm/qwen_client.pyfrom dashscope import Generationimport osdef chat_qwen(prompt): response = Generation.call( model='qwen-plus', prompt=prompt, api_key=os.getenv("QWEN_API_KEY") )return response.output.text六、Agent 核心
backend/agent/agent_core.pyfrom backend.llm.llm_router import chatfrom backend.tools.python_executor import run_pythonclass Agent: def run(self, task): plan = chat( f"请规划任务步骤: {task}" ) result = chat( f"根据计划执行: {plan}" )return result七、工具系统 Tool Plugin
示例:Python执行工具
backend/tools/python_executor.pyimport subprocessimport tempfiledef run_python(code): with tempfile.NamedTemporaryFile( suffix=".py", delete=False ) as f: f.write(code.encode()) filename = f.name result = subprocess.run( ["python", filename], capture_output=True, text=True )return result.stdoutAgent 可以自动调用这个工具。
八、Memory 向量数据库
创建:
backend/memory/vector_store.py使用 Chroma:
import chromadbclient = chromadb.Client()collection = client.create_collection( name="memory")def add_memory(text): collection.add( documents=[text], ids=[str(hash(text))] )def search_memory(query):return collection.query( query_texts=[query], n_results=3 )这样 Agent 就有长期记忆。
九、API Server
创建:
backend/api/server.pyfrom fastapi import FastAPIfrom backend.agent.agent_core import Agentapp = FastAPI()agent = Agent()@app.post("/chat")def chat_api(data:dict): prompt = data["prompt"] result = agent.run(prompt)return {"result":result}启动
uvicorn backend.api.server:app --port 8000访问:
http://localhost:8000/docs自动生成 API 文档。
十、Docker 部署
创建
DockerfileFROM python:3.10WORKDIR /appCOPY . .RUN pip install -r requirements.txtCMD ["uvicorn","backend.api.server:app","--host","0.0.0.0","--port","8000"]构建:
docker build -t openclaw-agent .运行:
docker run -p 8000:8000 openclaw-agent十一、前端 Dashboard(推荐)
可以用:
React
Vue
Next.js
简单调用 API:
POST /chat示例:
{"prompt":"分析这个智能合约漏洞"}返回:
AI分析结果
❝本公众号发布的内容除特别标明外版权归原作者所有。若涉及版权问题,请联系我们。所有信息及评论区内容仅供参考,请读者自行判断信息真伪,不构成任何投资建议。据此产生的任何损失,本公众号概不负责,亦不负任何法律责任。
夜雨聆风