4091 字
20 分钟
大模型系列——OpenClaw 小龙虾实战技巧与高级应用

大模型系列——OpenClaw 小龙虾实战技巧与高级应用#

在前两篇文章中,我们已经学习了 OpenClaw 小龙虾的快速部署和核心配置。本文将带你进入实战应用的高级阶段,通过真实案例展示如何将 OpenClaw 集成到实际项目中,并分享高级开发技巧和最佳实践。

💡 实战导向: 理论学习固然重要,但真正的价值在于将知识应用到实际项目中,解决真实的问题。

🎯 实战案例架构#

案例1: 企业智能问答系统#

项目背景

某科技公司需要构建一个内部智能问答系统,帮助员工快速查询公司政策、技术文档、FAQ 等信息。系统需要支持多用户并发、高准确率和快速响应。

系统架构设计#

# 智能问答系统架构
enterprise_qa_system:
components:
- OpenClaw 服务层
- 向量检索引擎
- 知识库管理
- 用户界面
- 监控和管理
data_flow:
user_query -> [API网关] -> [检索模块] -> [OpenClaw推理] -> [响应生成] -> 用户

完整实现代码#

# app.py - 智能问答系统主应用
from fastapi import FastAPI, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from typing import List, Optional
import requests
import logging
# 配置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
app = FastAPI(title="企业智能问答系统", version="1.0.0")
# CORS 配置
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# OpenClaw 配置
OPENCLAW_API_URL = "http://localhost:8080"
OPENCLAW_API_KEY = "your_api_key"
class QuestionAnsweringService:
"""问答服务类"""
def __init__(self, api_url: str, api_key: str):
self.api_url = api_url
self.api_key = api_key
self.session = requests.Session()
self.session.headers.update({
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
})
def retrieve_knowledge(self, query: str, top_k: int = 5) -> List[dict]:
"""从知识库检索相关文档"""
try:
response = self.session.post(
f"{self.api_url}/api/v1/retrieval/search",
json={
"query": query,
"top_k": top_k,
"filters": {
"category": "knowledge_base",
"status": "active"
}
}
)
response.raise_for_status()
return response.json()["results"]
except Exception as e:
logger.error(f"知识检索失败: {e}")
return []
def generate_answer(self, query: str, context: List[str]) -> dict:
"""生成回答"""
try:
# 构建上下文
context_text = "\n\n".join([f"文档{i+1}: {doc['content']}"
for i, doc in enumerate(context)])
response = self.session.post(
f"{self.api_url}/api/v1/chat/completions",
json={
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "system",
"content": "你是一个专业的企业助手,基于提供的知识库信息回答用户问题。"
},
{
"role": "user",
"content": f"参考文档:\n{context_text}\n\n用户问题:{query}"
}
],
"temperature": 0.3,
"max_tokens": 500
}
)
response.raise_for_status()
return response.json()
except Exception as e:
logger.error(f"回答生成失败: {e}")
raise HTTPException(status_code=500, detail="生成回答失败")
def answer_question(self, query: str) -> dict:
"""回答问题的完整流程"""
try:
# 1. 检索相关知识
logger.info(f"处理查询: {query}")
relevant_docs = self.retrieve_knowledge(query)
if not relevant_docs:
return {
"answer": "抱歉,我没有找到相关的信息。请尝试重新表述问题或联系相关部门。",
"sources": [],
"confidence": "low"
}
# 2. 提取上下文
context = [doc["content"] for doc in relevant_docs]
# 3. 生成回答
response = self.generate_answer(query, context)
answer = response["choices"][0]["message"]["content"]
# 4. 返回结果
return {
"answer": answer,
"sources": [
{
"id": doc["id"],
"title": doc["title"],
"confidence": doc["score"]
}
for doc in relevant_docs
],
"confidence": "high" if len(relevant_docs) > 3 else "medium"
}
except Exception as e:
logger.error(f"问答处理失败: {e}")
raise HTTPException(status_code=500, detail="处理请求失败")
# 初始化服务
qa_service = QuestionAnsweringService(OPENCLAW_API_URL, OPENCLAW_API_KEY)
# API 端点
@app.post("/api/v1/qa")
async def ask_question(request: dict):
"""问答接口"""
query = request.get("query")
if not query:
raise HTTPException(status_code=400, detail="查询内容不能为空")
result = qa_service.answer_question(query)
return result
@app.get("/api/v1/health")
async def health_check():
"""健康检查"""
return {"status": "healthy", "service": "enterprise_qa_system"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)

