最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenClaw Skill開發(fā)實戰(zhàn)指南:從入門到獨立發(fā)布

  發(fā)布時間:2026-03-26 11:47:52   作者:碼頭碼農(nóng)   我要評論
用OpenClaw也有一段時間了,不得不說這工具確實香,但時間一長,就發(fā)現(xiàn)官方自帶的那些Skill不太夠用了,后來就想,與其湊合用,不如自己寫一個,這一寫不要緊,發(fā)現(xiàn)這里門道還挺多,今天就把踩過的坑整理出來供大家參考

前言

用OpenClaw也有一段時間了,不得不說這工具確實香。但時間一長,就發(fā)現(xiàn)官方自帶的那些Skill不太夠用了。

比如我想讓它幫我查查股票,發(fā)現(xiàn)沒有。比如我想讓它讀飛書文檔,官方那個用起來總是差點意思。

后來就想,與其湊合用,不如自己寫一個。這一寫不要緊,發(fā)現(xiàn)這里門道還挺多。今天就把踩過的坑整理出來,供大家參考。

一、Skill到底是啥?

1.1 先搞清楚概念

OpenClaw里的Skill,本質上就是一個文件夾:

my-skill/
├── SKILL.md          // 必須有,這是核心
├── scripts/          // 可選,放腳本
└── resources/       // 可選,放資源文件

重點是SKILL.md——這玩意兒就是AI的說明書。AI能不能用好這個Skill,全看它寫得清不清楚。

1.2 工作流程

你發(fā)消息 → Agent判斷用哪個Skill → 讀取SKILL.md → 按說明執(zhí)行操作 → 返回結果

就這么個流程,沒啥神秘的。

1.3 加載優(yōu)先級

位置優(yōu)先級啥意思
/skills最高當前工作區(qū)專用
~/.openclaw/skills所有Agent都能用
內(nèi)置Skill最低官方自帶的

如果你在workspace里寫了個跟內(nèi)置同名的Skill,會直接覆蓋掉它。這個機制挺有用的,可以魔改官方Skill。

二、實戰(zhàn):寫一個股票查詢Skill

2.1 需求先說清楚

我就一個樸素的需求:

  • 能查A股、港股、美股
  • 顯示當前價格和漲跌幅
  • 免費,不想花冤枉錢

技術方案很簡單,用新浪財經(jīng)的免費接口就行。

2.2 動手建目錄

在終端執(zhí)行下面命令:

mkdir -p ~/.openclaw/workspace/skills/stock-query
cd ~/.openclaw/workspace/skills/stock-query

2.3 重點:寫好SKILL.md

這是最關鍵的一步,直接決定AI能不能正確使用這個Skill。文件內(nèi)容如下:

---
name: stock_query
description: 查詢A股、港股、美股實時行情
metadata: { "openclaw": { "emoji": "??", "requires": { "bins": ["curl"] } } }
---
# 股票行情查詢 Skill
## 什么時候用
用戶問股票價格、漲跌幅、行情的時候用。
## 能查什么
- A股:上證、深證、創(chuàng)業(yè)板,還有個股
- 港股:恒生指數(shù)、騰訊阿里這些
- 美股:蘋果特斯拉這些
## 怎么用
### 查A股
查詢上證指數(shù):
curl -s "https://hq.sinajs.cn/list=s_sh000001"
查詢茅臺:
curl -s "https://hq.sinajs.cn/list=s_sh600519"
### 查港股
查詢恒生指數(shù):
curl -s "https://hq.sinajs.cn/list=rt_hkHSI"
查詢騰訊:
curl -s "https://hq.sinajs.cn/list=rt_hk00700"
### 查美股
查詢蘋果:
curl -s "https://hq.sinajs.cn/list=n_aapl"
查詢特斯拉:
curl -s "https://hq.sinajs.cn/list=n_tsla"
## 代碼規(guī)則
| 市場 | 前綴怎么寫 | 例子 |
|------|------------|------|
| 上證 | s_sh | 600519 |
| 深證 | sz_ | 000001 |
| 港股 | rt_hk | 00700 |
| 美股 | n_ | aapl |
## 返回什么
接口返回的是原始數(shù)據(jù),自己解析一下。解析后給人看的內(nèi)容包括:
- 當前價格
- 漲跌多少錢
- 漲跌幅
- 最高最低
- 成交量
## 注意點
- 新浪接口有頻率限制,別瘋狂請求
- 美股數(shù)據(jù)可能有延遲
- 建議加個緩存,5分鐘內(nèi)不重復查

2.4 想更可控?加個自定義工具

如果覺得讓AI直接調bash不太安全,可以自己寫個Node.js工具。創(chuàng)建tools.js文件,內(nèi)容如下:

// tools.js
const http = require('http');
async function getStockPrice(code, market = 'a股') {
  let url;
  switch(market) {
    case '港股':
      url = 'https://hq.sinajs.cn/list=rt_hk' + code;
      break;
    case '美股':
      url = 'https://hq.sinajs.cn/list=n_' + code.toLowerCase();
      break;
    default:
      // A股自動判斷滬市還是深市
      if (code.startsWith('6')) {
        url = 'https://hq.sinajs.cn/list=s_sh' + code;
      } else {
        url = 'https://hq.sinajs.cn/list=sz_' + code;
      }
  }
  return new Promise((resolve, reject) => {
    http.get(url, (res) => {
      let data = '';
      res.on('data', chunk => data += chunk);
      res.on('end', () => {
        const match = data.match(/="([^"]+)"/);
        if (match) {
          resolve(parseStockData(match[1]));
        } else {
          resolve({ error: '沒找到這只股票' });
        }
      });
    }).on('error', reject);
  });
}
function parseStockData(raw) {
  const parts = raw.split(',');
  if (parts.length < 30) return { error: '數(shù)據(jù)好像有問題' };
  const name = parts[0];
  const open = parseFloat(parts[1]);
  const close = parseFloat(parts[2]);
  const high = parseFloat(parts[3]);
  const low = parseFloat(parts[4]);
  const change = close - open;
  const changePercent = (change / open * 100).toFixed(2);
  return {
    name: name,
    current: close.toFixed(2),
    change: change.toFixed(2),
    changePercent: changePercent + '%',
    changeType: change >= 0 ? '漲' : '跌'
  };
}
module.exports = { getStockPrice };

2.5 配置文件里的一些門道

---
name: stock_query
description: 股票行情查詢Skill
metadata: {
  "openclaw": {
    "emoji": "??",
    "requires": { "bins": ["curl", "node"] },
    "primaryEnv": "STOCK_API_KEY",
    "os": ["linux", "darwin", "win32"]
  }
}
user-invocable: true
---

配置項說明:

字段干啥的
emoji顯示的圖標
requires.bins需要哪些命令
primaryEnv需要哪個環(huán)境變量
os支持哪些系統(tǒng)
user-invocable能不能直接調用

三、本地測試怎么搞

3.1 讓Agent刷新一下

最簡單的方式就是在對話里說一聲"刷新一下Skill列表"。

或者重啟Gateway:

openclaw gateway restart

3.2 試一把

查茅臺:茅臺現(xiàn)在多少錢
查蘋果:蘋果股票啥價
查騰訊:騰訊控股咋樣了

3.3 調試心得

如果跑不通,先看日志:

openclaw gateway --verbose

先手動調一下接口,確認能跑通再說:

curl -s "https://hq.sinajs.cn/list=s_sh600519"

四、發(fā)布到ClawHub

4.1 目錄結構

stock-query/
├── SKILL.md
├── tools.js
└── README.md

4.2 發(fā)布命令

先裝CLI:

npm install -g clawhub

登錄:

clawhub login

發(fā)布:

clawhub publish ./stock-query

4.3 別人怎么用

安裝:

clawhub install stock-query

更新:

clawhub update stock-query

五、常見問題

5.1 Skill不生效

查這幾個點:

  • 目錄名和name對不上
  • SKILL.md位置不對
  • YAML格式寫錯了
  • Gateway沒重啟

5.2 接口調不通

可能原因:

  • 網(wǎng)絡問題,有些API國內(nèi)訪問不了
  • 頻率太高被限了
  • 接口本身掛了

解決思路:準備備選方案。新浪不行就換東方財富:

curl -s "https://push2.eastmoney.com/api/qt/stock/get?fields=f43,f44,f45,f46,f47,f48,f50,f51,f52,f57&secid=1.600519"

5.3 AI理解錯了

這很正常。解決辦法就是在SKILL.md里把"什么時候用""什么時候不用"寫得更細,越具體越好。

六、進階玩法

6.1 緩存得加上

同一個問題5分鐘內(nèi)別調接口了,浪費資源。緩存在~/.cache/stock-query/目錄。

6.2 錯誤處理要做好

別把原始錯誤信息暴露給用戶,不太好。接口出問題就先試試備選接口,都不行就說"暫時查不了,稍后再試"。

6.3 輸出用中文

既然是中國人用,就用中文返回,別中英文混雜。

正確示例:茅臺 1695.00元 漲5塊 (+0.30%)

錯誤示例:Maotai: 1695.00, change: +5.00 (+0.30%)

寫在最后

開發(fā)Skill這件事,說難也不難,關鍵就三點:

  • SKILL.md寫清楚——AI能不能用好全看這個
  • 工具選對——bash能搞定的事沒必要整那么復雜
  • 多測——別想當然,踩坑很正常

熟練了之后,你會發(fā)現(xiàn)這玩意兒真的很好用。任何重復性的工作都可以變成一個Skill,讓AI幫你干。

到此這篇關于OpenClaw Skill開發(fā)實戰(zhàn)指南:從入門到獨立發(fā)布的文章就介紹到這了,更多相關OpenClaw Skill開發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

相關文章

最新評論

永安市| 铜川市| 拜泉县| 莱阳市| 晋宁县| 遂川县| 南昌市| 无为县| 新河县| 大同市| 龙胜| 大石桥市| 乾安县| 忻州市| 澜沧| 郧西县| 山阳县| 庄浪县| 南开区| 比如县| 杨浦区| 定南县| 织金县| 突泉县| 镇雄县| 电白县| 盘锦市| 深圳市| 阿拉善右旗| 株洲县| 怀宁县| 兴仁县| 肥乡县| 文登市| 天津市| 山东省| 石渠县| 西吉县| 即墨市| 古田县| 漳州市|