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

OpenClaw Skill 编写规范 与示例

OpenClaw Skill 编写规范 与示例完整的 Skill 开发指南从基础结构到高级实践 一、目录结构标准结构~/.openclaw/workspace/skills/skill-name/ ├── SKILL.md # 必需技能定义文件 ├── scripts/ # 可选执行脚本 │ ├── main.py │ └── helper.sh ├── references/ # 可选参考文档 │ └── api_examples.md ├── assets/ # 可选静态资源 │ └── config_template.json └── README.md # 可选使用说明最小结构~/.openclaw/workspace/skills/skill-name/ └── SKILL.md # 唯一必需文件 二、SKILL.md 标准格式完整模板--- name: skill-name description: 一句话描述说明触发场景和功能 homepage: https://... # 可选项目主页 metadata: { openclaw: { emoji: emoji, os: [darwin, linux], # 可选支持的系统 requires: { bins: [curl, python3], # 必需的二进制 anyBins: [node, bun], # 任一存在即可 env: [API_KEY], # 必需的环境变量 config: [feature.enabled] # 必需的配置项 }, primaryEnv: API_KEY, # 主环境变量用于 apiKey 配置 skillKey: custom-key, # 可选自定义配置键 install: [ # 可选安装说明 { id: brew, kind: brew, formula: package-name, bins: [binary-name], label: Install Package (brew) }, { id: node, kind: node, package: scope/package, bins: [binary-name], label: Install Package (npm) } ] } } --- # Skill Name - 技能标题 简短介绍1-2 句话。 ## 使用场景 ✅ **USE when:** - 用户询问/请求 X - 需要执行 Y 操作 - 场景 Z ❌ **DONT use when:** - 情况 A用其他技能 - 情况 B超出范围 ## 快速开始 bash # 基本用法 command args # 进阶用法 command args --flag详细用法功能 1说明 示例命令。功能 2说明 示例命令。配置选项{option1:value,option2:123}参数说明默认值option1说明default错误处理错误处理方式API 失败重试 3 次使用缓存认证失败提示用户配置 API Key安全注意⚠️ 风险提示、限制条件、合规说明等。相关文件scripts/xxx.py- 说明references/yyy.md- 说明依赖安装# 安装依赖pipinstall...# 或npminstall...--- ## ️ 三、Frontmatter 字段详解 ### 必需字段 | 字段 | 类型 | 说明 | 示例 | |------|------|------|------| | name | string | 技能唯一标识小写下划线分隔 | stock_analyzer | | description | string | 触发场景 功能描述 | 股票分析。Use when user asks for stock... | ### metadata.openclaw 字段 | 字段 | 类型 | 必需 | 说明 | |------|------|------|------| | emoji | string | 推荐 | Skills UI 显示的 emoji | | os | string[] | 可选 | 支持的系统darwin/linux/win32 | | requires.bins | string[] | 可选 | 所有必需的二进制文件 | | requires.anyBins | string[] | 可选 | 任一存在即可的二进制 | | requires.env | string[] | 可选 | 必需的环境变量 | | requires.config | string[] | 可选 | 必需的 openclaw.json 配置路径 | | primaryEnv | string | 可选 | 主环境变量用于 apiKey 配置 | | skillKey | string | 可选 | 自定义配置键默认用 name | | install | object[] | 可选 | 安装程序定义 | ### 安装器格式 json { id: brew, // 安装器 ID kind: brew, // brew | node | go | uv | download formula: package-name, // kindbrew 时必需 package: scope/pkg, // kindnode 时必需 bins: [binary-name], // 安装后提供的二进制 label: Install (brew), // UI 显示文本 os: [darwin] // 可选仅限某些系统 } 四、技能类型判断判断流程图读 SKILL.md ↓ 有 metadata.requires 吗 ├─ 有 → 需要外部工具 │ ├─ bins: [curl] → 系统工具技能 │ ├─ bins: [oracle] → 外部 CLI 技能 │ └─ 调用 mcporter → MCP 工具技能 │ └─ 没有 → 纯文本技能 └─ 用 exec/web_fetch 等基础工具实现类型对比表类型特征例子调用方式系统工具requires.bins: [curl]weatherexec运行系统命令外部 CLIrequires.bins: [oracle] installoracle, himalayaexec运行 CLIMCP 工具调用mcporter callmcporterMCP 协议调用纯文本无 metadata.requires自定义业务逻辑exec/web_fetch组合 五、混合技能编写场景静态文本 HTTP MCP--- name: hybrid_skill description: 混合数据源技能 metadata: { openclaw: { requires: { bins: [curl, python3, mcporter], env: [API_KEY], config: [mcp.enabled] } } } --- # Hybrid Skill ## 数据源总览 | 类型 | 来源 | 调用方式 | |------|------|---------| | 静态文本 | 本技能文档 | 直接阅读 | | HTTP API | 公开 API | curl / python | | MCP 服务 | MCP 服务器 | mcporter call | ## 调用流程 1. **静态文本**读取配置规则 2. **HTTP 请求**抓取数据 bash curl https://api.example.com/dataMCP 服务获取实时数据mcporter call server.tool arg:value降级方案错误降级方式MCP 不可用降级到 HTTP APIHTTP 失败使用缓存数据--- ## 六、安全规范 ### 环境变量 json // ~/.openclaw/openclaw.json { skills: { entries: { my-skill: { enabled: true, apiKey: { source: env, provider: default, id: MY_API_KEY }, env: { MY_API_KEY: sk-xxx // 或用 SecretRef } } } } }安全清单✅ 不在 SKILL.md 中硬编码密钥✅ 敏感操作前要求用户确认✅ 外部输入需要验证/转义✅ 使用trash而非rm可恢复✅ 沙箱环境运行不受信代码 七、测试流程1. 创建技能mkdir-p~/.openclaw/workspace/skills/my-skill# 创建 SKILL.md2. 刷新技能# 方式 1重启 Gatewayopenclaw gateway restart# 方式 2等待自动刷新watcher 默认启用3. 测试技能# 测试触发openclaw agent--message使用 my-skill 做 XXX# 或直接在聊天中测试4. 调试# 查看技能加载状态openclaw skills list# 查看技能详情openclaw skills show my-skill 八、最佳实践命名规范✅snake_casestock_analyzer✅ 小写字母 下划线❌ 不要大写字母❌ 不要用空格或特殊字符描述写法# ✅ 好包含触发场景 description: 股票分析。Use when user asks for stock recommendations, financial news... # ❌ 差太模糊 description: 分析股票指令清晰# ✅ 好具体明确 使用 curl 调用 wttr.in API格式curl wttr.in/{city}?format3 # ❌ 差模糊 获取天气数据错误处理## 错误处理 | 错误 | 处理方式 | |------|---------| | HTTP 429 | 等待 60 秒后重试 | | HTTP 401 | 提示用户检查 API Key | | 超时 | 使用缓存数据如果有 |文档结构使用场景USE/DON’T USE快速开始最常用命令详细用法分功能配置选项错误处理安全注意相关文件 九、配置参考openclaw.json 完整示例{ skills: { // 仅允许列表中的 bundled skills allowBundled: [gemini, peekaboo], // 加载配置 load: { extraDirs: [~/Projects/my-skills], // 额外技能目录 watch: true, // 自动刷新 watchDebounceMs: 250 }, // 安装配置 install: { preferBrew: true, // 优先 brew nodeManager: npm // npm | pnpm | yarn | bun }, // 单个技能配置 entries: { my-skill: { enabled: true, apiKey: sk-xxx, // 或 SecretRef 对象 env: { MY_API_KEY: xxx }, config: { custom_option: value } }, another-skill: { enabled: false // 禁用 } } } } 十、参考资源官方文档Creating SkillsSkills ConfigClawHub - 技能市场示例技能# 系统自带技能ls/opt/homebrew/lib/node_modules/openclaw/skills/# 用户技能ls~/.openclaw/skills/# 工作区技能ls~/.openclaw/workspace/skills/优先级工作区技能 (最高) → ~/.openclaw/skills → bundled skills (最低) 十一、快速模板最简技能--- name: hello description: 打招呼技能。Use when user says hello or asks for a greeting. --- # Hello Skill 当用户打招呼时回复友好的问候语。 bash echo Hello! How can I help you today?### 完整技能 复制上面的 [完整模板](#完整模板) 开始编写。 --- --- ## 十二、完整案例天气活动规划师 这是一个**综合型技能**根据天气情况推荐去哪里玩、适合做什么活动。 ### 技能特点 - ✅ 使用 HTTP API 获取天气数据 - ✅ 静态文本定义活动规则什么天气适合什么活动 - ✅ 决策逻辑天气 → 活动推荐 - ✅ 多城市支持 - ✅ 降级方案API 失败时的处理 --- ### 目录结构~/.openclaw/workspace/skills/weather-activity-planner/├── SKILL.md├── scripts/│ └── fetch_weather.py├── references/│ └── activity_rules.md└── assets/└── cities.json--- ### SKILL.md 完整示例 markdown --- name: weather_activity_planner description: 根据天气推荐活动。Use when user asks where to go or what to do based on weather. 输入城市输出活动建议。 homepage: https://wttr.in/:help metadata: { openclaw: { emoji: , requires: { bins: [curl, python3] }, install: [ { id: pip, kind: pip, package: requests, label: Install Python deps } ] } } --- # Weather Activity Planner - 天气活动规划师 根据实时天气情况推荐适合的活动和去处。 ## 使用场景 ✅ **USE when:** - 今天天气适合干什么 - 推荐个地方去玩 - 周末去哪里玩比较好 - 这个天气适合户外活动吗 ❌ **DONT use when:** - 需要精确到小时的预报用专业天气 App - 极端天气警报查看官方预警 ## 数据源 | 类型 | 来源 | 调用方式 | |------|------|---------| | **天气数据** | wttr.in API | curl wttr.in/{city}?formatj1 | | **活动规则** | 本技能文档静态文本 | 直接阅读 | | **城市列表** | assets/cities.json | 读取文件 | ## 天气 → 活动映射规则 ### 晴天 (Sunny/Clear) | 温度范围 | 推荐活动 | 推荐地点 | |----------|---------|---------| | 25°C | 游泳、海滩、水上乐园 | 海边、水上公园 | | 15-25°C | 徒步、骑行、野餐、露营 | 公园、山区、郊外 | | 5-15°C | 城市漫步、摄影、放风筝 | 市中心、广场、公园 | | 5°C | 晒太阳、温泉 | 温泉度假村、露天咖啡厅 | ### ☁️ 多云 (Cloudy) | 温度范围 | 推荐活动 | 推荐地点 | |----------|---------|---------| | 20°C | 徒步、骑行、观光 | 山区、景点 | | 10-20°C | 城市探索、骑行 | 市区、古镇 | | 10°C | 室内景点、咖啡厅 | 博物馆、书店 | ### ️ 雨天 (Rainy) | 雨量 | 推荐活动 | 推荐地点 | |------|---------|---------| | 小雨 | 室内活动、雨中漫步带伞 | 商场、室内景点 | | 中雨 | 纯室内活动 | 博物馆、电影院、室内游乐场 | | 大雨 | 宅家、线上活动 | 家、酒店 | ### ❄️ 雪天 (Snowy) | 雪量 | 推荐活动 | 推荐地点 | |------|---------|---------| | 小雪 | 赏雪、拍照、堆雪人 | 公园、山区 | | 中雪 | 滑雪、温泉 | 滑雪场、温泉度假村 | | 大雪 | 避免外出 | 室内 | ### ️ 极端温度 | 情况 | 建议 | |------|------| | 35°C | 避免户外活动选择室内空调场所 | | 0°C | 保暖为主选择室内或温泉 | ## 快速开始 ### 基本用法 bash # 获取天气JSON 格式 curl -s wttr.in/Beijing?formatj1 # 使用 Python 脚本推荐自动解析 python {baseDir}/scripts/fetch_weather.py --city Beijing完整流程用户问“北京今天适合干什么”# 1. 获取天气数据curl-swttr.in/Beijing?formatj1/tmp/weather.json# 2. 解析天气使用 Python 脚本python{baseDir}/scripts/fetch_weather.py--cityBeijing--output/tmp/result.json# 3. 根据天气匹配活动规则参考本文档的映射表# 输出推荐结果脚本用法fetch_weather.py# 基本用法python{baseDir}/scripts/fetch_weather.py--cityBeijing# 指定日期0今天1明天2后天python{baseDir}/scripts/fetch_weather.py--cityBeijing--day1# 输出详细结果python{baseDir}/scripts/fetch_weather.py--cityBeijing--verbose# 保存结果python{baseDir}/scripts/fetch_weather.py--cityBeijing--outputresult.json参数说明参数说明默认值--city城市名英文或拼音必需--day日期0-20今天--output输出文件stdout--verbose详细输出false输出示例输入用户上海今天适合干什么输出 上海天气概览 ━━━━━━━━━━━━━━━━━━━━ ️ 天气多云 ️ 温度18°C (体感 17°C) 风力3 级 东北风 湿度65% ️ 降水概率10% ━━━━━━━━━━━━━━━━━━━━ 推荐活动 ━━━━━━━━━━━━━━━━━━━━ ✅ 最佳推荐城市探索、骑行 推荐地点 • 外滩城市漫步 • 法租界骑行 • 田子坊拍照 活动建议 • 温度适宜适合户外活动 • 多云天气拍照光线柔和 • 建议带薄外套早晚较凉 ⚠️ 注意事项 • 降水概率低无需带伞 • 风力适中不影响活动配置选项在assets/cities.json中配置热门城市{cities:[{name:北京,en:Beijing,region:华北},{name:上海,en:Shanghai,region:华东},{name:广州,en:Guangzhou,region:华南}]}错误处理错误处理方式API 返回失败重试 3 次提示用户稍后再试城市名无效提示用户检查城市名建议用拼音无天气数据使用备用 API 或提示无法获取降级方案wttr.in API 失败 ↓ 尝试备用 API (Open-Meteo) ↓ 提示用户查看当地天气预报安全注意⚠️仅供参考- 实际出行前请查看最新天气预报⚠️极端天气- 暴雨、台风等请遵循官方指引⚠️个人差异- 老人、儿童、孕妇需额外注意相关文件scripts/fetch_weather.py- 天气获取脚本references/activity_rules.md- 详细活动规则assets/cities.json- 城市列表依赖安装# Python 依赖pipinstallrequests# 验证安装python-cimport requests; print(OK)扩展建议添加 MCP 服务可选如果有 MCP 本地生活服务可以整合# 调用 MCP 获取附近景点mcporter call local.get_attractions city:Beijingtype:outdoor# 调用 MCP 预订门票mcporter call local.book_ticket attraction:Great Walldate:2026-03-15添加用户偏好在配置中记录用户偏好{user_preferences:{prefer_outdoor:true,max_walking_distance:5km,budget:medium}}--- ### scripts/fetch_weather.py 示例 python #!/usr/bin/env python3 Weather Activity Planner - 天气获取脚本 根据天气数据推荐适合的活动 import requests import json import argparse from datetime import datetime # 天气 → 活动映射 ACTIVITY_MAP { sunny: { hot: {temp_min: 25, activities: [游泳, 海滩, 水上乐园], places: [海边, 水上公园]}, warm: {temp_min: 15, activities: [徒步, 骑行, 野餐, 露营], places: [公园, 山区, 郊外]}, cool: {temp_min: 5, activities: [城市漫步, 摄影, 放风筝], places: [市中心, 广场, 公园]}, cold: {temp_min: -999, activities: [晒太阳, 温泉], places: [温泉度假村, 露天咖啡厅]}, }, cloudy: { warm: {temp_min: 20, activities: [徒步, 骑行, 观光], places: [山区, 景点]}, cool: {temp_min: 10, activities: [城市探索, 骑行], places: [市区, 古镇]}, cold: {temp_min: -999, activities: [室内景点, 咖啡厅], places: [博物馆, 书店]}, }, rainy: { light: {activities: [室内活动, 雨中漫步], places: [商场, 室内景点]}, medium: {activities: [纯室内活动], places: [博物馆, 电影院, 室内游乐场]}, heavy: {activities: [宅家, 线上活动], places: [家, 酒店]}, }, } def get_weather(city, day0): 获取天气数据 url fhttps://wttr.in/{city}?formatj1 try: response requests.get(url, timeout10) response.raise_for_status() return response.json() except Exception as e: print(f❌ 获取天气失败{e}) return None def parse_weather(data, day0): 解析天气数据 if not data or current_condition not in data: return None current data[current_condition][0] forecast data[weather][day] if weather in data else None return { city: data.get(nearest_area, [{}])[0].get(areaName, [{}])[0].get(value, Unknown), condition: current.get(weatherDesc, [{}])[0].get(value, Unknown), condition_code: current.get(weatherCode, 0), temp_c: int(current.get(temp_C, 0)), feels_like: int(current.get(FeelsLikeC, 0)), humidity: current.get(humidity, 0), wind_speed: current.get(windspeedKmph, 0), wind_dir: current.get(winddir16Point, ), precip_prob: forecast.get(avgdailyChanceOfRain, 0) if forecast else 0, } def recommend_activity(weather): 根据天气推荐活动 condition weather[condition].lower() temp weather[temp_c] precip weather[precip_prob] # 判断天气类型 if rain in condition or precip 50: weather_type rainy if precip 70: rain_level heavy elif precip 30: rain_level medium else: rain_level light activities ACTIVITY_MAP.get(rainy, {}).get(rain_level, {}).get(activities, [室内活动]) places ACTIVITY_MAP.get(rainy, {}).get(rain_level, {}).get(places, [室内场所]) elif cloud in condition or overcast in condition: weather_type cloudy if temp 20: level warm elif temp 10: level cool else: level cold activities ACTIVITY_MAP.get(cloudy, {}).get(level, {}).get(activities, [室内活动]) places ACTIVITY_MAP.get(cloudy, {}).get(level, {}).get(places, [室内场所]) elif sun in condition or clear in condition: weather_type sunny if temp 25: level hot elif temp 15: level warm elif temp 5: level cool else: level cold activities ACTIVITY_MAP.get(sunny, {}).get(level, {}).get(activities, [室内活动]) places ACTIVITY_MAP.get(sunny, {}).get(level, {}).get(places, [室内场所]) else: activities [室内活动] places [室内场所] return { activities: activities, places: places, weather_type: weather_type, } def format_output(weather, recommendation): 格式化输出 output [] output.append(f {weather[city]}天气概览) output.append(━ * 40) output.append(f️ 天气{weather[condition]}) output.append(f️ 温度{weather[temp_c]}°C (体感 {weather[feels_like]}°C)) output.append(f 风力{weather[wind_speed]}km/h {weather[wind_dir]}) output.append(f 湿度{weather[humidity]}%) output.append(f️ 降水概率{weather[precip_prob]}%) output.append() output.append(━ * 40) output.append( 推荐活动) output.append(━ * 40) output.append() output.append(f✅ 最佳推荐{、.join(recommendation[activities])}) output.append() output.append( 推荐地点) for place in recommendation[places]: output.append(f • {place}) output.append() output.append( 活动建议) if weather[temp_c] 25: output.append( • 温度较高注意防晒补水) elif weather[temp_c] 10: output.append( • 温度较低注意保暖) else: output.append( • 温度适宜适合户外活动) if weather[precip_prob] 50: output.append( • 降水概率高建议带伞) else: output.append( • 降水概率低无需带伞) output.append() output.append(⚠️ 注意事项) output.append( • 仅供参考出行前请查看最新预报) output.append( • 极端天气请遵循官方指引) return \n.join(output) def main(): parser argparse.ArgumentParser(descriptionWeather Activity Planner) parser.add_argument(--city, requiredTrue, help城市名英文或拼音) parser.add_argument(--day, typeint, default0, help日期0今天1明天2后天) parser.add_argument(--output, help输出文件路径) parser.add_argument(--verbose, actionstore_true, help详细输出) args parser.parse_args() # 获取天气 if args.verbose: print(f 正在获取 {args.city} 的天气数据...) weather_data get_weather(args.city, args.day) if not weather_data: print(❌ 无法获取天气数据请稍后再试) return # 解析天气 weather parse_weather(weather_data, args.day) if not weather: print(❌ 无法解析天气数据) return if args.verbose: print(f✅ 天气数据获取成功) # 推荐活动 recommendation recommend_activity(weather) # 格式化输出 output format_output(weather, recommendation) # 输出结果 if args.output: with open(args.output, w, encodingutf-8) as f: f.write(output) print(f✅ 结果已保存到 {args.output}) else: print(output) if __name__ __main__: main()使用示例# 基本用法python{baseDir}/scripts/fetch_weather.py--cityBeijing# 明天天气python{baseDir}/scripts/fetch_weather.py--cityShanghai--day1# 保存结果python{baseDir}/scripts/fetch_weather.py--cityGuangzhou--outputresult.json# 详细模式python{baseDir}/scripts/fetch_weather.py--cityShenzhen--verbose这个案例展示了技能要素实现方式静态文本天气→活动映射规则表HTTP 请求curl wttr.in/{city}?formatj1本地脚本fetch_weather.py处理逻辑决策逻辑根据天气条件匹配活动降级方案API 失败→备用 API→提示用户配置选项cities.json城市列表错误处理超时、无效城市、无数据