部署配置#

# docker-compose.yml - 问答系统部署配置
version: '3.8'
services:
# 问答系统 API
qa_api:
build: .
container_name: enterprise-qa-api
ports:
- "8000:8000"
environment:
- OPENCLAW_API_URL=http://openclaw:8080
- OPENCLAW_API_KEY=${OPENCLAW_API_KEY}
depends_on:
- openclaw
restart: unless-stopped
# OpenClaw 服务
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw-server
ports:
- "8080:8080"
environment:
- POSTGRES_HOST=postgres
- REDIS_HOST=redis
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
restart: unless-stopped
# PostgreSQL
postgres:
image: postgres:15-alpine
container_name: openclaw-postgres
environment:
- POSTGRES_DB=enterprise_qa
- POSTGRES_USER=openclaw
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
# Redis
redis:
image: redis:7-alpine
container_name: openclaw-redis
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- redis_data:/data
restart: unless-stopped
volumes:
postgres_data:
redis_data:

案例2: 多模型智能路由系统#

应用场景

根据不同类型的问题自动选择最合适的 AI 模型,在保证质量的同时优化成本。例如,简单问题使用 GPT-3.5,复杂问题使用 GPT-4。

智能路由实现#

# smart_router.py - 智能路由系统
from typing import Dict, List
import re
from openclaw import OpenClawClient
class SmartRouter:
"""智能模型路由"""
def __init__(self, client: OpenClawClient):
self.client = client
self.model_rules = self._load_model_rules()
def _load_model_rules(self) -> List[dict]:
"""加载模型选择规则"""
return [
{
"model": "gpt-3.5-turbo",
"rules": [
{
"condition": "length < 100",
"priority": 1
},
{
"condition": "category in ['简单问答', '日常对话']",
"priority": 1
},
{
"condition": "contains(['你好', '谢谢', '再见'])",
"priority": 2
}
],
"cost_factor": 1.0
},
{
"model": "gpt-4",
"rules": [
{
"condition": "length > 500",
"priority": 1
},
{
"condition": "category in ['复杂推理', '代码生成', '数据分析']",
"priority": 1
},
{
"condition": "contains(['详细分析', '深度解释', '复杂问题'])",
"priority": 2
}
],
"cost_factor": 10.0
},
{
"model": "claude-3-opus",
"rules": [
{
"condition": "category in ['创意写作', '文学创作']",
"priority": 1
},
{
"condition": "requires_high_creativity == true",
"priority": 2
}
],
"cost_factor": 8.0
}
]
def analyze_query(self, query: str, context: dict = None) -> dict:
"""分析查询特征"""
analysis = {
"length": len(query),
"category": self._categorize_query(query),
"complexity": self._assess_complexity(query),
"requires_creativity": self._assess_creativity(query)
}
return analysis
def _categorize_query(self, query: str) -> str:
"""查询分类"""
categories = {
"代码生成": ["代码", "函数", "类", "编程", "开发"],
"数据分析": ["数据", "分析", "统计", "图表", "报告"],
"简单问答": ["什么", "如何", "为什么", "哪里"],
"复杂推理": ["推理", "逻辑", "判断", "分析"],
"创意写作": ["创作", "小说", "诗歌", "故事"],
"日常对话": ["你好", "谢谢", "再见", "怎么样"]
}
for category, keywords in categories.items():
if any(keyword in query for keyword in keywords):
return category
return "通用"
def _assess_complexity(self, query: str) -> int:
"""评估复杂度 (1-10)"""
complexity = 1
# 长度复杂度
if len(query) > 200:
complexity += 2
# 包含多个问题
if query.count('?') > 1:
complexity += 2
# 包含技术术语
technical_terms = ["算法", "架构", "设计模式", "优化"]
if any(term in query for term in technical_terms):
complexity += 3
return min(complexity, 10)
def _assess_creativity(self, query: str) -> bool:
"""评估是否需要高创造力"""
creative_keywords = [
"创意", "创新", "想象", "创作", "设计",
"故事", "小说", "诗歌", "艺术", "灵感"
]
return any(keyword in query for keyword in creative_keywords)
def select_model(self, query: str, context: dict = None) -> str:
"""选择最适合的模型"""
analysis = self.analyze_query(query, context)
# 计算每个模型的匹配分数
model_scores = {}
for model_config in self.model_rules:
model_name = model_config["model"]
score = 0
for rule in model_config["rules"]:
if self._evaluate_rule(rule, analysis):
# 优先级越高,加分越多
score += (10 - rule["priority"]) * 2
# 考虑成本因素(分数相同时选择成本更低的)
cost_penalty = model_config["cost_factor"] * 0.1
final_score = score - cost_penalty
model_scores[model_name] = final_score
# 选择得分最高的模型
best_model = max(model_scores, key=model_scores.get)
logger.info(f"查询 '{query[:50]}...' 选择模型: {best_model} (得分: {model_scores[best_model]:.2f})")
return best_model
def _evaluate_rule(self, rule: dict, analysis: dict) -> bool:
"""评估规则是否满足"""
condition = rule["condition"]
# 简单条件评估
if "length" in condition:
operator = ">" if ">" in condition else "<"
value = int(condition.split(operator)[1].strip())
query_length = analysis["length"]
return (query_length > value) if operator == ">" else (query_length < value)
if "category in" in condition:
categories = condition.split("[")[1].split("]")[0].replace("'", "").split(", ")
return analysis["category"] in categories
if "contains" in condition:
keywords = condition.split("[")[1].split("]")[0].replace("'", "").split(", ")
return any(keyword in analysis.get("query", "") for keyword in keywords)
if "requires_high_creativity" in condition:
return analysis.get("requires_creativity", False)
return False
def route_and_generate(self, query: str, context: dict = None) -> dict:
"""路由并生成回答"""
# 1. 选择模型
model = self.select_model(query, context)
# 2. 生成回答
try:
response = self.client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": query}],
temperature=0.7
)
return {
"answer": response.choices[0].message.content,
"model_used": model,
"model_reason": f"根据查询分析选择 {model}",
"cost": self._estimate_cost(model, response.usage)
}
except Exception as e:
logger.error(f"模型 {model} 生成失败: {e}")
# 回退到默认模型
return self._fallback_generate(query)
def _estimate_cost(self, model: str, usage: dict) -> float:
"""估算成本"""
cost_per_1k_tokens = {
"gpt-3.5-turbo": 0.002,
"gpt-4": 0.03,
"claude-3-opus": 0.015
}
rate = cost_per_1k_tokens.get(model, 0.002)
total_tokens = usage.prompt_tokens + usage.completion_tokens
return (total_tokens / 1000) * rate
def _fallback_generate(self, query: str) -> dict:
"""回退到默认模型"""
try:
response = self.client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": query}]
)
return {
"answer": response.choices[0].message.content,
"model_used": "gpt-3.5-turbo",
"model_reason": "使用回退模型",
"cost": self._estimate_cost("gpt-3.5-turbo", response.usage)
}
except Exception as e:
logger.error(f"回退模型也失败了: {e}")
return {
"answer": "抱歉,系统暂时无法处理您的请求。",
"model_used": "none",
"model_reason": "所有模型都失败了",
"cost": 0
}
# 使用示例
import logging
logging.basicConfig(level=logging.INFO)
# 初始化 OpenClaw 客户端
client = OpenClawClient(api_key="your_api_key", base_url="http://localhost:8080")
# 创建智能路由器
router = SmartRouter(client)
# 测试不同类型的查询
test_queries = [
"你好,今天天气怎么样?", # 简单对话 -> GPT-3.5
"请详细分析一下微服务架构的优缺点,并提供实现建议。", # 复杂分析 -> GPT-4
"写一首关于春天的诗歌,要求意境优美。", # 创意写作 -> Claude-3
]
for query in test_queries:
print(f"\n{'='*60}")
print(f"查询: {query}")
print(f"{'='*60}")
result = router.route_and_generate(query)
print(f"使用模型: {result['model_used']}")
print(f"选择原因: {result['model_reason']}")
print(f"预估成本: ${result['cost']:.4f}")
print(f"回答: {result['answer'][:200]}...")

