当前位置: 首页 > article >正文

OpenClaw开源贡献:为Qwen3.5-9B开发并提交新技能

OpenClaw开源贡献为Qwen3.5-9B开发并提交新技能1. 为什么选择为OpenClaw开发技能去年冬天当我第一次在本地部署OpenClaw并成功让它帮我自动整理桌面文件时那种机器替我干活的奇妙感让我彻底迷上了这个开源框架。但很快发现官方技能库虽然丰富却缺少一个能直接处理Markdown表格转Excel的功能——而这正是我每周写技术周报时的刚需。于是我决定自己动手开发这个技能并提交给社区。选择Qwen3.5-9B作为底层模型不仅因为其出色的代码理解能力在HumanEval评测中达到75.3%的pass1更因为它的128K长上下文窗口能完美处理复杂表格数据的连贯解析。整个开发过程历时三周期间踩过不少坑也收获了宝贵的开源协作经验。2. 开发前的环境准备2.1 基础工具链配置在开始编码前需要确保本地具备完整的开发环境。我的MacBook ProM1芯片16GB内存运行以下配置# 确认Node.js版本要求18 node -v # v20.12.2 npm -v # 10.5.0 # 安装OpenClaw开发套件 npm install -g openclaw/cli openclaw/devkit特别提醒如果使用Qwen3.5-9B本地部署版本需要提前在~/.openclaw/openclaw.json中配置模型端点。这是我的配置片段{ models: { providers: { qwen-local: { baseUrl: http://localhost:8080/v1, apiKey: null, api: openai-completions, models: [ { id: qwen3.5-9b, name: Qwen3.5-9B Local, contextWindow: 131072 } ] } } } }2.2 创建技能脚手架OpenClaw提供了标准的技能生成模板。执行以下命令初始化项目clawhub create md-table-converter \ --typeskill \ --modelqwen3.5-9b \ --descConvert markdown tables to Excel files这个命令会生成包含标准目录结构的项目md-table-converter/ ├── package.json ├── src/ │ ├── index.ts # 主逻辑 │ ├── schema.ts # 输入输出定义 │ └── tests/ # 测试用例 ├── docs/ │ └── README.md # 使用文档 └── clawhub.json # 技能元数据3. 核心功能开发实战3.1 定义技能交互协议在schema.ts中我们需要明确定义技能的输入输出结构。这是与Qwen3.5-9B模型交互的关键契约// 输入参数类型 export interface InputParams { markdown: string; // 原始Markdown文本 format?: xlsx|csv; // 输出格式默认xlsx includeHeader?: boolean;// 是否包含表头 } // 输出结果类型 export interface OutputResult { filePath: string; // 生成文件路径 tablesCount: number; // 解析出的表格数量 warnings: string[]; // 转换过程中的警告 }3.2 实现表格转换逻辑在index.ts中我们利用Qwen3.5-9B的多轮对话能力实现智能表格解析。核心代码如下async function convertTables( params: InputParams, context: SkillContext ): PromiseOutputResult { // 步骤1调用Qwen模型识别Markdown中的表格结构 const analysisPrompt 你是一个专业的Markdown解析器。请分析以下文本中的表格结构 \\\markdown ${params.markdown} \\\ 输出要求 1. 以JSON数组返回所有表格 2. 每个表格包含rows和columns字段 3. 标注每个单元格的数据类型; const modelResponse await context.models.qwen3.5-9b.chat({ messages: [{ role: user, content: analysisPrompt }], max_tokens: 8000 }); // 步骤2将模型输出转换为Excel文件 const tables JSON.parse(modelResponse.choices[0].message.content); const workbook new ExcelJS.Workbook(); tables.forEach((table, index) { const sheet workbook.addWorksheet(Table_${index 1}); table.rows.forEach(row { sheet.addRow(row); }); }); // 步骤3保存到临时文件 const outputPath path.join(os.tmpdir(), converted_${Date.now()}.xlsx); await workbook.xlsx.writeFile(outputPath); return { filePath: outputPath, tablesCount: tables.length, warnings: [] }; }开发过程中遇到的最大挑战是处理复杂表格的边界情况。比如当Markdown中包含合并单元格时最初的实现会导致数据错位。通过给Qwen3.5-9B添加特定的提示工程最终实现了95%以上的表格识别准确率请特别注意 - 识别表头分隔线如 |---|---| - 处理单元格内的竖线转义如 \| - 识别跨行/跨列合并的单元格语法4. 测试与质量保障4.1 编写单元测试OpenClaw社区要求所有技能必须包含覆盖率≥80%的测试用例。这是我的测试方案describe(MD Table Converter, () { it(should parse simple table, async () { const md | Name | Age | |------|-----| | Alice| 25 |; const result await convertTables({ markdown: md }, mockContext); expect(result.tablesCount).toBe(1); expect(fs.existsSync(result.filePath)).toBeTruthy(); }); it(should handle escaped pipes, async () { const md | Command | Description | |---------|-------------| | ls \| grep | Pipe example |; const result await convertTables({ markdown: md }, mockContext); expect(result.warnings).toHaveLength(0); }); });4.2 集成测试技巧为了验证与Qwen3.5-9B的实际交互效果需要编写集成测试。这里有个实用技巧——使用官方提供的测试沙盒# 启动测试环境 openclaw test --sandbox --modelqwen3.5-9b # 在沙盒中加载技能 load ./md-table-converter # 执行端到端测试 test --input-file./test_cases/complex_table.md5. 提交前的文档规范5.1 编写清晰的READMEOpenClaw社区对文档有严格标准这是我的README结构建议# Markdown表格转换技能 ## 功能描述 将Markdown格式的表格转换为Excel文件支持 - 多表格同时转换 - 自定义输出格式xlsx/csv - 表头控制 ## 快速开始 bash clawhub install md-table-converter使用示例const result await openclaw.skills.execute(md-table-converter, { markdown: |A|B|\n|-|-|\n|1|2| });模型要求需要Qwen3.5-9B及以上版本建议配置至少8GB显存### 5.2 版本控制策略 社区采用语义化版本控制每次提交需要明确版本类型 bash # 修复bug时 npm version patch # v1.0.1 → v1.0.2 # 新增向后兼容功能时 npm version minor # v1.0.2 → v1.1.0 # 重大变更时 npm version major # v1.1.0 → v2.0.06. 社区提交与审核流程6.1 创建Pull Request完整的贡献流程如下Fork官方仓库创建特性分支git checkout -b feat/md-table-converter提交代码后推送到个人仓库在ClawHub平台发起PR选择skill-submission模板6.2 通过CI验证社区CI会执行以下自动检查代码风格验证ESLint单元测试覆盖率≥80%依赖安全性扫描npm audit文档完整性检查6.3 人工审核要点根据我的经验审核者通常会重点关注技能安全性是否包含危险的文件操作权限模型兼容性是否明确声明支持的模型版本错误处理是否妥善处理各种边界情况性能优化对大表格是否有分块处理机制我的PR在第一次提交时就被指出没有正确处理超大表格超过100行。通过添加分块处理逻辑后最终通过审核// 添加分块处理 const CHUNK_SIZE 50; for (let i 0; i table.rows.length; i CHUNK_SIZE) { const chunk table.rows.slice(i, i CHUNK_SIZE); await processChunk(chunk); // 分批调用模型 }7. 维护与迭代建议技能合并后我持续收到用户反馈并迭代了三个版本。总结几点经验日志诊断在技能中添加详细日志帮助用户排查问题context.logger.debug(Processing table ${index} with ${rows.length} rows);配置扩展根据需求逐步增加配置项如添加单元格格式选项社区协作建立技能专属的讨论区收集用户场景案例现在这个技能每周平均被执行200次最让我自豪的是看到社区用户自发编写的使用教程——这正是开源协作的魅力所在。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关文章:

OpenClaw开源贡献:为Qwen3.5-9B开发并提交新技能

OpenClaw开源贡献:为Qwen3.5-9B开发并提交新技能 1. 为什么选择为OpenClaw开发技能? 去年冬天,当我第一次在本地部署OpenClaw并成功让它帮我自动整理桌面文件时,那种"机器替我干活"的奇妙感让我彻底迷上了这个开源框架…...

股票和估值到底是什么:估值的本质:是共识,是信心,是集体的幻觉; 股票的本质,是一张所有权凭证

股票和估值到底是什么?用一个苹果的故事讲透最核心的本质 股票到底是什么?估值又是什么?为什么一个不赚钱的公司能值1000亿?" 股市里90%的骗局,本质上都是在"估值"这两个字上做文章。 一、股票:不是筹码,是"苹果树的所有权" 先讲股票的原始…...

你用真金白银买股票,钱到底被谁赚走了? 所谓的“市值蒸发“,只是把那些本来就不存在的、基于预期的信用货币,给抹掉了而已

你用真金白银买股票,钱到底被谁赚走了? 目录 你用真金白银买股票,钱到底被谁赚走了? 一、先讲一个100万变100亿的完整故事 第一步:公司成立(第0年) 第二步:天使轮融资(第1年) 第三步:A轮融资(第2年) 第四步:B轮融资(第3年) 第五步:IPO上市(第4年) 第六步:…...

