器到自動化任務(wù)實(shí)戰(zhàn))
最近在好幾個技術(shù)群里都看到有人在問OpenClaw的部署問題尤其是從Clawdbot改名之后網(wǎng)上大量舊教程的對齊度已經(jīng)跟不上了。有人卡在環(huán)境依賴上有人卡在登錄授權(quán)還有人干脆是裝完之后不知道拿它干什么。這篇文章把我自己從一臺裸機(jī)Ubuntu到完整跑通OpenClaw的過程翻出來整理了一遍所有步驟都是親測有效的每個容易翻車的點(diǎn)我都單獨(dú)標(biāo)了出來。計(jì)劃在自己的Linux服務(wù)器或者開發(fā)機(jī)上部署OpenClaw的人不管是新手還是有一定基礎(chǔ)的老手按著這篇文章走能少走很多彎路。1. OpenClaw到底是什么從Clawdbot到智能體中控1.1 Clawdbot改名OpenClaw的前因后果OpenClaw的前身是Clawdbot一個開源的AI智能體項(xiàng)目。簡單說它做的事是讓你用自然語言給計(jì)算機(jī)下指令然后把指令拆解成一個個具體動作調(diào)用本地的shell、文件系統(tǒng)、代碼執(zhí)行環(huán)境、瀏覽器等工具去完成。改名這件事其實(shí)挺有意思。Clawdbot這個名字是從Claude這個模型來的靈感早期版本也確實(shí)深度綁定Claude系列模型。但項(xiàng)目功能越做越寬之后它已經(jīng)不只是個bot了——既能做數(shù)據(jù)分析又能跑自動化任務(wù)還能當(dāng)多平臺工作流的中控。繼續(xù)叫bot反而局限了它的定位。改名OpenClaw語義上變成了開源的爪子更貼合它幫你抓住各種任務(wù)的核心定位。對老用戶來說從Clawdbot升級到OpenClaw配置目錄、核心命令邏輯大部分是延續(xù)的但命名空間、環(huán)境變量、部分子命令確實(shí)有變動。如果你在網(wǎng)上搜到的教程還在用clawdbot關(guān)鍵字大概率已經(jīng)過時了。1.2 它的核心架構(gòu)和能干什么OpenClaw的架構(gòu)可以拆成四層CLI控制端也就是openclaw命令負(fù)責(zé)啟停服務(wù)、配置管理、任務(wù)下發(fā)。核心引擎任務(wù)的拆解、工具調(diào)用調(diào)度、上下文的維護(hù)全在這一層。工具適配層連接外部工具的插槽常見的包括shell命令執(zhí)行、Python腳本運(yùn)行、瀏覽器自動化、HTTP請求、文件讀寫、定時任務(wù)等。模型服務(wù)接口連接底層大模型OpenClaw本身不內(nèi)置模型它需要接一個能理解自然語言的模型服務(wù)來完成推理。打個比方你可以把OpenClaw理解成一個總調(diào)度員。你告訴它幫我把這個目錄下所有超過100MB的文件列出來它會自己思考用哪條命令執(zhí)行之后把結(jié)果整理好返回給你。更復(fù)雜一點(diǎn)你可以讓它每天凌晨兩點(diǎn)執(zhí)行一次數(shù)據(jù)同步然后生成一份報告發(fā)到指定接口這種定時自動化任務(wù)它也能管。它的定位和普通聊天機(jī)器人有本質(zhì)區(qū)別。聊天機(jī)器人只負(fù)責(zé)生成文本OpenClaw要真的去操作系統(tǒng)里的工具并且對執(zhí)行結(jié)果負(fù)責(zé)。這也是為什么它在自動化運(yùn)維、數(shù)據(jù)處理、批量文件整理、多平臺任務(wù)分發(fā)這些場景下非常受歡迎。1.3 為什么選擇在Linux服務(wù)器上部署很多人第一次跑OpenClaw是在本地電腦上但真正把它當(dāng)成生產(chǎn)力工具Linux服務(wù)器才是更合理的選擇。原因很實(shí)際無人值守服務(wù)器7x24小時在線配合定時任務(wù)OpenClaw可以成為真正的自動化后臺服務(wù)。工具鏈天然齊全Linux下的shell、Python、cron是自動化任務(wù)最好的土壤OpenClaw在這里能發(fā)揮最大價值。資源可控AI智能體會同時跑模型推理、代碼執(zhí)行、瀏覽器自動化等多類負(fù)載自己電腦上跑容易拖垮工作環(huán)境放服務(wù)器上資源隔離更干凈。方便對外暴露能力如果你想讓OpenClaw對接內(nèi)部系統(tǒng)、定時抓取數(shù)據(jù)、生成報表服務(wù)器本身就在內(nèi)網(wǎng)環(huán)境里網(wǎng)絡(luò)打通成本低得多。2. 環(huán)境準(zhǔn)備裝之前先把這幾件事確認(rèn)好2.1 系統(tǒng)版本與硬件資源建議OpenClaw對Linux發(fā)行版沒有特別苛刻的要求但不同發(fā)行版踩坑概率差別很大。我自己的經(jīng)驗(yàn)是發(fā)行版版本體驗(yàn)Ubuntu22.04 LTS / 24.04 LTS最順社區(qū)資料多遇到問題容易搜到答案Debian12穩(wěn)定跟Ubuntu同源基本無坑Rocky Linux / AlmaLinux9.x能用但部分依賴需要額外啟用EPEL源其他舊版本20.04以下不建議GLIBC版本過低會導(dǎo)致二進(jìn)制跑不起來硬件方面最低配置2核4G內(nèi)存能用但體驗(yàn)一般。我的建議是4核8G起步。原因很簡單OpenClaw的執(zhí)行引擎往往會同時啟動多個子進(jìn)程再疊加模型API調(diào)用和日志寫入內(nèi)存一緊張就會出現(xiàn)莫名其妙的卡頓甚至崩潰。磁盤空間預(yù)留20G以上因?yàn)槿罩疚募?、臨時文件、模型緩存都會占用空間。2.2 運(yùn)行時依賴git、curl、Node.js、Python在正式安裝OpenClaw之前有一批基礎(chǔ)依賴需要裝好。不同發(fā)行版的包管理器命令不一樣我放在一起對比依賴Ubuntu/DebianRocky/Almagitsudo apt install -y gitsudo dnf install -y gitcurlsudo apt install -y curlsudo dnf install -y curltarsudo apt install -y tarsudo dnf install -y tarNode.js 18建議用nvm安裝建議用nvm安裝這里要特別說一下Node.js的安裝方式。很多國內(nèi)教程會直接讓你apt install nodejs結(jié)果裝出來的版本往往是10.x或者12.xOpenClaw一跑就報錯。根本原因是系統(tǒng)源的Node.js版本太老而且升級起來非常麻煩。我的做法是先用nvm安裝Node.jscurl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 20 nvm alias default 20 node -vPython方面OpenClaw的部分內(nèi)置技能和腳本執(zhí)行依賴Python 3.10以上。Ubuntu 22.04自帶的就是3.10Debian 12自帶3.11基本不用額外折騰。但如果某些技能要用到瀏覽器自動化還需要注意Chromium的依賴sudo apt install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2這些庫缺了的話瀏覽器自動化技能會在啟動瀏覽器時失敗而且報錯信息不夠直觀提前裝好能省掉一輪排查。2.3 安裝方式選哪一種OpenClaw的安裝方式我實(shí)際試過三種官方腳本安裝、npm安裝、GitHub Releases二進(jìn)制包安裝。官方腳本一鍵安裝適合大部分場景腳本自動檢測系統(tǒng)架構(gòu)、下載對應(yīng)版本、寫入PATH對新手最友好。npm全局安裝適合已經(jīng)在用Node.js生態(tài)的人升級方便但要求Node版本符合要求。二進(jìn)制包手動安裝適合離線環(huán)境下載對應(yīng)架構(gòu)的壓縮包解壓即可。我推薦第一次接觸的人直接用官方腳本裝完之后理解一個大概再考慮其他方式。2.4 安裝容易忽略的權(quán)限與用戶問題這一點(diǎn)很多教程都不會提但我實(shí)際踩過坑不要用root用戶直接跑OpenClaw。原因有兩個層面。安全層面AI智能體是要執(zhí)行本地命令、讀寫文件的如果以root身份運(yùn)行一旦任務(wù)拆解出錯可能產(chǎn)生破壞性操作。工程層面OpenClaw啟動時會創(chuàng)建配置目錄和臨時目錄以root跑完一遍之后再切回普通用戶經(jīng)常遇到配置文件權(quán)限歸屬混亂的問題導(dǎo)致普通用戶無法正常讀寫。正確的做法是創(chuàng)建一個專門的用戶sudo useradd -m -s /bin/bash openclaw sudo passwd openclaw su - openclaw后續(xù)所有安裝和運(yùn)行步驟都在這個用戶下操作。如果服務(wù)器上已經(jīng)用了OpenClaw的root版本建議先卸載再重裝省得后面權(quán)限問題反復(fù)糾纏。3. 正式安裝與初始化從零到openclaw version3.1 一步步執(zhí)行安裝命令環(huán)境準(zhǔn)備做完之后安裝這一步反而是最輕松的。切到openclaw用戶執(zhí)行官方安裝腳本curl -fsSL https://get.openclaw.dev/install.sh | bash這里我想多說一句安全習(xí)慣。雖然管道方式安裝很方便但執(zhí)行之前建議先把腳本內(nèi)容拉下來看一眼確認(rèn)沒有可疑操作再執(zhí)行curl -fsSL https://get.openclaw.dev/install.sh | less看一遍你至少能知道這個腳本做了哪些事下載核心二進(jìn)制、創(chuàng)建~/.openclaw目錄、在.bashrc里追加PATH導(dǎo)出。確認(rèn)無誤后再真正執(zhí)行安裝。安裝完成后重新加載shell配置source ~/.bashrc然后驗(yàn)證版本openclaw version如果能輸出版本號說明安裝成功。這里有個小坑如果輸入openclaw提示command not found大概率是.bashrc沒有被正確加載檢查一下文件末尾有沒有安裝腳本追加的export PATH$PATH:$HOME/.openclaw/bin這一行。有時候切換用戶時.bashrc不會自動執(zhí)行先source ~/.bashrc或者重新登錄一次就好了。3.2 初始化配置openclaw init 做了什么安裝好之后下一步是初始化配置目錄openclaw init這個命令會在~/.openclaw下創(chuàng)建一整套目錄結(jié)構(gòu)。我裝完之后特意看了一下包括這些內(nèi)容~/.openclaw/ ├── config.json ├── auth.json ├── skills/ ├── tools/ ├── logs/ └── tmp/config.json是核心配置文件所有行為和默認(rèn)值都在這。auth.json保存登錄憑證。skills/放自定義技能包OpenClaw會在啟動時自動掃描。tools/放工具適配配置。logs/存運(yùn)行日志。tmp/存臨時文件。3.3 讀懂config.json模型、工具、存儲目錄初始化生成的config.json是OpenClaw能否正常工作的關(guān)鍵。我把關(guān)鍵字段解釋一遍然后用一份實(shí)際可用的配置做參考{ model_provider: openclaw, model_name: claude-3-5-sonnet-latest, port: 8080, log_level: info, workdir: ~/openclaw-workspace, tools: { shell: true, python: true, browser: true, http: true }, skills_dir: ~/.openclaw/skills }字段含義model_provider和model_name決定走哪個模型服務(wù)、用哪個模型后面對接魔塔就是改這里。portOpenClaw服務(wù)監(jiān)聽的端口默認(rèn)8080如果被占用就改掉。log_level日志級別有debug/info/warn/error調(diào)試階段建議設(shè)成debug。workdir工作目錄所有相對路徑的操作都基于這個目錄改成一個獨(dú)立目錄會更安全避免智能體在你home目錄里亂寫。tools各個工具的開關(guān)按需開啟不需要的關(guān)掉可以減少誤操作面。skills_dir自定義技能目錄。我不建議直接把模型服務(wù)相關(guān)的內(nèi)容寫死在config.json里更推薦用環(huán)境變量管理這樣換配置不用頻繁改文件也不容易誤提交到Git倉庫。4. 認(rèn)證配置二維碼登錄與API Key兩條路4.1 掃碼登錄流程與無顯示器服務(wù)器的處理OpenClaw的模型服務(wù)調(diào)用和部分云端功能需要授權(quán)。初始化完成后執(zhí)行openclaw auth login終端會顯示一個二維碼用手機(jī)App掃碼在手機(jī)上確認(rèn)授權(quán)登錄就完成了??雌饋砗茼槙车@里有個實(shí)際痛點(diǎn)很多人是在純SSH環(huán)境里操作服務(wù)器的終端沒有圖形界面二維碼要么顯示成一堆亂碼要么顯示不全根本掃不了。這種情況有幾個解決辦法URL模式登錄命令加--url參數(shù)終端里直接輸出一個授權(quán)鏈接你可以在自己電腦的瀏覽器里打開鏈接完成授權(quán)服務(wù)器不需要圖形界面。ASCII模式加--ascii參數(shù)二維碼變成字符畫形式雖然丑但用手機(jī)還是能掃出來的。設(shè)備碼方式有些版本支持輸入設(shè)備碼的方式在網(wǎng)頁端輸入終端給出的code完成綁定。我個人最推薦--url模式最省心不容易卡在二維碼顯示異常上。4.2 用API Key方式接入模型服務(wù)除了掃碼登錄OpenClaw也支持直接用API Key接入模型服務(wù)。這對于自動化場景、服務(wù)器環(huán)境更友好因?yàn)椴恍枰謾C(jī)參與。設(shè)置方式非常簡單export OPENCLAW_API_KEY你的密鑰 openclaw auth verify如果驗(yàn)證通過會提示認(rèn)證成功。為了保證配置在每次登錄時都生效把環(huán)境變量寫進(jìn)~/.bashrc或者~/.openclaw/env文件里。需要注意的是API Key屬于敏感信息。寫進(jìn).bashrc的話建議把~/.bashrc權(quán)限收緊chmod 600 ~/.bashrc千萬別把API Key寫進(jìn)項(xiàng)目代碼或者提交到Git倉庫網(wǎng)上被爬蟲抓到密鑰然后被薅額度的事每天都在發(fā)生。4.3 認(rèn)證信息的存儲位置與權(quán)限保護(hù)認(rèn)證成功之后憑證會寫入~/.openclaw/auth.json。這個文件包含了你的登錄態(tài)和API憑據(jù)必須嚴(yán)格保護(hù)chmod 600 ~/.openclaw/auth.json我遇到過一種情況OpenClaw跑了一段時間突然提示認(rèn)證過期排查半天發(fā)現(xiàn)是因?yàn)槟炒伟惭b其他軟件時腳本把~/.openclaw目錄的文件權(quán)限重置了導(dǎo)致OpenClaw無法讀取認(rèn)證文件。所以如果你發(fā)現(xiàn)明明剛才還能用突然不行了第一反應(yīng)去檢查auth.json的權(quán)限通常比重新登錄更快。4.4 WSL2環(huán)境驗(yàn)證失敗這條報錯怎么解這條單獨(dú)拿出來講是因?yàn)樘嗳丝ㄔ谶@了。在Windows的WSL2環(huán)境里運(yùn)行OpenClaw時啟動階段會報OpenClaw could not safely verify the WSL2 environment.這個報錯的本質(zhì)是OpenClaw在安全檢查時發(fā)現(xiàn)WSL2環(huán)境存在幾個潛在的不安全因素具體來說項(xiàng)目放在了/mnt/c、/mnt/d這類Windows掛載目錄下??缥募到y(tǒng)訪問會導(dǎo)致IO性能奇差而且文件權(quán)限混亂OpenClaw認(rèn)為這不安全。WSL內(nèi)核版本太舊部分系統(tǒng)調(diào)用不可用。和Docker Desktop的WSL集成沖突導(dǎo)致環(huán)境變量和網(wǎng)絡(luò)配置異常。解決方案優(yōu)先級如下把所有OpenClaw相關(guān)的內(nèi)容遷移到Linux原生文件系統(tǒng)比如~/openclaw絕對不要放在/mnt/c下。在Windows PowerShell里執(zhí)行wsl --update升級WSL內(nèi)核。如果裝了Docker Desktop檢查它的WSL集成設(shè)置關(guān)閉對當(dāng)前發(fā)行版的集成再試。如果你手頭就有原生Linux環(huán)境建議優(yōu)先在原生環(huán)境跑WSL2適合體驗(yàn)不適合當(dāng)核心生產(chǎn)環(huán)境。5. 啟動服務(wù)與跑通第一個真實(shí)任務(wù)5.1 openclaw serve的參數(shù)與后臺運(yùn)行認(rèn)證配置完成后可以啟動服務(wù)了openclaw serve --port 8080終端會停留在前臺運(yùn)行輸出實(shí)時日志。這種方式適合先確認(rèn)服務(wù)能正常啟動不適合長期掛在后臺。要后臺運(yùn)行兩種方式我都常用。第一種是nohup方式簡單直接nohup openclaw serve --port 8080 ~/.openclaw/logs/serve.log 21 第二種是tmux方式方便在多個會話之間切換調(diào)試tmux new -s openclaw openclaw serve --port 8080按CtrlB然后D就可以脫離會話讓服務(wù)在后臺繼續(xù)跑。需要看日志時用tmux attach -t openclaw切回去比nohup靈活很多。5.2 設(shè)計(jì)一個能驗(yàn)證全鏈路的最小測試任務(wù)服務(wù)啟動后先別急著上復(fù)雜任務(wù)。我建議用一個能覆蓋核心鏈路的最小任務(wù)來驗(yàn)證openclaw run 統(tǒng)計(jì) ~/testdata 目錄下所有文件的大小按從大到小排序把結(jié)果寫入 result.txt這個任務(wù)能驗(yàn)證三件事自然語言理解是否正常、shell工具是否能調(diào)用、文件寫入是否被權(quán)限限制剛好覆蓋OpenClaw的主鏈路。如果這個任務(wù)順利跑通再試一個帶代碼執(zhí)行的openclaw run 寫一個Python腳本讀取 test.txt 里的數(shù)字列表計(jì)算平均值和中位數(shù)這個任務(wù)會觸發(fā)Python執(zhí)行工具能驗(yàn)證代碼生成和執(zhí)行能力。5.3 結(jié)果分析理解執(zhí)行日志中的關(guān)鍵信息OpenClaw跑任務(wù)的時候會往~/.openclaw/logs/目錄寫日志。打開日志你會看到幾類關(guān)鍵信息[task] received: 統(tǒng)計(jì) ~/testdata 目錄下所有文件的大小 [plan] split into 3 steps [tool] invoke shell: du -sh ~/testdata/* [tool] result: 12M file1.dat [task] completed in 8.3s[task]行是任務(wù)接收記錄確認(rèn)任務(wù)拿到了。[plan]行是任務(wù)拆解看是否合理。[tool]行是工具調(diào)用看具體執(zhí)行了哪個命令、返回了什么結(jié)果。task completed行是耗時統(tǒng)計(jì)。遇到任務(wù)失敗先不要急著懷疑OpenClaw本身。第一步把日志里[tool]那行給出的命令手動復(fù)制到終端執(zhí)行一遍看是不是環(huán)境自身的問題。我遇到過幾次OpenClaw生成的命令在手動執(zhí)行時報Permission denied根本不是智能體的問題而是工作目錄權(quán)限不夠。搞清楚這一層排查效率會高很多。6. 歷次翻車現(xiàn)場Linux下常見的啟動與運(yùn)行報錯6.1 命令找不到、GLIBC版本過低這類環(huán)境問題我在多臺不同配置的機(jī)器上裝過OpenClaw最常遇到的還是環(huán)境類報錯。openclaw: command not found這個不一定是安裝失敗多半是PATH沒加載。處理方式上面說過先source ~/.bashrc。如果還不行手動指定路徑運(yùn)行~/.openclaw/bin/openclaw version能跑起來的話說明PATH配置有問題直接在.bashrc里加上export PATH$PATH:$HOME/.openclaw/binError: Cannot find module node:...這個報錯基本可以斷定是Node.js版本太舊。OpenClaw對Node版本有要求低于18的主版本根本跑不了。升級Node本身要小心別動系統(tǒng)自帶的Node用nvm切版本最安全nvm install 20 nvm use 20 node -vGLIBC_2.34 not found這個報錯出現(xiàn)在老系統(tǒng)上比如Ubuntu 20.04之前的版本。本質(zhì)上是你系統(tǒng)的glibc版本低于OpenClaw二進(jìn)制編譯時依賴的版本。解決方案很簡單——升級系統(tǒng)到Ubuntu 22.04或Debian 12。不要嘗試去單獨(dú)裝glibc那個操作很容易把系統(tǒng)搞崩。6.2 端口被占用與日志級別調(diào)整服務(wù)啟動失敗最常見的一個原因是端口沖突Error: listen EADDRINUSE: address already in use :::8080排查方法很常規(guī)lsof -i :8080 kill -9 進(jìn)程PID不想殺進(jìn)程的話改配置里的端口就行。如果只是調(diào)試階段我覺得直接把端口換掉更省事把config.json里的port改成8081。日志太吵也是一個經(jīng)常被吐槽的點(diǎn)。默認(rèn)info級別會輸出大量任務(wù)拆解和執(zhí)行細(xì)節(jié)如果只是想安靜跑服務(wù)把log_level改成warn或者啟動時加環(huán)境變量LOG_LEVELwarn openclaw serve6.3 技能與工具加載失敗的處理思路OpenClaw啟動時會掃描skills_dir目錄加載所有自定義技能。如果某個技能包的格式有問題會出現(xiàn)啟動警告或者技能失效。我遇到過一次技能包里的SKILL.md字段寫錯了OpenClaw啟動時報錯說無法解析但服務(wù)本身沒有崩潰只是這個技能不可用。排查方向如下確認(rèn)技能目錄結(jié)構(gòu)是否符合規(guī)范每個技能一個獨(dú)立目錄包含SKILL.md和可執(zhí)行腳本。檢查SKILL.md里的字段名是否和你當(dāng)前版本一致OpenClaw改版后字段有調(diào)整。先跑openclaw doctor看看診斷信息這個命令會檢查全局配置、目錄權(quán)限、依賴完整性。之前看到有網(wǎng)友說技能加載不上的問題最后發(fā)現(xiàn)是skills_dir指向的路徑寫錯了導(dǎo)致OpenClaw根本沒掃到那個目錄。路徑用~開頭時要小心展開實(shí)際運(yùn)行環(huán)境不一定會做shell展開。我把最常遇到的問題整理成一張速查表現(xiàn)象可能原因處理方式command not foundPATH未配置source ~/.bashrc檢查PATH啟動報GLIBC錯誤系統(tǒng)太老升級到Ubuntu 22.04/Debian 12端口被占用其他進(jìn)程監(jiān)聽同端口lsof查殺或改端口認(rèn)證過期token失效重新openclaw auth loginWSL2環(huán)境驗(yàn)證失敗文件在/mnt下或WSL內(nèi)核舊遷移到Linux文件系統(tǒng)wsl --update技能不生效目錄掃描路徑錯誤openclaw doctor診斷7. 進(jìn)階玩法服務(wù)化、容器化與對接魔塔7.1 用systemd把OpenClaw變成開機(jī)自啟的服務(wù)手動啟動OpenClaw有個很現(xiàn)實(shí)的問題服務(wù)器一重啟服務(wù)就沒了。如果你希望OpenClaw作為常駐后臺服務(wù)運(yùn)行用systemd托管是標(biāo)準(zhǔn)做法。創(chuàng)建一個service文件sudo vim /etc/systemd/system/openclaw.service寫入[Unit] DescriptionOpenClaw Agent Service Afternetwork.target [Service] Useropenclaw WorkingDirectory/home/openclaw ExecStart/home/openclaw/.openclaw/bin/openclaw serve --port 8080 Restarton-failure RestartSec5 EnvironmentLOG_LEVELinfo [Install] WantedBymulti-user.target然后加載并啟動sudo systemctl daemon-reload sudo systemctl enable --now openclaw查看服務(wù)狀態(tài)sudo systemctl status openclaw查看日志journalctl -u openclaw -f用systemd管理之后開機(jī)自啟、崩潰自動拉起都不用手動管運(yùn)維體驗(yàn)完全不一樣。注意User這一行千萬別去掉保持普通用戶身份運(yùn)行原因前面說過。7.2 Docker方式部署與數(shù)據(jù)卷掛載如果你對系統(tǒng)環(huán)境的整潔度要求很高或者想快速在不同機(jī)器間遷移Docker方式也是很好的選擇。docker run -d \ --name openclaw \ -p 8080:8080 \ -v ~/.openclaw:/root/.openclaw \ -v ~/workspace:/workspace \ openclaw/openclaw:latest數(shù)據(jù)卷掛載這里要特別說明~/.openclaw必須掛載這樣容器刪除后配置和認(rèn)證信息不丟失~/workspace是工作目錄按需掛載。鏡像內(nèi)部自帶運(yùn)行時依賴不用在宿主機(jī)裝Node.js和Python這是容器方案最大的優(yōu)勢。我見過有人用--privileged方式啟動容器為了給容器內(nèi)部更多權(quán)限。除非你真的知道自己在做什么否則不要加這個參數(shù)它會繞過大量安全機(jī)制非常不推薦。7.3 對接魔塔ModelScope等模型服務(wù)OpenClaw默認(rèn)的模型服務(wù)是Anthropic Claude系列但如果你用的是國內(nèi)服務(wù)器或者希望使用魔塔ModelScope上的模型可以很輕松地切換過去。設(shè)置環(huán)境變量export OPENCLAW_MODEL_PROVIDERmodelscope export MODELSCOPE_API_KEY你的魔塔API密鑰然后在config.json里指定模型{ model_provider: modelscope, model_name: qwen-max, base_url: https://api.modelscope.cn/v1 }最后重啟服務(wù)openclaw serve --port 8080切換完成之后用之前的最小測試任務(wù)再驗(yàn)證一遍。如果任務(wù)執(zhí)行正常說明模型推理鏈路已經(jīng)打通。這里有必要解釋一下為什么要用魔塔。對國內(nèi)用戶來說魔塔API的訪問穩(wěn)定性更好而且平臺上有不少經(jīng)過驗(yàn)證的中文模型在中文場景下的表現(xiàn)很出色。配置切換只需要改環(huán)境變量和model_name不需要動其他任何配置。7.4 私有技能的快速擴(kuò)展OpenClaw真正拉開差距的地方是自定義技能。你可以把手頭重復(fù)性的工作封裝成技能之后所有任務(wù)里它都能被自動調(diào)用。拿我自己的例子我有一個生成日報技能。在~/.openclaw/skills/daily-report/下創(chuàng)建SKILL.md generate_report.pySKILL.md內(nèi)容--- name: daily_report description: 從workdir的data目錄讀取當(dāng)天數(shù)據(jù)生成HTML日報到report目錄 command: python3 ~/.openclaw/skills/daily-report/generate_report.py ---這個技能的聲明格式包含三塊name是技能名description描述能干什么command是實(shí)際執(zhí)行的命令。之后你只需要對OpenClaw說生成今天的日報它就會自動匹配到這個技能并執(zhí)行。技能的重要性在于它把你的業(yè)務(wù)邏輯沉淀下來了——你不用每次重復(fù)描述要怎么做OpenClaw看到關(guān)鍵詞就直接調(diào)用現(xiàn)成腳本。還有一個很實(shí)用的場景是配cron定時任務(wù)。在crontab里添加0 9 * * * /home/openclaw/.openclaw/bin/openclaw run 執(zhí)行日報生成技能 /home/openclaw/.openclaw/logs/cron.log 21每天早上9點(diǎn)自動生成日報完全不用人工介入。注意cron環(huán)境變量精簡建議在命令里寫絕對路徑。最后說一個經(jīng)驗(yàn)上的提醒OpenClaw的技能目錄結(jié)構(gòu)和聲明格式在不同版本之間可能有微調(diào)自定義技能之前先確認(rèn)一下你當(dāng)前版本的文檔。整體來說只要裝了OpenClaw先把最小閉環(huán)跑通再逐步把重復(fù)性工作交出去用熟練之后你會發(fā)現(xiàn)自己花在瑣事上的時間能省下很大一截。