案例3: 实时文档摘要系统#

应用价值

自动对长文档进行实时摘要,帮助用户快速了解文档内容。适用于法律文档、技术报告、学术论文等场景。

文档摘要系统#

# document_summarizer.py - 文档摘要系统
from typing import List, Dict
import re
from openclaw import OpenClawClient
from textstat import textstat
class DocumentSummarizer:
"""文档摘要系统"""
def __init__(self, client: OpenClawClient):
self.client = client
def preprocess_document(self, text: str) -> str:
"""预处理文档"""
# 移除多余的空白字符
text = re.sub(r'\s+', ' ', text)
# 移除特殊字符(保留基本标点)
text = re.sub(r'[^\w\s,.!?;:()\-"\'']', '', text)
return text.strip()
def split_document(self, text: str, max_length: int = 2000) -> List[str]:
"""将长文档分割成多个部分"""
sentences = re.split(r'[.!?]+', text)
chunks = []
current_chunk = ""
for sentence in sentences:
sentence = sentence.strip()
if not sentence:
continue
if len(current_chunk) + len(sentence) + 1 <= max_length:
current_chunk += sentence + ". "
else:
if current_chunk:
chunks.append(current_chunk.strip())
current_chunk = sentence + ". "
if current_chunk:
chunks.append(current_chunk.strip())
return chunks
def extract_key_points(self, chunk: str, num_points: int = 3) -> List[str]:
"""提取关键点"""
prompt = f"""
请从以下文本中提取 {num_points} 个关键点,要求:
1. 每个关键点简明扼要(不超过50字)
2. 涵盖文本的核心内容
3. 按重要性排序
文本:
{chunk}
关键点(每行一个):
"""
try:
response = self.client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
temperature=0.3,
max_tokens=300
)
points = response.choices[0].message.content.strip().split('\n')
return [point.strip() for point in points if point.strip()]
except Exception as e:
logger.error(f"提取关键点失败: {e}")
return []
def generate_chunk_summary(self, chunk: str) -> str:
"""生成单个部分的摘要"""
prompt = f"""
请为以下文本生成一个简洁的摘要(150-200字):
{chunk}
摘要:
"""
try:
response = self.client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
temperature=0.5,
max_tokens=300
)
return response.choices[0].message.content.strip()
except Exception as e:
logger.error(f"生成摘要失败: {e}")
return ""
def generate_executive_summary(self, chunks: List[str]) -> str:
"""生成执行摘要(适用于高层管理人员)"""
# 合并所有部分的摘要
chunk_summaries = [self.generate_chunk_summary(chunk) for chunk in chunks]
combined_summary = " ".join(chunk_summaries)
# 生成执行摘要
prompt = f"""
基于以下各部分的摘要,生成一个执行摘要(200-300字),供高层管理人员阅读:
{combined_summary}
执行摘要:
"""
try:
response = self.client.chat.completions.create(
model="gpt-4", # 执行摘要使用 GPT-4 保证质量
messages=[{"role": "user", "content": prompt}],
temperature=0.3,
max_tokens=400
)
return response.choices[0].message.content.strip()
except Exception as e:
logger.error(f"生成执行摘要失败: {e}")
return ""
def summarize_document(self, text: str, summary_type: str = "standard") -> Dict:
"""文档摘要主函数"""
# 1. 预处理
processed_text = self.preprocess_document(text)
# 2. 分割文档
chunks = self.split_document(processed_text)
# 3. 提取关键点
all_key_points = []
for chunk in chunks:
key_points = self.extract_key_points(chunk)
all_key_points.extend(key_points)
# 去重并选择最重要的10个关键点
key_points = list(dict.fromkeys(all_key_points))[:10]
# 4. 生成摘要
if summary_type == "executive":
summary = self.generate_executive_summary(chunks)
else:
# 标准摘要
chunk_summaries = [self.generate_chunk_summary(chunk) for chunk in chunks]
summary = " ".join(chunk_summaries)
# 5. 返回结果
return {
"summary_type": summary_type,
"summary": summary,
"key_points": key_points,
"document_stats": {
"total_length": len(text),
"num_chunks": len(chunks),
"average_chunk_length": len(processed_text) // len(chunks) if chunks else 0,
"readability_score": textstat.flesch_reading_ease(text)
}
}
# 使用示例
import logging
logging.basicConfig(level=logging.INFO)
# 初始化
client = OpenClawClient(api_key="your_api_key", base_url="http://localhost:8080")
summarizer = DocumentSummarizer(client)
# 示例文档
sample_document = """
人工智能(AI)是计算机科学的一个分支,致力于创建能够执行通常需要人类智能的任务的智能机器。
这包括学习、推理、问题解决、感知、语言理解等能力。现代AI技术主要基于机器学习,
特别是深度学习,这些技术已经在图像识别、自然语言处理、语音识别等领域取得了重大突破。
AI的发展历史可以追溯到20世纪50年代,当时的研究者开始探索如何让机器模拟人类的思维过程。
随着计算能力的提升和数据的积累,AI技术在过去几十年中取得了飞速发展。特别是2010年代,
深度学习的突破性进展使得AI在各个领域的应用成为可能。
AI的应用非常广泛,涵盖了医疗、金融、教育、交通、娱乐等几乎所有行业。
在医疗领域,AI可以帮助诊断疾病、开发新药;在金融领域,AI用于风险评估、欺诈检测;
在教育领域,AI可以提供个性化学习体验;在交通领域,AI正在推动自动驾驶技术的发展。
尽管AI带来了巨大的机遇,但也面临着诸多挑战和争议。隐私、安全、就业影响、伦理问题
都是需要认真考虑的重要议题。如何确保AI的发展能够造福人类,是整个社会需要共同面对的课题。
未来,AI技术将继续快速发展,可能会对社会产生深远的影响。人工智能与人类的关系、
AI的治理、以及AI的社会责任等问题,都需要我们持续关注和思考。
"""
# 生成摘要
print("生成标准摘要...")
result_standard = summarizer.summarize_document(sample_document, summary_type="standard")
print(f"\n标准摘要:\n{result_standard['summary']}")
print(f"\n关键点:")
for i, point in enumerate(result_standard['key_points'], 1):
print(f"{i}. {point}")
print(f"\n文档统计:")
for key, value in result_standard['document_stats'].items():
print(f" {key}: {value}")
print("\n" + "="*60)
print("生成执行摘要...")
result_executive = summarizer.summarize_document(sample_document, summary_type="executive")
print(f"\n执行摘要:\n{result_executive['summary']}")