LangChain重构多Skill Agent系统:智能工具集成实战

LangChain*重构的完整多Skill Agent系统 目录 LangChain*重构的完整多Skill Agent系统 一、LangChain 版本优势 二、完整可运行代码 三、各部分作用解释 1. 工具定义(`@tool` 装饰器) 2. 提示词模板(`ChatPromptTemplate`) 3. Agent 创建与执行器 4. 工具内部调用 LLM(`s…...

基于File-Based App开发MVP项目交

Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的,以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成,将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...

企业应用落地:星图平台Qwen3-VL+飞书智能助手搭建

企业应用落地:星图平台Qwen3-VL飞书智能助手搭建 1. 项目概述与准备工作 在上一篇文章中,我们已经完成了Qwen3-VL:30B大模型在CSDN星图AI云平台的私有化部署。本文将带您完成整个项目的最后一步——通过Clawdbot将该多模态大模型接入飞书平台&#xff…...

Applicative Functor应用指南:mostly-adequate-guide-chinese中的瓶中之船与协调激励

Applicative Functor应用指南:mostly-adequate-guide-chinese中的瓶中之船与协调激励 【免费下载链接】mostly-adequate-guide-chinese 函数式编程指南中文版 项目地址: https://gitcode.com/gh_mirrors/mo/mostly-adequate-guide-chinese 在函数式编程的世界…...

Python如何进行数据平滑处理_使用Pandas滚动中位数计算

滚动中位数比均值更抗异常值,因其仅依赖排序后中间位置的值,单个极值不影响结果;而滚动均值易受噪声污染,适用于监控预处理、IoT清洗等场景,但性能较慢且对NaN敏感。滚动中位数为什么比均值更抗异常值因为中位数不依赖…...

SecGPT-14B环境部署:双4090显卡下tensor_parallel_size=2稳定运行配置

SecGPT-14B环境部署:双4090显卡下tensor_parallel_size2稳定运行配置 1. 环境准备与快速部署 在开始部署SecGPT-14B之前,我们需要确保硬件环境满足要求。本教程基于双NVIDIA RTX 4090显卡(24GB显存x2)配置,采用tenso…...

掌握CarouselLayoutManager水平与垂直布局:终极技巧

掌握CarouselLayoutManager水平与垂直布局:终极技巧 【免费下载链接】CarouselLayoutManager Android Carousel LayoutManager for RecyclerView 项目地址: https://gitcode.com/gh_mirrors/ca/CarouselLayoutManager CarouselLayoutManager是一款专为Androi…...

别再写ThreadPoolExecutor了!Java 25虚拟线程标准实践模板(含CompletableFuture-Virtual组合、Structured Concurrency异常统一处理)

第一章:Java 25虚拟线程演进全景与架构定位Java 25正式将虚拟线程(Virtual Threads)从预览特性转为标准特性,标志着JVM并发模型进入轻量级、高密度调度的新纪元。这一演进并非孤立功能升级,而是JDK在Project Loom多年迭…...

React Easy State 在 React Native 中的应用:跨平台状态管理解决方案

React Easy State 在 React Native 中的应用:跨平台状态管理解决方案 【免费下载链接】react-easy-state Simple React state management. Made with ❤️ and ES6 Proxies. 项目地址: https://gitcode.com/gh_mirrors/re/react-easy-state React Easy State…...

革命性字幕下载工具subliminal:10分钟快速上手自动获取多语言字幕

革命性字幕下载工具subliminal:10分钟快速上手自动获取多语言字幕 【免费下载链接】subliminal Subtitles, faster than your thoughts 项目地址: https://gitcode.com/gh_mirrors/su/subliminal 想要快速为你的电影、电视剧自动下载匹配的字幕吗&#xff1f…...

Norfair部署指南:从开发环境到生产环境的完整流程

Norfair部署指南:从开发环境到生产环境的完整流程 【免费下载链接】norfair Lightweight Python library for adding real-time multi-object tracking to any detector. 项目地址: https://gitcode.com/gh_mirrors/no/norfair Norfair是一款轻量级Python库&…...

双模型协作方案:OpenClaw同时调用Qwen3-32B与Whisper实现会议转录

双模型协作方案:OpenClaw同时调用Qwen3-32B与Whisper实现会议转录 1. 为什么需要双模型协作 去年参加技术沙龙时,我注意到一个有趣现象:现场速记员总是两人一组工作。一人负责快速记录发言内容,另一人同步整理关键要点。这种分工…...

Qwen1.8B模型数据库课程设计辅助:智能SQL生成与优化建议

Qwen1.8B模型数据库课程设计辅助:智能SQL生成与优化建议 每次数据库课程设计,是不是都让你有点头疼?面对一个空白的数据库设计文档,要从需求分析、概念设计一路做到物理实现,最后还要写出一堆正确又高效的SQL语句。这个…...

开源大模型研报工具:Pixel Epic与Llama-Research在专业度上的横向评测

开源大模型研报工具:Pixel Epic与Llama-Research在专业度上的横向评测 1. 评测背景与工具介绍 在金融分析、市场研究和学术写作领域,高质量的研究报告生成工具正变得越来越重要。本次评测将对比两款基于开源大模型的研报生成工具:Pixel Epi…...

OFA视觉蕴含模型应用场景:教育培训中图文理解能力评估工具

OFA视觉蕴含模型应用场景:教育培训中图文理解能力评估工具 1. 项目概述 在教育培训领域,图文理解能力是学生认知发展的重要组成部分。传统的评估方法往往依赖人工批改,效率低下且主观性强。基于阿里巴巴达摩院OFA模型的视觉蕴含推理系统&am…...

通义千问1.8B-Chat-GPTQ-Int4企业应用:电力巡检报告自动生成与缺陷分类辅助

通义千问1.8B-Chat-GPTQ-Int4企业应用:电力巡检报告自动生成与缺陷分类辅助 1. 引言:当AI遇见电力巡检 想象一下这个场景:电力巡检员小王,刚刚结束了一天的野外巡检工作。他拖着疲惫的身体回到办公室,面对的不是一杯…...

OpenClaw多语言支持:Qwen3-4B处理跨境文档翻译与格式转换

OpenClaw多语言支持:Qwen3-4B处理跨境文档翻译与格式转换 1. 为什么需要本地化多语言文档处理 上个月我收到一份日文技术手册,需要翻译成英文和韩文版本。尝试过主流云翻译平台后,发现三个痛点:一是敏感内容上传公有云有风险&am…...

墨语灵犀保姆级教程:Windows/Mac/Linux三端镜像部署与使用详解

墨语灵犀保姆级教程:Windows/Mac/Linux三端镜像部署与使用详解 1. 开篇引言:当古典美学遇见AI翻译 你是否曾经遇到过这样的场景:需要阅读外文文献,但机器翻译的结果生硬冰冷,完全失去了原文的韵味?或者需…...

mPLUG图文交互企业落地:医疗影像辅助说明、工业图纸问答系统实践

mPLUG图文交互企业落地:医疗影像辅助说明、工业图纸问答系统实践 1. 项目核心价值:让机器“看懂”图片并回答你的问题 想象一下,你是一位医生,面对一张复杂的X光片,需要快速判断病灶位置和特征;或者你是一…...

Qwen2.5-7B-Instruct镜像免配置:5分钟完成7B模型本地对话服务

Qwen2.5-7B-Instruct镜像免配置:5分钟完成7B模型本地对话服务 想体验7B大模型的强大推理能力,又担心复杂的部署流程和显存爆炸?今天,我们带来一个开箱即用的解决方案。基于阿里通义千问官方旗舰版Qwen2.5-7B-Instruct模型&#x…...

零基础入门YOLOv10:用官方镜像3步搞定工业缺陷识别

零基础入门YOLOv10:用官方镜像3步搞定工业缺陷识别 1. YOLOv10镜像快速上手 1.1 为什么选择YOLOv10官版镜像 YOLOv10官版镜像是一个开箱即用的深度学习环境,特别适合想要快速上手目标检测的新手开发者。这个镜像已经预装了所有必要的软件和依赖项&…...

FireRedASR-AED-L在智能家居中的语音控制应用

FireRedASR-AED-L在智能家居中的语音控制应用 1. 智能家居语音控制的痛点与需求 现在很多家庭都装了智能设备,从灯光、空调到电视、窗帘,都能联网控制。但用手机APP或者遥控器操作,有时候真的不太方便。特别是手里拿着东西,或者…...

Phi-4-mini-reasoning vLLM分布式部署:多GPU张量并行推理配置详解

Phi-4-mini-reasoning vLLM分布式部署:多GPU张量并行推理配置详解 1. 模型简介 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族的一员,它经过专门微调以提升数学推…...

VideoAgentTrek Screen Filter安全加固:防范对抗性攻击与模型鲁棒性提升

VideoAgentTrek Screen Filter安全加固:防范对抗性攻击与模型鲁棒性提升 最近在部署视频内容过滤系统时,我遇到了一个挺有意思的问题。一个原本运行稳定的VideoAgentTrek Screen Filter模型,在处理某些经过特殊处理的视频片段时,…...

LumiPixel Canvas Quest光影魔法:不同光照条件下的人像生成效果

LumiPixel Canvas Quest光影魔法:不同光照条件下的人像生成效果 1. 光影的魅力:用光绘画的艺术 摄影圈有句老话:"摄影是用光的艺术"。这句话在AI生成领域同样适用。LumiPixel Canvas Quest通过精准的光照控制,让创作者…...

深度学习项目训练环境生产环境:支持持续训练、断点续训、多卡DDP扩展

深度学习项目训练环境生产环境:支持持续训练、断点续训、多卡DDP扩展 1. 环境概览与核心优势 深度学习项目训练环境是专门为机器学习开发者打造的一站式解决方案。这个环境基于深度学习项目改进与实战专栏精心配置,预装了完整的开发套件,让…...

Gemma-3-12b-it开源大模型教程:Transformers + PIL + Gradio全栈整合

Gemma-3-12b-it开源大模型教程:Transformers PIL Gradio全栈整合 1. 项目概述 Gemma-3-12b-it是一个基于Google最新开源大模型的多模态交互工具,专为本地化部署设计。这个工具将强大的12B参数大模型与直观的用户界面相结合,让开发者能够轻…...