学习AI(三):Windows 下 WSL + OpenClaw + Git/GitHub

在 Windows 上进行底层开发或运行特定的 Linux 工具曾经是一件令人头疼的事情。但随着 WSL 2 (Windows Subsystem for Linux) 的成熟,我们如今可以在 Windows 上获得近乎原生的 Linux 体验。

最近,开源社区中有一个名为 OpenClaw 的项目(注:此处假设指代某款流行的机械爪控制库或类似的开源硬件驱动项目,若指代特定新晋热门项目,配置逻辑通用)引起了广泛关注。许多开发者想在 Windows 上搭建环境来编译、调试它,并配合 Git 进行版本管理。

本文将手把手教你如何在 Windows 上安装 WSL 2,部署 OpenClaw 开发环境,并配置 Git 与 GitHub,让你丝滑地开启开源贡献之旅。

第一步:安装并配置 WSL 2

WSL 2 是微软推出的新一代子系统,拥有完整的 Linux 内核,性能远超旧版。

旧版 Docker 使用 Hyper-V 虚拟机,但效率较低且资源占用高。新版 Docker Desktop 默认使用 WSL 2 作为后端, WSL 2 提供了一个轻量级、高性能的 Linux 内核环境,Docker 依赖这个环境来运行容器。所以安装Docker Desktop时,自带安装了WSL, WSL 2 (Windows Subsystem for Linux 2):这是基础架构,是一个兼容层,让 Windows 能运行 Linux 内核。Ubuntu:这是一个运行在 WSL 2 之上的 Linux 发行版(操作系统),你只需要 WSL 2 就能运行它。

如果你的系统还没有WSL 2,可以这样安装:

  1. 以管理员身份打开PowerShell
  2. 运行:
wsl --install

验证

wsl --list --verbose

安装ubuntu

D:\code\openclaw>wsl --install
正在下载: Ubuntu
正在安装: Ubuntu
已成功安装分发。可以通过 “wsl.exe -d Ubuntu” 启动它
正在启动 Ubuntu…
Provisioning the new WSL instance Ubuntu
This might take a while…
Create a default Unix user account: weejar
New password:weejar123
Retype new password:weejar123
passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.

启动ubuntu

D:\code\openclaw>wsl -l -v
  NAME              STATE           VERSION
* docker-desktop    Running         2
  Ubuntu            Stopped         2

D:\code\openclaw>wsl -d ubuntu

C:\Users\weejar>wsl --list --verbose
  NAME              STATE           VERSION
* docker-desktop    Running         2
  Ubuntu            Running         2

下载 CLI,通过 npm 全局安装,并启动设置向导。

$ curl -fsSL https://openclaw.ai/install.sh | bash

  🦞 OpenClaw Installer
  Because texting yourself reminders is so 2024.

✓ Detected: linux
→ Detected a OpenClaw source checkout in: /mnt/d/code/openclaw
Choose install method:
  1) Update this checkout (git) and use it
  2) Install global via npm (migrate away from git)
Enter 1 or 2:
2

Install plan
OS: linux
Install method: npm
Requested version: latest
Detected checkout: /mnt/d/code/openclaw

[1/3] Preparing environment
· Node.js v18.19.1 found, upgrading to v22+
· Installing Node.js via NodeSource
· Installing Linux build tools (make/g++/cmake/python3)
✓ Build tools installed



✓ Node.js v22 installed
· Active Node.js: v22.22.1 (/usr/bin/node)
· Active npm: 10.9.4 (/usr/bin/npm)

[2/3] Installing OpenClaw
✓ Git already installed
· Configuring npm for user-local installs
✓ npm configured for user installs
· Installing OpenClaw v2026.3.13
✓ OpenClaw npm package installed
✓ OpenClaw installed

[3/3] Finalizing setup

! PATH missing npm global bin dir: /home/weejar/.npm-global/bin
  This can make openclaw show as "command not found" in new terminals.
  Fix (zsh: ~/.zshrc, bash: ~/.bashrc):
    export PATH="/home/weejar/.npm-global/bin:$PATH"

🦞 OpenClaw installed successfully (OpenClaw 2026.3.13 (61d171a))!
Home sweet home. Don't worry, I won't rearrange the furniture.

· Starting setup


🦞 OpenClaw 2026.3.13 (61d171a) — Hot reload for config, cold sweat for deploys.

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██░▄▄▄░██░▄▄░██░▄▄▄██░▀██░██░▄▄▀██░████░▄▄▀██░███░██
██░███░██░▀▀░██░▄▄▄██░█░█░██░█████░████░▀▀░██░█░█░██
██░▀▀▀░██░█████░▀▀▀██░██▄░██░▀▀▄██░▀▀░█░██░██▄▀▄▀▄██
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                  🦞 OPENCLAW 🦞

┌  OpenClaw onboarding
...

Note: 后面的配置省略. 参考第一篇

命令行模式

openclaw -help

后期如果配置model或修改前期的配置,启动向导

openclaw onboard

OpenClaw WEB控制台登录方式http://127.0.0.1:18789/

后面可能需要自己创建一些agent skill, 也可以从github上下载, 先安装git. 在clone时报错。

配置 Git 与 GitHub

这是开源协作的核心。我们需要配置 Git 以便提交代码到 GitHub。

安装git

sudo apt install git -y

wsl中git 代码仓库

D:\code>wsl -d ubuntu
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。
weejar@dbaor:/mnt/d/code$ 

weejar@dbaor:/mnt/d/code$ git clone https://github.com/xxxxxx/db-ops-skills.git
Cloning into 'db-ops-skills'...
Username for 'https://github.com': weejar@gmail.com
Password for 'https://weejar%40gmail.com@github.com':
remote: Invalid username or token. Password authentication is not supported for Git operations.
fatal: Authentication failed for 'https://github.com/xxxx/db-ops-skills.git/'