相关文章:

OpenClaw Skill 编写规范 与示例

OpenClaw Skill 编写规范 与示例 完整的 Skill 开发指南&#xff0c;从基础结构到高级实践 &#x1f4c1; 一、目录结构 标准结构 ~/.openclaw/workspace/skills/<skill-name>/ ├── SKILL.md # 必需&#xff1a;技能定义文件 ├── scripts/ …...

【前沿解析】2026年3月12日:AWE 2026开启AI家电规模化落地革命,CATS Net概念抽象与对角蒸馏技术重塑智能未来

摘要:2026年3月12日,全球三大家电展之一的AWE(中国家电及消费电子博览会)在上海盛大开幕,标志着AI家电从"尝鲜"到"刚需"的关键转折。本文深入解析AWE 2026展出的AI前沿技术,涵盖全屋智能生态、AI智能体落地应用,并结合同期发布的两大突破性研究——…...

开源剪映小助手(capcut-mate)v3.0.26发布

项目简介 CapCut Mate API 是一款完全开源免费、基于 FastAPI构建的剪映草稿自动化助手&#xff0c;支持独立部署。本项目专注于为大模型赋能基础视频编辑能力&#xff0c;提供开箱即用的视频剪辑 Skills&#xff0c;已将剪映核心功能全流程自动化。可直接对接大模型实现多样化…...