🔌 插件开发实战#

自定义插件模板#

plugins/custom_plugin.py
from openclaw.plugins import BasePlugin
from typing import Dict, Any
import logging
class CustomPlugin(BasePlugin):
"""自定义插件模板"""
name = "custom_plugin"
version = "1.0.0"
description = "自定义功能插件"
def __init__(self, config: Dict[str, Any] = None):
super().__init__(config)
self.logger = logging.getLogger(self.name)
def initialize(self):
"""插件初始化"""
self.logger.info(f"初始化 {self.name} 插件")
# 初始化资源、连接数据库等
def process(self, input_data: Dict[str, Any]) -> Dict[str, Any]:
"""处理输入数据"""
try:
self.logger.info(f"处理数据: {input_data}")
# 自定义处理逻辑
result = {
"status": "success",
"data": self._custom_logic(input_data)
}
return result
except Exception as e:
self.logger.error(f"处理失败: {e}")
return {
"status": "error",
"error": str(e)
}
def _custom_logic(self, data: Dict[str, Any]) -> Any:
"""自定义业务逻辑"""
# 在这里实现你的具体功能
return data
def cleanup(self):
"""清理资源"""
self.logger.info(f"清理 {self.name} 插件")
# 清理资源、关闭连接等
def get_info(self) -> Dict[str, Any]:
"""获取插件信息"""
return {
"name": self.name,
"version": self.version,
"description": self.description,
"status": "active"
}
# 注册插件
def register_plugin():
"""注册插件到 OpenClaw"""
return CustomPlugin