原因是因为github已经几年前禁用了用户密码的方式,需要把密码替换为令牌(在github网站创建,有有效期).

解决方法

创建个人访问令牌(最简单)

你需要从你的 Git 提供商处生成一个令牌,并在终端提示你输入密码时,使用该令牌代替你的密码。

如果你使用的是 GitHub:

  1. 访问 GitHub 并登录。
  2. 点击右上角的个人头像,然后选择 Settings (设置)
  3. 向下滚动左侧边栏,点击最底部的 Developer settings (开发者设置)
  4. 点击 Personal access tokens (个人访问令牌),然后选择 Tokens (classic) (经典令牌)
  5. 点击 Generate new token (生成新令牌) 按钮(选择 classic)。
  6. 认证会发邮件一个认证码,
  7. 在 创建时 填写用途(例如:“我的电脑 Git”)。
  8. Scopes (范围) 下,勾选 repo 旁边的复选框(这赋予它访问你代码仓库的权限)。
  9. 向下滚动并点击 Generate token (生成令牌)
  10. 立即复制该令牌。(因为你之后将无法再次查看它)。
weejar@dbaor:/mnt/d/code$ git clone https://github.com/xxxx/db-ops-skills.git
Cloning into 'db-ops-skills'...
Username for 'https://github.com': weejar
Password for 'https://weejar@github.com':  --- 这里复制github上创建的一段令牌码
remote: Enumerating objects: 79, done.
remote: Counting objects: 100% (79/79), done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 79 (delta 4), reused 79 (delta 4), pack-reused 0 (from 0)
Receiving objects: 100% (79/79), 116.91 KiB | 76.00 KiB/s, done.
Resolving deltas: 100% (4/4), done.

使用git 从github上获取仓库 团队更新

在 GitHub 上将别人的仓库 Fork 到自己名下,修改后提交 Pull Request (PR)(你提到的 “push request” 通常指 Pull Request)的标准流程如下。

这是一个非常经典的开源协作流程,分为 Fork -> 克隆 -> 修改 -> 推送 -> 发起 PR 五个步骤。

第一步:Fork 仓库
  1. 打开你想要贡献代码的原始仓库页面(例如 github.com/owner/repo)。
  2. 点击页面右上角的 “Fork” 按钮。
  3. 等待片刻,GitHub 会将该仓库完整复制一份到你自己的账号下(地址变为 github.com/your-username/repo)。
第二步:克隆到本地

将你自己账号下的这个新仓库克隆到本地电脑进行开发。

# 替换为你的用户名和仓库名
git clone https://github.com/你的用户名/仓库名.git
cd 仓库名
第三步:配置上游仓库(推荐但非必须,用于同步最新代码)

为了防止在你开发期间原始仓库更新了代码导致冲突,建议添加原始仓库为“上游”(upstream)。

# 添加原始仓库地址为 upstream
git remote add upstream https://github.com/原始作者用户名/仓库名.git

# 验证是否添加成功
git remote -v
# 你应该看到 origin (你的) 和 upstream (原始的)
第四步:创建分支并修改代码

永远不要在 mainmaster 分支上直接修改,这是最佳实践。

  1. 同步最新代码 (可选,但推荐): git fetch upstream git checkout main git merge upstream/main
  2. 创建新分支 # 创建一个描述你修改内容的新分支,例如 fix-login-bug git checkout -b fix-login-bug
  3. 修改代码: 在本地编辑器中修改文件。
  4. 提交更改 git add . git commit -m "修复了登录页面的一个空指针异常"
  5. 推送到你的远程仓库 # 将新分支推送到你自己的 GitHub 仓库 (origin) git push origin fix-login-bug
第五步:发起 Pull Request (PR)
  1. 回到 你自己的 GitHub 仓库页面 (github.com/你的用户名/仓库名)。
  2. 页面顶部通常会出现一个黄色提示条:”You recently pushed branches…”,点击 “Compare & pull request” 按钮。
    • 如果没有提示条,点击 “Branch” 下拉菜单,选择你刚才推送的分支(如 fix-login-bug),然后点击 “Contribute” -> “Open pull request”。
  3. 填写 PR 信息
    • Base repository: 确保这里选的是 原始作者的仓库原始分支 (通常是 mainmaster)。
    • Head repository: 确保这里选的是 你的仓库你的分支
    • 标题与描述: 清晰地写出你做了什么修改,为什么这么改(如果有相关的 Issue 编号,记得引用,例如 Fixes #123)。
  4. 点击 “Create pull request”
后续流程
  • 等待审查:原始仓库的维护者会收到通知,他们会审查你的代码(Code Review)。
  • 修改反馈 :如果维护者提出修改意见,你只需要在本地同一个分支 ( fix-login-bug ) 上继续修改、commit 并 push。 git add . git commit -m "根据反馈修改了变量命名" git push origin fix-login-bug 注意 :不需要重新创建 PR,新的提交会自动更新到之前的 PR 中。
  • 合并:一旦维护者批准,他们会将你的代码合并到主项目中。
网络问题导致 git clone 失败?

如果遇到 Connection timed out,可能是 GitHub 连接不稳定。可以尝试配置 Git 代理(如果你有梯子):

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

(注意:端口号需根据你的实际情况修改)

通过 WSL 2,我们打破了操作系统的壁垒,让 Windows 用户也能享受纯粹的 Linux 开发体验。结合 OpenClaw 这样的优秀开源项目和 GitHub 的协作平台,你的创造力不再受限于环境。

现在,打开你的终端,开始构建属于你的下一个伟大项目吧!

— 持续更新