Qt Small Business 的版权雷区

最近很多人刷到&#xff1a; “Qt 小微企业计划&#xff0c;年收入 ≤ 100 万欧元&#xff08;约 793 万人民币&#xff09;&#xff0c;最多 3 个开发者&#xff0c;就能享受官方折扣授权&#xff01;” 听起来是不是很香&#xff1f;正版授权 跨平台开发 便宜&#xff01; …...

训练环境决定 AI Agent 天花板:Harness 如何塑造 RL 训练循环

最近 Cursor 发布 Composer 1.5 的消息刷屏了。他们的 RL 训练规模直接扩大了 20 倍&#xff0c;后训练计算量甚至超过了预训练阶段。更关键的是&#xff0c;所有训练都发生在和生产环境完全一致的沙箱里——同样的代码编辑器、同样的语义搜索、同样的终端命令。 这让我突然意识…...

Maxwell Optislang的谐响应与多物理场计算在永磁电机多目标优化参数化建模及电磁振...

maxwell &#xff0c;optislang 谐响应&#xff0c;&#xff0c;多物理场计算永磁电机多目标优化参数化建模电磁振动噪声仿真永磁电机的多物理场优化就像在玩一场精密的多维拼图游戏。当电磁性能、振动噪声和热特性这几个看似矛盾的指标需要同时满足时&#xff0c;传统单学科优…...