📊 性能监控与调优#

Prometheus 监控配置#

prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'openclaw'
static_configs:
- targets: ['openclaw:8080']
metrics_path: '/metrics'
- job_name: 'postgres'
static_configs:
- targets: ['postgres:5432']
- job_name: 'redis'
static_configs:
- targets: ['redis:6379']

性能调优技巧#

性能调优检查清单

并发优化

  • 连接池大小经过基准测试
  • 使用异步 I/O 提高吞吐量
  • 实现请求批处理
  • 启用缓存减少数据库查询

内存优化

  • 监控内存使用情况
  • 优化数据结构减少内存占用
  • 实现内存回收机制
  • 配置合理的内存限制

响应时间优化

  • 减少不必要的计算
  • 使用更快的算法
  • 优化数据库查询
  • 启用 CDN 加速静态资源

🚀 生产环境最佳实践#

安全配置#

# 生产环境安全配置
security:
# HTTPS 配置
https:
enabled: true
cert_file: "/app/ssl/cert.pem"
key_file: "/app/ssl/key.pem"
protocols: ["TLSv1.2", "TLSv1.3"]
ciphers: ["ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-RSA-AES256-GCM-SHA384"]
# API 安全
api:
# 速率限制
rate_limit:
enabled: true
per_minute: 1000
per_hour: 10000
# 请求大小限制
max_request_size: 10485760 # 10MB
# 超时配置
timeout: 300
# 数据加密
encryption:
enabled: true
algorithm: "AES-256-GCM"
key_rotation_interval: 2592000 # 30天

