[{"data":1,"prerenderedAt":1096},["ShallowReactive",2],{"page-/post/zzao/openclaw/openclaw-install-windows":3,"surrounding-page":1090},{"id":4,"title":5,"author":6,"body":7,"date":1076,"description":1077,"extension":1078,"group":1079,"lastmod":1079,"meta":1080,"navigation":1082,"path":1083,"rawbody":1084,"seo":1085,"showTitle":1079,"stem":1086,"tags":1087,"versions":1079,"__hash__":1089},"content/post/zzao/openclaw/openclaw-install-windows.md","OpenClaw 安装入门（Windows）","阿康",{"type":8,"value":9,"toc":1056},"minimark",[10,14,27,34,41,45,77,80,96,99,121,124,128,134,137,146,151,155,164,167,193,196,208,221,224,236,239,252,259,268,274,278,287,290,305,308,312,321,323,338,345,355,358,362,365,374,377,386,392,396,405,408,417,424,427,430,454,457,466,469,478,481,484,516,520,523,532,535,544,547,556,559,564,567,576,579,583,586,595,598,607,610,619,622,636,639,642,649,652,656,663,666,669,686,689,705,711,714,717,740,743,752,756,763,878,885,943,946,952,955,970,973,995,998,1049,1052],[11,12,5],"h1",{"id":13},"openclaw-安装入门windows",[15,16,17,18,22,23,26],"p",{},"这篇只讲一件事。\n把 ",[19,20,21],"code",{},"OpenClaw"," 在 ",[19,24,25],{},"Windows"," 上装起来。",[15,28,29,30,33],{},"如果你用的是 ",[19,31,32],{},"macOS","，去看另一篇。",[15,35,36,37,40],{},"这篇基于 ",[19,38,39],{},"OpenClaw 2026.3.2","。",[42,43,44],"h2",{"id":44},"你需要准备什么",[46,47,48,54,64,74],"ul",{},[49,50,51,52],"li",{},"一台 ",[19,53,25],{},[49,55,56,57,60,61],{},"能开的 ",[19,58,59],{},"PowerShell"," 或 ",[19,62,63],{},"Windows Terminal",[49,65,66,67,70,71],{},"网络能访问 ",[19,68,69],{},"GitHub","、",[19,72,73],{},"npm",[49,75,76],{},"如果你平时靠代理上网，那就先把代理配好",[15,78,79],{},"先确认网络是不是通的：",[81,82,87],"pre",{"className":83,"code":84,"language":85,"meta":86,"style":86},"language-powershell shiki shiki-themes github-light","curl https://google.com -I\n","powershell","",[19,88,89],{"__ignoreMap":86},[90,91,94],"span",{"class":92,"line":93},"line",1,[90,95,84],{},[15,97,98],{},"如果你需要手动给终端加代理，可以先执行：",[81,100,102],{"className":83,"code":101,"language":85,"meta":86,"style":86},"$env:https_proxy=\"http://127.0.0.1:7890\"\n$env:http_proxy=\"http://127.0.0.1:7890\"\n$env:all_proxy=\"socks5://127.0.0.1:7890\"\n",[19,103,104,109,115],{"__ignoreMap":86},[90,105,106],{"class":92,"line":93},[90,107,108],{},"$env:https_proxy=\"http://127.0.0.1:7890\"\n",[90,110,112],{"class":92,"line":111},2,[90,113,114],{},"$env:http_proxy=\"http://127.0.0.1:7890\"\n",[90,116,118],{"class":92,"line":117},3,[90,119,120],{},"$env:all_proxy=\"socks5://127.0.0.1:7890\"\n",[15,122,123],{},"端口按你自己的代理工具改。",[42,125,127],{"id":126},"先确认-winget-能不能用","先确认 winget 能不能用",[15,129,130,131,40],{},"Windows 这篇主推 ",[19,132,133],{},"winget",[15,135,136],{},"先跑：",[81,138,140],{"className":83,"code":139,"language":85,"meta":86,"style":86},"winget --version\n",[19,141,142],{"__ignoreMap":86},[90,143,144],{"class":92,"line":93},[90,145,139],{},[15,147,148,149,40],{},"如果这里都不通，再考虑手动下载安装。\n不要一上来就怀疑 ",[19,150,21],{},[42,152,154],{"id":153},"安装-nodejs","安装 Node.js",[81,156,158],{"className":83,"code":157,"language":85,"meta":86,"style":86},"winget install OpenJS.NodeJS.LTS\n",[19,159,160],{"__ignoreMap":86},[90,161,162],{"class":92,"line":93},[90,163,157],{},[15,165,166],{},"装完别急着往下走。\n先立刻检查：",[81,168,170],{"className":83,"code":169,"language":85,"meta":86,"style":86},"node -v\nnpm -v\nwhere.exe node\nwhere.exe npm\n",[19,171,172,177,182,187],{"__ignoreMap":86},[90,173,174],{"class":92,"line":93},[90,175,176],{},"node -v\n",[90,178,179],{"class":92,"line":111},[90,180,181],{},"npm -v\n",[90,183,184],{"class":92,"line":117},[90,185,186],{},"where.exe node\n",[90,188,190],{"class":92,"line":189},4,[90,191,192],{},"where.exe npm\n",[15,194,195],{},"这里有个很关键的坑。",[15,197,198,207],{},[199,200,201,203,204,206],"strong",{},[19,202,133],{}," 装出来的 Node 正常是带 ",[19,205,73],{}," 的。","\n如果你看到：",[46,209,210,216],{},[49,211,212,215],{},[19,213,214],{},"node"," 有了",[49,217,218,220],{},[19,219,73],{}," 没有",[15,222,223],{},"大概率不是没装，而是：",[46,225,226,229],{},[49,227,228],{},"当前终端还没刷新环境变量",[49,230,231,232,235],{},"或者 ",[19,233,234],{},"C:\\Program Files\\nodejs"," 还没进 PATH",[15,237,238],{},"先关掉终端，再开一个新的 PowerShell。\n然后重新跑：",[81,240,242],{"className":83,"code":241,"language":85,"meta":86,"style":86},"node -v\nnpm -v\n",[19,243,244,248],{"__ignoreMap":86},[90,245,246],{"class":92,"line":93},[90,247,176],{},[90,249,250],{"class":92,"line":111},[90,251,181],{},[15,253,254,255,258],{},"如果还不行，再检查目录里有没有 ",[19,256,257],{},"npm.cmd","：",[81,260,262],{"className":83,"code":261,"language":85,"meta":86,"style":86},"dir \"C:\\Program Files\\nodejs\\npm*\"\n",[19,263,264],{"__ignoreMap":86},[90,265,266],{"class":92,"line":93},[90,267,261],{},[15,269,270,271,273],{},"如果这里能看到 ",[19,272,257],{},"，那问题基本就是 PATH，不是 Node 没装上。",[42,275,277],{"id":276},"安装-bun","安装 bun",[81,279,281],{"className":83,"code":280,"language":85,"meta":86,"style":86},"powershell -c \"irm bun.sh/install.ps1 | iex\"\n",[19,282,283],{"__ignoreMap":86},[90,284,285],{"class":92,"line":93},[90,286,280],{},[15,288,289],{},"装完确认：",[81,291,293],{"className":83,"code":292,"language":85,"meta":86,"style":86},"bun --version\nwhere.exe bun\n",[19,294,295,300],{"__ignoreMap":86},[90,296,297],{"class":92,"line":93},[90,298,299],{},"bun --version\n",[90,301,302],{"class":92,"line":111},[90,303,304],{},"where.exe bun\n",[15,306,307],{},"如果这里找不到，大概率也是环境变量还没刷新。\n先重开终端。",[42,309,311],{"id":310},"安装-openclaw","安装 OpenClaw",[81,313,315],{"className":83,"code":314,"language":85,"meta":86,"style":86},"npm install -g openclaw\n",[19,316,317],{"__ignoreMap":86},[90,318,319],{"class":92,"line":93},[90,320,314],{},[15,322,289],{},[81,324,326],{"className":83,"code":325,"language":85,"meta":86,"style":86},"openclaw --version\nwhere.exe openclaw\n",[19,327,328,333],{"__ignoreMap":86},[90,329,330],{"class":92,"line":93},[90,331,332],{},"openclaw --version\n",[90,334,335],{"class":92,"line":111},[90,336,337],{},"where.exe openclaw\n",[15,339,340,341,344],{},"如果 ",[19,342,343],{},"openclaw"," 找不到，也别急。\n先确认：",[46,346,347,352],{},[49,348,349,351],{},[19,350,73],{}," 全局目录有没有进 PATH",[49,353,354],{},"当前终端是不是老会话",[15,356,357],{},"很多时候重开终端就好了。",[42,359,361],{"id":360},"初始化-openclaw","初始化 OpenClaw",[15,363,364],{},"第一次装，推荐先走：",[81,366,368],{"className":83,"code":367,"language":85,"meta":86,"style":86},"openclaw setup --wizard\n",[19,369,370],{"__ignoreMap":86},[90,371,372],{"class":92,"line":93},[90,373,367],{},[15,375,376],{},"如果你想一次把更多东西配掉，也可以试：",[81,378,380],{"className":83,"code":379,"language":85,"meta":86,"style":86},"openclaw onboard\n",[19,381,382],{"__ignoreMap":86},[90,383,384],{"class":92,"line":93},[90,385,379],{},[15,387,388,389,40],{},"第一次上手，还是建议先走 ",[19,390,391],{},"setup --wizard",[42,393,395],{"id":394},"启动-gateway","启动 Gateway",[81,397,399],{"className":83,"code":398,"language":85,"meta":86,"style":86},"openclaw gateway start\n",[19,400,401],{"__ignoreMap":86},[90,402,403],{"class":92,"line":93},[90,404,398],{},[15,406,407],{},"然后检查：",[81,409,411],{"className":83,"code":410,"language":85,"meta":86,"style":86},"openclaw gateway status\n",[19,412,413],{"__ignoreMap":86},[90,414,415],{"class":92,"line":93},[90,416,410],{},[15,418,419,420,423],{},"这一步别跳。\n如果 ",[19,421,422],{},"Gateway"," 没起来，后面飞书也接不上。",[42,425,426],{"id":426},"做一遍基本检查",[15,428,429],{},"至少跑这几条：",[81,431,433],{"className":83,"code":432,"language":85,"meta":86,"style":86},"openclaw status\nopenclaw gateway status\nopenclaw config file\nopenclaw config validate\n",[19,434,435,440,444,449],{"__ignoreMap":86},[90,436,437],{"class":92,"line":93},[90,438,439],{},"openclaw status\n",[90,441,442],{"class":92,"line":111},[90,443,410],{},[90,445,446],{"class":92,"line":117},[90,447,448],{},"openclaw config file\n",[90,450,451],{"class":92,"line":189},[90,452,453],{},"openclaw config validate\n",[15,455,456],{},"主配置通常在：",[81,458,460],{"className":83,"code":459,"language":85,"meta":86,"style":86},"%USERPROFILE%\\.openclaw\\openclaw.json\n",[19,461,462],{"__ignoreMap":86},[90,463,464],{"class":92,"line":93},[90,465,459],{},[15,467,468],{},"主 Agent 的 workspace 通常在：",[81,470,472],{"className":83,"code":471,"language":85,"meta":86,"style":86},"%USERPROFILE%\\.openclaw\\agents\\main\\workspace\n",[19,473,474],{"__ignoreMap":86},[90,475,476],{"class":92,"line":93},[90,477,471],{},[42,479,480],{"id":480},"最基本的配置文件",[15,482,483],{},"先认这几个：",[46,485,486,492,498,504,510],{},[49,487,488,491],{},[19,489,490],{},"SOUL.md","：Agent 的人格、语气、角色定位",[49,493,494,497],{},[19,495,496],{},"USER.md","：你是谁、偏好什么",[49,499,500,503],{},[19,501,502],{},"MEMORY.md","：长期稳定记忆",[49,505,506,509],{},[19,507,508],{},"memory/*.md","：每天的短期记录",[49,511,512,515],{},[19,513,514],{},"AGENTS.md","：分工和工作规则",[42,517,519],{"id":518},"模型怎么查怎么改","模型怎么查，怎么改",[15,521,522],{},"先看当前模型：",[81,524,526],{"className":83,"code":525,"language":85,"meta":86,"style":86},"openclaw models status --plain\n",[19,527,528],{"__ignoreMap":86},[90,529,530],{"class":92,"line":93},[90,531,525],{},[15,533,534],{},"再看可用模型：",[81,536,538],{"className":83,"code":537,"language":85,"meta":86,"style":86},"openclaw models list\n",[19,539,540],{"__ignoreMap":86},[90,541,542],{"class":92,"line":93},[90,543,537],{},[15,545,546],{},"如果你要切默认模型：",[81,548,550],{"className":83,"code":549,"language":85,"meta":86,"style":86},"openclaw models set github-copilot/gpt-5.2\n",[19,551,552],{"__ignoreMap":86},[90,553,554],{"class":92,"line":93},[90,555,549],{},[15,557,558],{},"这里先提醒一句。",[15,560,561],{},[199,562,563],{},"先做模型认证，再切模型。",[15,565,566],{},"先看：",[81,568,570],{"className":83,"code":569,"language":85,"meta":86,"style":86},"openclaw models auth --help\n",[19,571,572],{"__ignoreMap":86},[90,573,574],{"class":92,"line":93},[90,575,569],{},[15,577,578],{},"不然你切过去，可能也跑不起来。",[42,580,582],{"id":581},"agent-怎么看怎么加","Agent 怎么看，怎么加",[15,584,585],{},"先看现有 Agent：",[81,587,589],{"className":83,"code":588,"language":85,"meta":86,"style":86},"openclaw agents list\n",[19,590,591],{"__ignoreMap":86},[90,592,593],{"class":92,"line":93},[90,594,588],{},[15,596,597],{},"如果你要加一个新的：",[81,599,601],{"className":83,"code":600,"language":85,"meta":86,"style":86},"openclaw agents add writer\n",[19,602,603],{"__ignoreMap":86},[90,604,605],{"class":92,"line":93},[90,606,600],{},[15,608,609],{},"如果你想顺手指定模型和目录：",[81,611,613],{"className":83,"code":612,"language":85,"meta":86,"style":86},"openclaw agents add writer --workspace %USERPROFILE%\\.openclaw\\agents\\writer\\workspace --model github-copilot/claude-sonnet-4.6\n",[19,614,615],{"__ignoreMap":86},[90,616,617],{"class":92,"line":93},[90,618,612],{},[15,620,621],{},"建完之后，重点还是去它自己的 workspace 里改：",[46,623,624,628,632],{},[49,625,626],{},[19,627,490],{},[49,629,630],{},[19,631,496],{},[49,633,634],{},[19,635,502],{},[42,637,638],{"id":638},"如果你下一步要接飞书",[15,640,641],{},"完整教程在这里：",[15,643,644],{},[645,646,648],"a",{"href":647},"/post/zzao/openclaw-new-agent-feishu","给 OpenClaw 新增一个 Agent（以飞书机器人为例）",[15,650,651],{},"这里只说最关键的。",[653,654,655],"h3",{"id":655},"飞书后台权限怎么配",[15,657,658,659,662],{},"这里不要把 ",[19,660,661],{},"im:message"," 当成一个单独权限看。\n它在飞书后台里是一整组消息权限，不是点一个就完了。",[15,664,665],{},"更稳的做法是：",[15,667,668],{},"在飞书开放平台里，围绕这几类能力去开：",[46,670,671,674,677,680,683],{},[49,672,673],{},"机器人收消息",[49,675,676],{},"机器人发消息",[49,678,679],{},"单聊消息",[49,681,682],{},"群聊消息 / 被 @ 消息",[49,684,685],{},"用户 ID 读取",[15,687,688],{},"也就是你在权限后台里，至少要把和下面这些关键词相关的权限确认一遍：",[46,690,691,695,700],{},[49,692,693],{},[19,694,661],{},[49,696,697],{},[19,698,699],{},"im:message:send_as_bot",[49,701,702],{},[19,703,704],{},"contact:user.id:readonly",[15,706,707,708,710],{},"然后把 ",[19,709,661],{}," 下面那组和收消息相关的权限一起开好。\n别只开一个最短的名字就停。",[653,712,713],{"id":713},"事件订阅怎么配",[15,715,716],{},"在飞书开放平台里：",[46,718,719,722,725,731,734],{},[49,720,721],{},"进入你的 App",[49,723,724],{},"打开「事件与回调」",[49,726,727,728],{},"选择 ",[199,729,730],{},"长连接",[49,732,733],{},"开启它",[49,735,736,737],{},"订阅事件：",[19,738,739],{},"im.message.receive_v1",[15,741,742],{},"这里也有个顺序坑。",[15,744,745,751],{},[199,746,747,748,750],{},"先启动 ",[19,749,422],{},"，再去飞书后台开长连接。","\n不然飞书经常检测不到连接。",[653,753,755],{"id":754},"openclaw-这边怎么配","OpenClaw 这边怎么配",[757,758,760],"h4",{"id":759},"channelsfeishuaccounts",[19,761,762],{},"channels.feishu.accounts",[81,764,768],{"className":765,"code":766,"language":767,"meta":86,"style":86},"language-json shiki shiki-themes github-light","\"writer\": {\n  \"appId\": \"cli_xxxxxxxx\",\n  \"appSecret\": \"xxxxxxxxxxxxxxxx\",\n  \"domain\": \"feishu\",\n  \"enabled\": true,\n  \"dmPolicy\": \"open\",\n  \"groupPolicy\": \"open\",\n  \"allowFrom\": [\"*\"]\n}\n","json",[19,769,770,780,795,807,819,832,845,857,872],{"__ignoreMap":86},[90,771,772,776],{"class":92,"line":93},[90,773,775],{"class":774},"sYBdl","\"writer\"",[90,777,779],{"class":778},"sgsFI",": {\n",[90,781,782,786,789,792],{"class":92,"line":111},[90,783,785],{"class":784},"sYu0t","  \"appId\"",[90,787,788],{"class":778},": ",[90,790,791],{"class":774},"\"cli_xxxxxxxx\"",[90,793,794],{"class":778},",\n",[90,796,797,800,802,805],{"class":92,"line":117},[90,798,799],{"class":784},"  \"appSecret\"",[90,801,788],{"class":778},[90,803,804],{"class":774},"\"xxxxxxxxxxxxxxxx\"",[90,806,794],{"class":778},[90,808,809,812,814,817],{"class":92,"line":189},[90,810,811],{"class":784},"  \"domain\"",[90,813,788],{"class":778},[90,815,816],{"class":774},"\"feishu\"",[90,818,794],{"class":778},[90,820,822,825,827,830],{"class":92,"line":821},5,[90,823,824],{"class":784},"  \"enabled\"",[90,826,788],{"class":778},[90,828,829],{"class":784},"true",[90,831,794],{"class":778},[90,833,835,838,840,843],{"class":92,"line":834},6,[90,836,837],{"class":784},"  \"dmPolicy\"",[90,839,788],{"class":778},[90,841,842],{"class":774},"\"open\"",[90,844,794],{"class":778},[90,846,848,851,853,855],{"class":92,"line":847},7,[90,849,850],{"class":784},"  \"groupPolicy\"",[90,852,788],{"class":778},[90,854,842],{"class":774},[90,856,794],{"class":778},[90,858,860,863,866,869],{"class":92,"line":859},8,[90,861,862],{"class":784},"  \"allowFrom\"",[90,864,865],{"class":778},": [",[90,867,868],{"class":774},"\"*\"",[90,870,871],{"class":778},"]\n",[90,873,875],{"class":92,"line":874},9,[90,876,877],{"class":778},"}\n",[757,879,881,882],{"id":880},"顶层-bindings","顶层 ",[19,883,884],{},"bindings",[81,886,888],{"className":765,"code":887,"language":767,"meta":86,"style":86},"{\n  \"agentId\": \"writer\",\n  \"match\": {\n    \"channel\": \"feishu\",\n    \"accountId\": \"writer\"\n  }\n}\n",[19,889,890,895,906,913,924,934,939],{"__ignoreMap":86},[90,891,892],{"class":92,"line":93},[90,893,894],{"class":778},"{\n",[90,896,897,900,902,904],{"class":92,"line":111},[90,898,899],{"class":784},"  \"agentId\"",[90,901,788],{"class":778},[90,903,775],{"class":774},[90,905,794],{"class":778},[90,907,908,911],{"class":92,"line":117},[90,909,910],{"class":784},"  \"match\"",[90,912,779],{"class":778},[90,914,915,918,920,922],{"class":92,"line":189},[90,916,917],{"class":784},"    \"channel\"",[90,919,788],{"class":778},[90,921,816],{"class":774},[90,923,794],{"class":778},[90,925,926,929,931],{"class":92,"line":821},[90,927,928],{"class":784},"    \"accountId\"",[90,930,788],{"class":778},[90,932,933],{"class":774},"\"writer\"\n",[90,935,936],{"class":92,"line":834},[90,937,938],{"class":778},"  }\n",[90,940,941],{"class":92,"line":847},[90,942,877],{"class":778},[15,944,945],{},"这里不要漏。",[15,947,948,949,951],{},"如果不配 ",[19,950,884],{},"，飞书消息不会路由到你的新 Agent。",[653,953,954],{"id":954},"配完后重启",[81,956,958],{"className":83,"code":957,"language":85,"meta":86,"style":86},"openclaw gateway restart\nopenclaw channels status --probe\n",[19,959,960,965],{"__ignoreMap":86},[90,961,962],{"class":92,"line":93},[90,963,964],{},"openclaw gateway restart\n",[90,966,967],{"class":92,"line":111},[90,968,969],{},"openclaw channels status --probe\n",[15,971,972],{},"如果状态正常，你应该能看到类似：",[46,974,975,980,985,990],{},[49,976,977],{},[19,978,979],{},"enabled",[49,981,982],{},[19,983,984],{},"configured",[49,986,987],{},[19,988,989],{},"running",[49,991,992],{},[19,993,994],{},"works",[42,996,997],{"id":997},"建议你按这个顺序走",[999,1000,1001,1006,1012,1017,1022,1026,1032,1037,1046],"ol",{},[49,1002,1003,1004],{},"先确认 ",[19,1005,133],{},[49,1007,1008,1009],{},"安装 ",[19,1010,1011],{},"Node",[49,1013,1014,1015],{},"检查 ",[19,1016,73],{},[49,1018,1008,1019],{},[19,1020,1021],{},"bun",[49,1023,1008,1024],{},[19,1025,21],{},[49,1027,1028,1029],{},"跑 ",[19,1030,1031],{},"openclaw setup --wizard",[49,1033,1034,1035],{},"启动 ",[19,1036,422],{},[49,1038,1028,1039,1042,1043],{},[19,1040,1041],{},"status"," / ",[19,1044,1045],{},"config validate",[49,1047,1048],{},"最后再接飞书",[15,1050,1051],{},"不要把安装、模型、飞书三件事糊在一起。\n一步一步来，反而更快。",[1053,1054,1055],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}",{"title":86,"searchDepth":111,"depth":111,"links":1057},[1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1075],{"id":44,"depth":111,"text":44},{"id":126,"depth":111,"text":127},{"id":153,"depth":111,"text":154},{"id":276,"depth":111,"text":277},{"id":310,"depth":111,"text":311},{"id":360,"depth":111,"text":361},{"id":394,"depth":111,"text":395},{"id":426,"depth":111,"text":426},{"id":480,"depth":111,"text":480},{"id":518,"depth":111,"text":519},{"id":581,"depth":111,"text":582},{"id":638,"depth":111,"text":638,"children":1070},[1071,1072,1073,1074],{"id":655,"depth":117,"text":655},{"id":713,"depth":117,"text":713},{"id":754,"depth":117,"text":755},{"id":954,"depth":117,"text":954},{"id":997,"depth":111,"text":997},"2026-03-07T00:00:00.000Z","把 OpenClaw 在 Windows 上装起来，并跑通最基本的配置。主推 winget，坑直接写在步骤里。","md",null,{"slug":1081},"openclaw-install-windows",true,"/post/zzao/openclaw/openclaw-install-windows","---\ntitle: OpenClaw 安装入门（Windows）\ndate: 2026-03-07\ntags: [OpenClaw, Windows, 安装教程]\nslug: openclaw-install-windows\nauthor: 阿康\ndescription: 把 OpenClaw 在 Windows 上装起来，并跑通最基本的配置。主推 winget，坑直接写在步骤里。\n---\n\n# OpenClaw 安装入门（Windows）\n\n这篇只讲一件事。\n把 `OpenClaw` 在 `Windows` 上装起来。\n\n如果你用的是 `macOS`，去看另一篇。\n\n这篇基于 `OpenClaw 2026.3.2`。\n\n## 你需要准备什么\n\n- 一台 `Windows`\n- 能开的 `PowerShell` 或 `Windows Terminal`\n- 网络能访问 `GitHub`、`npm`\n- 如果你平时靠代理上网，那就先把代理配好\n\n先确认网络是不是通的：\n\n```powershell\ncurl https://google.com -I\n```\n\n如果你需要手动给终端加代理，可以先执行：\n\n```powershell\n$env:https_proxy=\"http://127.0.0.1:7890\"\n$env:http_proxy=\"http://127.0.0.1:7890\"\n$env:all_proxy=\"socks5://127.0.0.1:7890\"\n```\n\n端口按你自己的代理工具改。\n\n## 先确认 winget 能不能用\n\nWindows 这篇主推 `winget`。\n\n先跑：\n\n```powershell\nwinget --version\n```\n\n如果这里都不通，再考虑手动下载安装。\n不要一上来就怀疑 `OpenClaw`。\n\n## 安装 Node.js\n\n```powershell\nwinget install OpenJS.NodeJS.LTS\n```\n\n装完别急着往下走。\n先立刻检查：\n\n```powershell\nnode -v\nnpm -v\nwhere.exe node\nwhere.exe npm\n```\n\n这里有个很关键的坑。\n\n**`winget` 装出来的 Node 正常是带 `npm` 的。**\n如果你看到：\n\n- `node` 有了\n- `npm` 没有\n\n大概率不是没装，而是：\n\n- 当前终端还没刷新环境变量\n- 或者 `C:\\Program Files\\nodejs` 还没进 PATH\n\n先关掉终端，再开一个新的 PowerShell。\n然后重新跑：\n\n```powershell\nnode -v\nnpm -v\n```\n\n如果还不行，再检查目录里有没有 `npm.cmd`：\n\n```powershell\ndir \"C:\\Program Files\\nodejs\\npm*\"\n```\n\n如果这里能看到 `npm.cmd`，那问题基本就是 PATH，不是 Node 没装上。\n\n## 安装 bun\n\n```powershell\npowershell -c \"irm bun.sh/install.ps1 | iex\"\n```\n\n装完确认：\n\n```powershell\nbun --version\nwhere.exe bun\n```\n\n如果这里找不到，大概率也是环境变量还没刷新。\n先重开终端。\n\n## 安装 OpenClaw\n\n```powershell\nnpm install -g openclaw\n```\n\n装完确认：\n\n```powershell\nopenclaw --version\nwhere.exe openclaw\n```\n\n如果 `openclaw` 找不到，也别急。\n先确认：\n\n- `npm` 全局目录有没有进 PATH\n- 当前终端是不是老会话\n\n很多时候重开终端就好了。\n\n## 初始化 OpenClaw\n\n第一次装，推荐先走：\n\n```powershell\nopenclaw setup --wizard\n```\n\n如果你想一次把更多东西配掉，也可以试：\n\n```powershell\nopenclaw onboard\n```\n\n第一次上手，还是建议先走 `setup --wizard`。\n\n## 启动 Gateway\n\n```powershell\nopenclaw gateway start\n```\n\n然后检查：\n\n```powershell\nopenclaw gateway status\n```\n\n这一步别跳。\n如果 `Gateway` 没起来，后面飞书也接不上。\n\n## 做一遍基本检查\n\n至少跑这几条：\n\n```powershell\nopenclaw status\nopenclaw gateway status\nopenclaw config file\nopenclaw config validate\n```\n\n主配置通常在：\n\n```powershell\n%USERPROFILE%\\.openclaw\\openclaw.json\n```\n\n主 Agent 的 workspace 通常在：\n\n```powershell\n%USERPROFILE%\\.openclaw\\agents\\main\\workspace\n```\n\n## 最基本的配置文件\n\n先认这几个：\n\n- `SOUL.md`：Agent 的人格、语气、角色定位\n- `USER.md`：你是谁、偏好什么\n- `MEMORY.md`：长期稳定记忆\n- `memory/*.md`：每天的短期记录\n- `AGENTS.md`：分工和工作规则\n\n## 模型怎么查，怎么改\n\n先看当前模型：\n\n```powershell\nopenclaw models status --plain\n```\n\n再看可用模型：\n\n```powershell\nopenclaw models list\n```\n\n如果你要切默认模型：\n\n```powershell\nopenclaw models set github-copilot/gpt-5.2\n```\n\n这里先提醒一句。\n\n**先做模型认证，再切模型。**\n\n先看：\n\n```powershell\nopenclaw models auth --help\n```\n\n不然你切过去，可能也跑不起来。\n\n## Agent 怎么看，怎么加\n\n先看现有 Agent：\n\n```powershell\nopenclaw agents list\n```\n\n如果你要加一个新的：\n\n```powershell\nopenclaw agents add writer\n```\n\n如果你想顺手指定模型和目录：\n\n```powershell\nopenclaw agents add writer --workspace %USERPROFILE%\\.openclaw\\agents\\writer\\workspace --model github-copilot/claude-sonnet-4.6\n```\n\n建完之后，重点还是去它自己的 workspace 里改：\n\n- `SOUL.md`\n- `USER.md`\n- `MEMORY.md`\n\n## 如果你下一步要接飞书\n\n完整教程在这里：\n\n[给 OpenClaw 新增一个 Agent（以飞书机器人为例）](/post/zzao/openclaw-new-agent-feishu)\n\n这里只说最关键的。\n\n### 飞书后台权限怎么配\n\n这里不要把 `im:message` 当成一个单独权限看。\n它在飞书后台里是一整组消息权限，不是点一个就完了。\n\n更稳的做法是：\n\n在飞书开放平台里，围绕这几类能力去开：\n\n- 机器人收消息\n- 机器人发消息\n- 单聊消息\n- 群聊消息 / 被 @ 消息\n- 用户 ID 读取\n\n也就是你在权限后台里，至少要把和下面这些关键词相关的权限确认一遍：\n\n- `im:message`\n- `im:message:send_as_bot`\n- `contact:user.id:readonly`\n\n然后把 `im:message` 下面那组和收消息相关的权限一起开好。\n别只开一个最短的名字就停。\n\n### 事件订阅怎么配\n\n在飞书开放平台里：\n\n- 进入你的 App\n- 打开「事件与回调」\n- 选择 **长连接**\n- 开启它\n- 订阅事件：`im.message.receive_v1`\n\n这里也有个顺序坑。\n\n**先启动 `Gateway`，再去飞书后台开长连接。**\n不然飞书经常检测不到连接。\n\n### OpenClaw 这边怎么配\n\n#### `channels.feishu.accounts`\n\n```json\n\"writer\": {\n  \"appId\": \"cli_xxxxxxxx\",\n  \"appSecret\": \"xxxxxxxxxxxxxxxx\",\n  \"domain\": \"feishu\",\n  \"enabled\": true,\n  \"dmPolicy\": \"open\",\n  \"groupPolicy\": \"open\",\n  \"allowFrom\": [\"*\"]\n}\n```\n\n#### 顶层 `bindings`\n\n```json\n{\n  \"agentId\": \"writer\",\n  \"match\": {\n    \"channel\": \"feishu\",\n    \"accountId\": \"writer\"\n  }\n}\n```\n\n这里不要漏。\n\n如果不配 `bindings`，飞书消息不会路由到你的新 Agent。\n\n### 配完后重启\n\n```powershell\nopenclaw gateway restart\nopenclaw channels status --probe\n```\n\n如果状态正常，你应该能看到类似：\n\n- `enabled`\n- `configured`\n- `running`\n- `works`\n\n## 建议你按这个顺序走\n\n1. 先确认 `winget`\n2. 安装 `Node`\n3. 检查 `npm`\n4. 安装 `bun`\n5. 安装 `OpenClaw`\n6. 跑 `openclaw setup --wizard`\n7. 启动 `Gateway`\n8. 跑 `status` / `config validate`\n9. 最后再接飞书\n\n不要把安装、模型、飞书三件事糊在一起。\n一步一步来，反而更快。\n",{"title":5,"description":1077},"post/zzao/openclaw/openclaw-install-windows",[21,25,1088],"安装教程","KEDYZUZjthQazgD5yHzNr9hmESA-xo7fXvEQk4fwI-8",[1091,1092],{"title":5,"path":1083,"stem":1086,"children":-1},{"title":1093,"path":1094,"stem":1095,"children":-1},"假设你是AI，你的Skill应该是什么样的","/post/zzao/ai-skill-structure","post/zzao/ai-skill-structure",1779005084793]