焊接机器人破局船舶制造难题

​​在船舶制造领域&#xff0c;大型复杂船体因尺寸大、结构复杂、空间狭小等特点&#xff0c;传统手工焊接质量波动大、一致性差&#xff0c;成为制约行业升级的关键瓶颈。如今&#xff0c;洲翔龙门和悬臂式焊接机器人凭借"手、眼、脑"协同的智能系统&#xff0c;正…...

AIGC时代下SEO的变革:从关键词堆砌到智能内容生成

引言&#xff1a;当SEO遇见AIGC&#xff0c;是颠覆还是赋能&#xff1f; 搜索引擎优化&#xff08;SEO&#xff09;领域正经历着一场由人工智能生成内容&#xff08;AIGC&#xff09;驱动的深刻变革。从早期的关键词堆砌到如今的内容为王&#xff0c;SEO的核心始终围绕着“理解…...

MySQL国产化替代:数据类型适配与迁移成本优化实战

很多企业做数据库国产化替代时&#xff0c;最核心的焦虑莫过于&#xff1a;“用了这么多年MySQL&#xff0c;换国产库是不是要重写所有SQL&#xff1f;改表结构&#xff1f;调应用代码&#xff1f;停机好几天&#xff1f;” 其实答案可以很简单&#xff1a;只要选对具备深度MyS…...