备份策略#

#!/bin/bash
# backup.sh - 生产环境备份脚本
BACKUP_DIR="/backups/openclaw"
DATE=$(date +%Y%m%d_%H%M%S)
# 创建备份目录
mkdir -p $BACKUP_DIR/$DATE
# 备份数据库
echo "备份数据库..."
docker exec openclaw-postgres pg_dump -U openclaw openclaw | gzip > $BACKUP_DIR/$DATE/database.sql.gz
# 备份 Redis
echo "备份 Redis..."
docker exec openclaw-redis redis-cli --rdb /data/backup.rdb
docker cp openclaw-redis:/data/backup.rdb $BACKUP_DIR/$DATE/redis.rdb
# 备份配置文件
echo "备份配置文件..."
tar -czf $BACKUP_DIR/$DATE/config.tar.gz config/
# 备份日志
echo "备份日志..."
tar -czf $BACKUP_DIR/$DATE/logs.tar.gz logs/
# 清理旧备份 (保留最近7天)
echo "清理旧备份..."
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} \;
# 上传到云存储 (可选)
# aws s3 sync $BACKUP_DIR/$DATE s3://your-backup-bucket/openclaw/$DATE
echo "备份完成: $BACKUP_DIR/$DATE"

🎯 总结#

通过本系列文章的学习,你已经全面掌握了 OpenClaw 小龙虾的部署、配置和实战应用:

  1. 快速部署: 掌握了 Docker Compose 一键部署方法
  2. 核心配置: 深入了解了配置文件的每个参数
  3. 实战应用: 学习了三个完整的实战案例
  4. 高级技巧: 掌握了插件开发和性能调优
  5. 最佳实践: 了解了生产环境的部署和维护
持续学习建议
  1. 定期关注 OpenClaw 社区的更新
  2. 参与开源项目贡献
  3. 分享自己的实践经验
  4. 持续优化和改进系统

🎉 恭喜你!现在你已经具备了使用 OpenClaw 小龙虾构建复杂 AI 应用的能力。开始你的 AI 创新之旅吧!


📚 更多资源:

大模型系列——OpenClaw 小龙虾实战技巧与高级应用
https://llmhello.com/posts/2025_11/openclaw-advanced/
作者
Happy Zhuang
发布于
2025-11-12
许可协议
CC BY-NC-SA 4.0