OpenClaw开源贡献指南:千问3.5-35B-A3B-FP8生态技能开发

张开发
2026/4/11 21:13:46 15 分钟阅读

分享文章

OpenClaw开源贡献指南:千问3.5-35B-A3B-FP8生态技能开发
OpenClaw开源贡献指南千问3.5-35B-A3B-FP8生态技能开发1. 为什么我们需要你的贡献去年冬天我在尝试用OpenClaw自动整理相册时发现现有的图片分类技能完全无法理解孩子成长照片里的情感元素。那一刻我突然意识到真正的智能助手应该像人类一样理解多模态信息。这正是我们邀请开发者共同丰富千问3.5-35B-A3B-FP8技能生态的初衷。这个支持视觉理解的模型让OpenClaw第一次具备了看的能力。但要让这种能力真正落地需要社区共建这些典型场景相册自动归类识别场景/人物/情绪设计稿合规检查对比品牌规范论文图表解析提取数据趋势教学材料生成图文混排输出2. 开发环境准备要点2.1 模型部署避坑指南在本地测试时我强烈推荐使用星图平台的预置镜像。自己从零部署这个35B参数的模型时我踩过三个坑显存不足FP8量化版需要至少24GB显存我的RTX 3090跑满才勉强够用依赖冲突手动安装时opencv-python与系统库版本不兼容API协议混淆模型服务需同时兼容OpenAI和原生Qwen两种调用方式使用平台镜像只需两行命令docker pull registry.cn-hangzhou.aliyuncs.com/qingchen/qwen3.5-35b-a3b-fp8:latest docker run -p 8900:8900 -v /path/to/models:/app/models registry.cn-hangzhou.aliyuncs.com/qingchen/qwen3.5-35b-a3b-fp82.2 OpenClaw连接配置在~/.openclaw/openclaw.json中添加自定义模型时这几个参数最容易出错{ models: { providers: { qwen-multimodal: { baseUrl: http://localhost:8900/v1, // 注意/v1后缀 apiKey: EMPTY, // 本地部署留空 api: openai-completions, models: [ { id: qwen3.5-35b-a3b-fp8, name: Qwen Multimodal, capabilities: [vision] // 必须声明视觉能力 } ] } } } }验证连接时建议用这个测试命令openclaw models test qwen3.5-35b-a3b-fp8 --sample vision3. 技能开发规范详解3.1 项目结构黄金法则经过6个技能项目的迭代我总结出这个最优目录结构my-skill/ ├── README.md # 中英双语说明 ├── skill.json # 能力声明文件 ├── src/ │ ├── index.js # 主逻辑入口 │ ├── utils/ # 工具函数 │ └── tests/ # 单元测试 ├── examples/ # 使用示例 │ ├── basic.md │ └── advanced.py └── assets/ # 静态资源 ├── demo.gif └── icon.png其中skill.json必须包含这些关键字段{ name: photo-organizer, version: 0.1.0, description: 基于视觉理解的相册整理工具, author: yourname, capabilities: { multimodal: true, file_operations: [read, write] }, dependencies: { openclaw: ^0.8.2, exifreader: ^3.12.0 } }3.2 视觉技能开发技巧处理图片时最容易忽略的是元数据保留问题。这是我改进后的图片处理流程async function processImage(imagePath) { // 1. 保留原始EXIF信息 const metadata await getExif(imagePath); // 2. 调用多模态模型分析 const visionPrompt 分析这张图片包含\n- 主要对象\n- 场景类型\n- 情绪氛围; const analysis await openclaw.vision.analyze({ image: imagePath, prompt: visionPrompt }); // 3. 生成新文件名时保留关键元数据 const newName ${analysis.sceneType}_${metadata.createDate}.jpg; return { newName, metadata }; }4. 测试与文档的隐形门槛4.1 测试覆盖率实战方案对于视觉类技能单纯的单元测试不够。我的测试方案包含三个层次像素级比对测试使用pixelmatchtest(水印添加效果, async () { const output await addWatermark(testImage); const diff compareImages(output, expectedResult); assert(diff.pixelDiff 0.01); // 允许1%像素差异 });模型稳定性测试用同一图片连续请求10次检查结果一致性真实场景测试集准备20张涵盖不同场景的图片作为回归测试集4.2 文档撰写的艺术好的技能文档应该像菜谱一样清晰。这是我的文档模板## 快速开始 bash clawhub install photo-organizer使用示例场景整理2023年旅行照片from openclaw import skill organizer skill.load(photo-organizer) organizer.run(/photos/trip2023, output/sorted_photos)参数详解参数名类型必填说明--stylestr否整理风格: time/location/event常见问题Q: 为什么有些图片无法分类 A: 低光照/模糊图片可能识别失败建议先筛选...## 5. 提交PR的注意事项 上周我刚经历了一次PR被拒的教训总结出这些关键点 1. **分支管理**从最新的main分支切新分支命名格式为feat/技能名或fix/问题描述 2. **提交信息规范**feat(photo-organizer): 添加人像聚类功能新增face-recognition模块依赖实现基于人脸相似度的相册聚类添加测试用例20个Closes #1233. **代码审查重点** - 所有新增依赖需说明必要性 - 涉及文件操作的必须有安全校验 - 多模态技能必须包含视觉测试用例 --- **获取更多AI镜像** 想探索更多AI镜像和应用场景访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_sourcemirror_search_hot_keyword)提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章