土壤热通量变送器怎么选?优质厂商推荐及选型指南来了!

在生态环境监测、岩土工程建设、气象研究及农业精细化发展的当下&#xff0c;土壤热通量作为反映土壤能量平衡、热传导特性的核心指标&#xff0c;其精准监测对科研探索、工程安全与生产优化具有重要意义。土壤热通量变送器作为捕捉这一指标的关键设备&#xff0c;其测量精度、…...

YOLOv12全网首发:CVPR2026 Transformer注意力 | BinaryAttention 1-bit注意力,推理提速100%,超越FlashAttention2

💡💡💡问题点:Transformer 已取得广泛而显著的成功,但其注意力模块的计算复杂性仍然是视觉任务的主要瓶颈。现有方法主要采用 8-bit 或 4-bit 量化来平衡效率与精度 💡💡💡措施:我们通过理论论证指出,注意力的二值化保留了基本的相似性关系,并提出了 BinaryAt…...

智能安防感知方案:从被动响应到主动关怀 | Smart Security Sensing Solutions: From Passive Response to Active Care

引言&#xff1a;安防感知的演进与核心痛点 | Introduction: The Evolution and Core Challenges of Security Sensing传统的安防系统&#xff0c;如摄像头和门窗传感器&#xff0c;主要扮演“事后记录”或“边界报警”的角色。它们往往在事件发生后才发出警报&#xff0c;缺乏…...

910b A100 GPU - IDC行业服务器托管与租用

现在IDC圈里聊到高性能计算&#xff0c;昇腾910b和NVIDIA A100这两款GPU绝对是绕不开的话题。特别是随着大模型训练、科学计算这类业务越来越普及&#xff0c;企业对高性能算力的需求已经不再是“有就行”&#xff0c;而是要求稳定、高效、可扩展。 先说说A100&#xff0c;这是…...

PTA 串的算法设计 4 求某链串的子串算法

作者 张鏖烽单位 湖南工程学院设计一个算法求链串s的子串&#xff1a;Sub_LinkStr(LinkString *s,int i, int j);函数接口定义&#xff1a;LinkString * Sub_LinkStr(LinkString *s,int i, int j);//求链串s的子串&#xff0c;子串存在则输出子串&#xff0c;否则输出空串其中i…...

如何执行Install-Package

pwoershell执行[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12Get-PackageProvider -ListAvailableInstall-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -ForceInstall-Packa…...

模块化编程下的FOC工程源码解析:获取ABZ编码器初始电角度差的方法及其在工业量产中的应用

编码器foc工程源码 编码器为1000线ABZ编码器 源码中含有foc初始电角度差的获取方法 模块化编程 非常适合工业量产和移植最近在搞一个FOC&#xff08;Field Oriented Control&#xff0c;磁场定向控制&#xff09;项目&#xff0c;用的是1000线的ABZ编码器。这个编码器精度高&…...

智能楼道灯控制器(有完整资料)

资料查找方式&#xff1a;特纳斯电子&#xff08;电子校园网&#xff09;&#xff1a;搜索下面编号即可编号&#xff1a;HJJ-32-2022-020设计简介&#xff1a;本设计是基于单片机的智能楼道灯控制器&#xff0c;主要实现以下功能&#xff1a;1.能通过蓝牙远程控制led照明灯&…...

英伟达“龙虾”乐园开张在即:硅谷现场装配AI助手引燃AI热潮!

本周&#xff0c;全球AI算力巨头英伟达&#xff08;NVIDIA&#xff09;将在加州圣何塞掀起一场别开生面的科技盛宴——英伟达年度旗舰盛会GTC&#xff08;GPU技术大会&#xff09;即将开幕&#xff0c;而今年的GTC则被业界戏称为“龙虾大会”。据36氪独家报道&#xff0c;除了发…...

AI面试系统选型指南:为什么企业级安全是不可妥协的底线

AI面试系统正在成为现代招聘流程中不可缺少的组成部分。它不仅能够显著压缩面试周期、降低HR的重复性工作负担&#xff0c;更重要的是&#xff0c;通过标准化的评估框架&#xff0c;有效减少人为偏见对招聘决策的影响。然而&#xff0c;当越来越多的企业开始将AI面试纳入正式招…...

电商品牌数字化获客工具排行榜适配精准需求

电商品牌数字化获客工具排行榜适配精准需求一、行业背景与排行依据据《2026中小企业数字化获客白皮书》数据显示&#xff0c;当前国内83%的电商品牌面临获客成本攀升、用户精准度不足的问题&#xff0c;人工运营效率仅为自动化工具的17%&#xff0c;数字化获客已成为企业增长的…...

esp网络时钟

配件ESP32 30P CP2102 Type-C 开发板 0.96寸 OLED 屏幕 (I2C接口) 接线#四针oled接线 SDA -> ESP32 的 G21 SCL -> ESP32 的 G22 VCC -> ESP32 的 3V3 GND -> ESP32 的 GNDIDE&#xff1a;Arduino IDE安装U8g2lib字体库#include <WiFi.h> #include <U8g2l…...

2026年期货量化软件多品种支持排名_全市场覆盖对比

免责声明&#xff1a;本文基于个人使用体验&#xff0c;与任何厂商无商业关系。内容仅供技术交流参考&#xff0c;不构成投资建议。 一、前言 期货量化策略往往需要覆盖多个品种、多周期。不同期货量化软件在品种覆盖、周期支持、多合约并发等方面差异明显。做了多年期货量化&…...

Pixelium Design 更新:首版表格上线,完善表单、导航、反馈及视觉组件

前言 最近在维护我的像素风组件库 Pixelium Design&#xff0c;它迎来了一波不小的更新。 这次更新不仅带来了功能完善的像素风表格组件&#xff0c;还新增了不少输入组件、导航组件和反馈组件&#xff0c;补全了基础能力。此外&#xff0c;这次的改动&#xff0c;还带来了一…...

招聘系统如何扛住“校招/大促”流量峰值?——高并发下不宕机,保障万人级招聘季稳定

博主介绍&#xff1a; 所有项目都配有从入门到精通的安装教程&#xff0c;可二开&#xff0c;提供核心代码讲解&#xff0c;项目指导。 项目配有对应开发文档、解析等 项目都录了发布和功能操作演示视频&#xff1b;项目的界面和功能都可以定制&#xff0c;包安装运行&#xff…...

期货程序化交易日志分析_问题定位与优化

免责声明&#xff1a;本文基于个人使用体验&#xff0c;与任何厂商无商业关系。内容仅供技术交流参考&#xff0c;不构成投资建议。 一、前言 程序化交易运行中会产生大量日志&#xff0c;合理的日志设计和分析能快速定位问题、优化策略。做了二十年期货交易&#xff0c;我积累…...

【ASP.NET CORE】 8. 集成 JWT 认证授权

本系列专栏基于杨中科老师的《ASP.NET Core技术内幕与项目 实战》&#xff0c;本人记录梳理的学习笔记&#xff0c;有部分的增补和省略。更全面系统的讲解&#xff0c;请看杨老师的视频课&#xff1a;【.NET教程&#xff0c;.Net Core视频教程&#xff0c;杨中科主讲】。 一、…...

关于QT修改了UI文件重新运行界面却没变化的问题

目录 1. 核心原因&#xff1a;uic 没有重新编译 2. 影子构建 问题 3. CMake 或 qmake 项目文件配置问题 4. Qt Designer 保存路径错误 5. 极端情况&#xff1a;C 缓存/旧对象 6. 检查运行路径 如果以上你都排除了&#xff0c;还有一个问题&#xff0c;也是我遇到的问题&a…...

DBA 经验:MySQL性能最重要的参数只有2个!

在日常的MySQL性能优化工作中&#xff0c;面对几百个配置参数&#xff0c;常常让人眼花缭乱。但经过多年的实战经验&#xff0c;我发现真正起决定性作用的参数其实只有两个。今天&#xff0c;我就把这压箱底的经验分享给大家——调好这两个参数&#xff0c;你的MySQL性能就成功…...

关于电脑开机输入密码后只显示鼠标问题

前景&#xff1a;网上遇到提到的在资源管理器处重启explorer.exe进程无反应&#xff0c;但是注意到昨天晚上关机前有window系统更新提醒&#xff0c;那时没有理会就直接关机了&#xff0c;结果第二天就出现了现在的问题。解决办法&#xff1a;在输入密码处点击“重启并更新”即…...

2026美妆行业自动图文发布工具推荐指南

2026美妆行业自动图文发布工具推荐指南行业背景与推荐依据据《2025年美妆行业数字化营销白皮书》显示&#xff0c;美妆行业线上营销投入占比已达68%&#xff0c;其中小红书、抖音两大平台的内容营销贡献了超过70%的线上获客量。随着内容营销的深化&#xff0c;美妆品牌普遍面临…...