OpenClaw 新手指南:从零开始的 AI 机器人搭建完全攻略

OpenClaw 新手指南:从零开始的 AI 机器人搭建完全攻略

想随时随地通过微信、飞书、Telegram 等平台与 AI 助手对话?OpenClaw 帮你实现。

为什么选择 OpenClaw?

OpenClaw 是一个开源的自托管 AI 网关,让你可以在自己服务器上运行一个 central hub,连接所有聊天平台到强大的 AI 模型(如 Claude、GPT、Pi、Kimi 等)。

核心优势:

  • ✅ 数据完全掌控(自托管,隐私安全)
  • ✅ 多平台统一管理(一个网关服务所有渠道)
  • ✅ 无代码扩展(通过技能系统)
  • ✅ 24/7 可用(开机自启动)
  • ✅ 日志和记忆(支持长期对话)

10个核心技巧详解

技巧 1:快速安装与配置

适用场景: 第一次使用,5分钟内启动

# 1. 安装 Node.js 22+ nvm install22 nvm use 22# 2. 快速安装npminstall -g openclaw # 3. 启动向导(首次运行) openclaw onboard 

向导会问:

  • 你想使用哪个渠道?(WhatsApp、Telegram、Discord、飞书等)
  • 你想用哪个 AI 模型?(Claude、GPT、Kimi 等)
  • 是否需要开机自启?

5分钟后,你的第一个 AI 机器人就上线了。


技巧 2:多渠道管理

适用场景: 同时运营多个社群

配置示例 ~/.openclaw/openclaw.json

{"channels":{"telegram":{"accounts":{"default":{"token":"YOUR_TELEGRAM_BOT_TOKEN"},"alerts":{"token":"YOUR_ALERT_BOT_TOKEN","name":"Alert Bot"}}},"discord":{"accounts":{"work":{"token":"YOUR_DISCORD_BOT_TOKEN"}}},"feishu":{"accounts":{"default":{"app_id":"cli_xxxxx","app_secret":"xxxxx","encrypt_key":"xxxxx","verification_token":"xxxxx"}}}}}

实用技巧:

  • 一个机器人可以服务多个群组
  • 可以设置不同的机器人账户(如:工作机器人 vs 生活机器人)
  • 使用 channels list 命令查看所有已配置渠道

技巧 3:自动化任务(Cron Jobs)

适用场景: 定时提醒、自动生成报告

# 1. 添加早晨提醒任务 openclaw cronadd\ --name "晨间提醒"\ --cron "0 9 * * *"\ --system-event "早安!今天有哪些重要任务?"# 2. 添加每周总结任务 openclaw cronadd\ --name "每周总结"\ --cron "0 17 * * 5"\ --agent-turn "汇总本周任务完成情况,生成报告"

高级选项:

  • --at 1735689600:绝对时间(Unix 时间戳)
  • --every 1h:每小时执行一次
  • --deliver:通知到指定渠道

技巧 4:长期记忆管理

适用场景: AI 记住用户偏好、项目信息

记忆文件结构:

~/.openclaw/workspace/ ├── MEMORY.md # 长期记忆 └── memory/ ├── 2026-02-17.md # 每日日志 └── 2026-02-18.md 

MEMORY.md 示例:

# 用户信息 **姓名:** 小纯 **时区:** GMT+8 **联系方式:** 飞书 ### 偏好 - 喜欢详细的说明和可视化例子 - 注重美学和流畅的动画 - 偏好科技/科幻风格 

使用方法:

# 搜索记忆 openclaw memory search "项目进度"# 重建索引 openclaw memory index 

价值: AI 能根据记忆了解用户,提供更个性化的回复。


技巧 5:自动化脚本集成

适用场景: 文件操作、数据抓取自动处理

# 在对话中直接命令 AI: 你:帮我监控这个网站的价格变化,如果低于 100 元通知我 AI:我来设置监控脚本... # AI 会创建这样的脚本:# ~workspace/price-monitor.shcd ~workspace &&cat> price-monitor.sh <<'EOF' #!/bin/bash PRICE=$(curl -s https://example.com/product | grep -oP 'price: \K[0-9]+') if [ $PRICE -lt 100 ]; then openclaw message send \ --channel feishu \ --message "价格已降至 $PRICE!" fi EOFchmod +x price-monitor.sh # 然后添加到 Cron openclaw cronadd\ --name "价格监控"\ --cron "0 */6 * * *"\ --agent-turn "运行价格监控脚本"

技巧 6:语音唤醒(高级)

适用场景: 智能家居、车载系统

当前支持:

  • 十一语音合成 (ElevenLabs TTS)
  • 本地 TTS(如 macOS 原生)
  • WebSocket 语音流

配置示例:

{"voice":{"enabled":true,"provider":"elevenlabs","apiKey":"YOUR_API_KEY","voiceId":"your-voice-id"}}

唤醒词设置:
在对话中 AI 会等待特定短语:

  • “小纯”
  • “OpenClaw”
  • “AI助手”

技巧 7:浏览器自动化

适用场景: 自动化网页操作、数据抓取

# 启动浏览器(命令行或对话中) openclaw browser start # 在对话中: 你:帮我打开 GitHub,搜索 OpenClaw,统计 Star 数 AI:正在操作浏览器... (自动点击、搜索、读取数据) 你:GitHub 上 OpenClaw 的 Star 数是 8,732

场景举例:

  • 自动化注册流程
  • 网页数据抓取
  • 自动化测试
  • 每日数据汇总

技巧 8:开发插件扩展

适用场景: 集成企业内部系统

插件结构:

~workspace/skills/my-plugin/ ├── SKILL.md ├── index.ts └── package.json 

SKILL.md 示例:

--- name: "my-company-integration" description: "公司内部系统集成" --- # 使用场景 - 自动化 HR 工作流 - 工单系统自动化 # 如何使用 直接在对话中:帮我创建一个 Jira 工单 

插件自动激活:
当对话匹配描述时,AI 会自动启用插件功能和对应工具(可调用外部 API 等)。


技巧 9:实时监控与健康检查

适用场景: 24/7 部署,确保服务稳定

# 检查网关状态 openclaw status # 检查渠道健康 openclaw channels status --probe # 检查日志 openclaw logs --follow 

关键指标:
✓ 网关是否运行
✓ 渠道是否连接
✓ Token 余额
✓ 内存/CPU 使用

自动化监控:

openclaw cronadd\ --name "健康检查"\ --cron "0 */4 * * *"\ --agent-turn "检查服务健康状态,若有异常通知我"

技巧 10:团队协作与权限管理

适用场景: 企业部署,多人共用

{"channels":{"discord":{"accounts":{"default":{"token":"YOUR_TOKEN","allowFrom":["user:123","user:456"],"groups":{"work-team":{"allowFrom":["role:admin"]}}}}}}}

权限类型:

  • 用户级别:限制特定用户
  • 群组级别:限制特定 Discord 群
  • 角色级别:限制 Discord 角色

20个实战脚本

基础操作脚本

1. 快速配置备份

#!/bin/bashDATE=$(date +%Y%m%d)cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup.$DATEecho"配置已备份到 openclaw.json.backup.$DATE"

2. 日志清理

#!/bin/bash# 清理 7 天前的日志find ~/.openclaw/logs -name "*.log" -mtime +7 -delete echo"已清理 7 天前的日志"

3. 快速重启

#!/bin/bash openclaw gateway stop sleep3 openclaw gateway start echo"网关已重启"

数据抓取脚本

4. 网站价格监控

#!/bin/bashcheck_product_price(){URL=$1THRESHOLD=$2PRODUCT_NAME=$3PRICE=$(curl -s $URL |grep -oP 'price: \K[0-9.]+')if(( $(awk "BEGIN {print $PRICE <= $THRESHOLD}")));then openclaw message send \ --channel feishu \ --target "@your_alert_group"\ --message "$PRODUCT_NAME 价格已降至 $PRICE"fi}# 使用:$0 "https://example.com/product" 100 "iPhone 15"

5. 天气监控

#!/bin/bashCITY=$1WEATHER=$(curl -s "https://getweather.com/$CITY"| jq '.weather') openclaw message send \ --channel feishu \ --message "$CITY 今日天气:$WEATHER"

6. 股票价格监控

#!/bin/bashSYMBOL=$1PRICE=$(curl -s "https://api.stocks.com/$SYMBOL"| jq '.price') openclaw message send \ --channel feishu \ --message "$SYMBOL 的最新价格是 $PRICE"

自动化工作流脚本

7. 自动发送日报(邮件或飞书)

#!/bin/bashTODAY=$(date +%Y-%m-%d)# 从数据库或文件读取工作记录REPORT=$(cat ~workspace/tasks.log |grep $TODAY) openclaw message send \ --channel feishu \ --message "📊 今日工作报告\n$REPORT"

8. 服务器资源监控

#!/bin/bashCPU=$(top -bn1 |grep"Cpu(s)"|awk'{print $2}'|cut -d'%' -f1)MEM=$(free|grep Mem |awk'{printf "%.1f%%", $3/$2 * 100.0}')DISK=$(df -h |awk'$NF=="/"{printf "%s", $5}')if(( $(awk "BEGIN {print $CPU >80}")));then openclaw message send \ --channel feishu \ --message "⚠️ CPU 使用率过高:$CPU%"fiif[[$DISK== *9?%* ]];then openclaw message send \ --channel feishu \ --message "⚠️ 磁盘使用率过高:$DISK"fi

9. 备份脚本(完整备份)

#!/bin/bashBACKUP_DIR=~/.openclaw/backups DATE=$(date +%Y%m%d_%H%M%S)mkdir -p $BACKUP_DIR# 备份配置、数据、日志cp -r ~/.openclaw/openclaw.json $BACKUP_DIR/ cp -r ~/.openclaw/workspace $BACKUP_DIR/workspace_$DATE# 删除 30 天前的备份find$BACKUP_DIR -mtime +30 -delete 

10. 数据库备份(如果使用数据库)

#!/bin/bashBACKUP_FILE=~workspace/db_backup_$(date +%Y%m%d).sql if[ -f "~workspace/database.db"];then sqlite3 ~workspace/database.db .dump >$BACKUP_FILEfi

网络脚本

11. 网站连通性检查

#!/bin/bashURL=$1STATUS=$(curl -s -o /dev/null -w "%{http_code}" $URL)if[$STATUS -ne 200];then openclaw message send \ --channel feishu \ --message "❌ 网站异常:$URL (状态码: $STATUS)"fi

12. 监控 HTTPS 证书过期

#!/bin/bashDOMAIN=$1EXPIRY=$(echo| openssl s_client -servername $DOMAIN -connect $DOMAIN:443 2>/dev/null | openssl x509 -noout -dates |grep notAfter |cut -d= -f2)DAYS=$(echo$(($(date -d "$EXPIRY" +%s) - $(date +%s))) / 86400)if[$DAYS -lt 30];then openclaw message send \ --channel feishu \ --message "⚠️ $DOMAIN 证书将在 $DITS 天后过期!"fi

13. 扫描指定 IP 端口

#!/bin/bashIP=$1PORT=$2ifnc -z -w5 $IP$PORT;then openclaw message send \ --channel feishu \ --message "$IP:$PORT 端口正常"else openclaw message send \ --channel feishu \ --message "❌ $IP:$PORT 端口不可达"fi

文件操作脚本

14. 文件去重

#!/bin/bashDIR=$1 fdupes -r $DIR|whileread -r file;doif["$file"!="$PREV"];thenPREV=$fileelserm"$file"echo"已删除重复文件:$file"fidone

15. 定时清理过期文件

#!/bin/bashDIR=$1DAYS=$2find$DIR -type f -mtime +$DAYS -delete echo"已删除 $DIR 中 $DAYS 天前的文件"

AI 辅助脚本

16. 生成代码摘要

#!/bin/bashFILE=$1# 使用 AI 分析代码(需要配置) openclaw agent --message "请分析这个文件:$(cat $FILE)" --to feishu 

17. 自动总结日志

#!/bin/bashLOG_FILE=$1 openclaw agent --message "总结这个日志文件的核心错误:$(tail -100 $LOG_FILE)" --to feishu 

18. 自动翻译文本

#!/bin/bashTEXT=$1 openclaw agent --message "翻译成英文:$TEXT"

19. 生成测试数据

#!/bashTYPE=$1 openclaw agent --message "生成 $TYPE 的测试数据(10个样本)"

20. 代码审查

#!/bin/bashFILE=$1 openclaw agent --message "审查这段代码的安全性:$(cat $FILE)"

30个常见问题解答

安装与配置

Q1:OpenClaw 支持哪些平台?
A:支持:

  • 聊天平台:WhatsApp、Telegram、Discord、飞书、微信、Google Chat、Slack、iMessage、MS Teams
  • 操作系统:macOS、Linux、Windows(Via WSL)

Q2:最低系统要求是什么?
A:

  • CPU:现代处理器(2015 年后)
  • 内存:空闲 RAM > 2GB
  • 磁盘:至少 5GB 空间
  • 网络:允许端到端连接

Q3:是否需要显卡?
A:不需要,OpenClaw 主要是路由和管理工作流,不进行本地模型推理。

Q4:OpenClaw 是否支持多模型?
A:支持!可同时使用多个 AI 模型,并设置优先级和回退。配置示例如下:

{"agents":{"defaults":{"model":{"primary":"anthropic/claude-sonnet-4-6","fallbacks":["kimi-code","deepseek-chat"]}}}}

Q5:如何获取 API Key?
A:

  • Claude:https://console.anthropic.com
  • GPT:https://platform.openai.com
  • Kimi:https://platform.moonshot.cn
  • DeepSeek:https://platform.deepseek.com

使用技巧

Q6:如何让 AI 用专业口吻回复?
A:在 MEMORY.md 中设置:

# 系统提示 请用专业、技术性强的语气回复,使用 emoji 和结构化格式,避免无关的客套话。 

Q7:如何禁用某个渠道?
A:在 openclaw.json 中:

{"channels":{"telegram":{"enabled":false}}}

或在 CLI 中执行:

openclaw channels remove --channel telegram --delete 

Q8:如何让 AI 只在特定时间回复?
A:使用 Cron 设置:

openclaw cronadd\ --name "工作时间"\ --cron "* 9-18 * * 1-5"\ --system-event "已进入工作时间" openclaw cronadd\ --name "下班时间"\ --cron "0 0 20 * * 1-5"\ --system-event "已下班,工作消息转入离线模式"

Q9:如何防止 AI 泄露敏感信息?
A:

  1. 明确告知 AI 不要暴露数据,在 MEMORY.md 中添加规则
  2. 在系统提示中加入安全约束
  3. 避免在公共渠道讨论敏感项目
  4. 定期检查 MEMORY.md 和 memory/*.md 文件内容(必要时编辑/清理)

Q10:如何让 AI 记住对话?
A:OpenClaw 默认会在会话内记住对话,但跨会话持久记忆需手动构建和写入到记忆文件中。可以:

  1. 自动写入到会话文件(但默认不会同步到长期记忆)
  2. 关键总结由用户手动或通过脚本写入到 MEMORY.mdmemory/YYYY-MM-DD.md
  3. 启用记忆插件后配置记忆路径(例如:MEMORY.md + memory/*.md),并用 openclaw memory index 重建索引,之后检索生效

故障排除

Q11:启动失败,提示端口被占用怎么办?
A:检查并终止占用进程或更换端口:

# 检查哪个进程占用 18789 端口lsof -i :18789 # 终止进程kill -9 <PID># 或更换端口启动 openclaw gateway --port 18790

Q12:渠道连接失败怎么办?
A:诊断步骤:

# 1. 检查 Token 是否有效 openclaw channels status --probe # 2. 重新添加渠道 openclaw channels remove --channel telegram openclaw channels add --channel telegram --token YOUR_NEW_TOKEN # 3. 查看日志 openclaw logs --lines 100

Q13:Token 余额不足怎么办?
A:

  • 检查 Token 余额:openclaw models status --probe
  • 设置备用模型(回退机制)
  • 配置自动提醒(余额低于阈值时发送通知)

Q14:AI 回复很慢怎么办?
A:可能原因与解决方案:

  • 网络延迟:检查网络连接
  • 模型拥堵:切换为备用模型
  • 上下文过大:运行 openclaw memory index 减少上下文压缩压力
  • 响应超时:调大 agents.defaults.timeoutSeconds

Q15:如何查看详细错误日志?
A:实时查看错误:

openclaw logs --follow 

过滤错误日志:

openclaw logs --follow |grep -i error 

高级功能

Q16:如何使用多个工作空间?
A:创建单独的配置文件:

openclaw --profile work gateway start openclaw --profile personal gateway start 

Q17:如何让 AI 执行复杂工作流?
A:编写插件(skills)并在对话中使用。插件会自动注册工具,AI 可调用这些工具完成步骤。

Q18:如何备份所有数据?
A:

# 完整备份cp -r ~/.openclaw ~/.openclaw.backup.$(date +%Y%m%d)# 仅备份配置和记忆tar -czf backup.tar.gz ~/.openclaw/openclaw.json ~/.openclaw/workspace 

Q19:如何迁移到新机器?
A:

  1. 备份旧机器的整个 ~/.openclaw/ 目录
  2. 在新机器上安装 OpenClaw
  3. 恢复备份目录
  4. 更新配置中的 IP 地址、Token 等

Q20:如何升级到最新版本?
A:执行命令:

openclaw update # 重启网关 openclaw gateway restart 

常见异常

Q21:为什么 AI 会重复回复?
A:可能原因:

  • 网络不稳定导致重试
  • 渠道 API 限流
  • 配置中启用了不合适的重复规则。解决方案:
# 检查日志 openclaw logs |grep"duplicate"# 调整重试策略(或禁用不必要的重复检测)

Q22:为什么 AI 无法理解我的意图?
A:优化建议:

  • 使用更具体的描述
  • 在 MEMORY.md 中添加使用场景
  • 提供示例对话模式

Q23:为什么在某些群组中 AI 不响应?
A:检查群组权限设置(需要 @ 提及、白名单等):

{"channels":{"discord":{"groups":{"*":{"requireMention":true,"allowedFrom":["server:123"]}}}}}

Q24:如何限制 AI 的回复长度?
A:在系统提示中设置限制:

# 系统提示 请将回复控制在 300 字以内,使用结构化格式(列表、分段)提升可读性。 

Q25:如何让 AI 自动过滤垃圾信息?
A:在系统提示中添加垃圾信号词;或编写插件进行预处理过滤。

Q26:如何监控 OpenClaw 的资源使用?
A:查看系统健康状态(不含命令历史):

openclaw status --all 

也可查看 Gateway 的运行时指标,或通过 systemctl status openclaw-gateway 查看 GPU 占用(若使用本地模型)。

Q27:为什么 Cron 任务没有执行?
A:

  • 检查任务状态:openclaw cron status
  • 检查任务列表:openclaw cron list --all
  • 查看运行日志:openclaw cron runs --id <job-id> --limit 20

Q28:如何优化内存使用?
A:

  • 降低并发限制
  • 不用的渠道 disable
  • 避免过大上下文

Q29:如何让 AI 持续记住我的偏好?
A:写入 MEMORY.md/文件;可启用记忆与索引并设置索引路径:

openclaw memory status openclaw memory index --verbose 

Q30:如何联系技术支持?
A:

  • GitHub Issues:https://github.com/openclaw/openclaw/issues
  • Discord 社区:https://discord.com/openclaw
  • 文档:https://docs.openclaw.ai

快速故障排除手册

启动阶段

症状可能原因解决方案
无法启动网关Node 版本过低升级到 Node 22+
无法启动网关端口冲突更换端口或终止占用进程
Token 验证失败API Key 错误检查 API Key 是否有效
配置文件解析失败JSON 格式错误openclaw config get 验证

运行阶段

症状可能原因解决方案
渠道断连网络问题 / Token 过期检查网络并更新 Token
AI 不响应模型服务宕机切换到备用模型
回复变慢上下文过大减少历史记录或提升环境上限
内存溢出超出系统资源结束其他进程或升级硬件

高级阶段

症状可能原因解决方案
插件加载失败依赖缺失进入 plugin 目录执行 npm install
Cron 任务失败路径错误检查任务脚本路径和执行权限
浏览器无法启动Chrome 路径错误配置浏览器可执行文件路径

如果这篇文章对你有帮助,点赞、收藏、分享给其他开发者!

免费资源

  • 📚 官方文档:https://docs.openclaw.ai
  • 💻 GitHub 仓库:https://github.com/openclaw/openclaw
  • 💬 Discord 社区:https://discord.com/openclaw

本文由【OpenClaw 技术分享】原创,转载请注明来源。

如果你想快速搭建 AI 机器人,加我微信,免费配置指导。

Read more

70 倍性能碾压 + SQL 全兼容!金仓数据库终结 InfluxDB 的复杂时序场景统治

70 倍性能碾压 + SQL 全兼容!金仓数据库终结 InfluxDB 的复杂时序场景统治

70 倍性能碾压 + SQL 全兼容!金仓数据库终结 InfluxDB 的复杂时序场景统治 在物联网、工业互联网和运维监控领域,时序数据处理的需求正以前所未有的速度增长。面对海量设备产生的持续数据流,企业需要一个既能高速写入、又能快速分析的数据库引擎。长期以来,InfluxDB以其在时序领域的先发优势和简洁设计,成为许多团队的首选。然而,随着数据规模从“万级”跃升至“千万级”,业务查询从简单的点查变为复杂的多维度聚合,其性能瓶颈开始显现。 一场关于性能、扩展性与综合能力的较量,正在国产数据库金仓(KingbaseES)与国际开源方案InfluxDB之间展开。 性能对决:从数据摄入到复杂洞察的全面领先 真正的性能对比必须基于真实、可复现的测试场景。金仓数据库使用业界公认的开源时序基准测试套件TSBS,与InfluxDB进行了多轮正面较量,结论清晰而有力:在小规模、简单查询的工作负载下,两者各有千秋;但在大规模、复杂分析的真实生产环境中,金仓展现出压倒性的优势。 在数据写入吞吐方面,格局随数据规模急剧变化。测试模拟了从100台到1000万台设备的不同数据压力。当设备规模达到40

By Ne0inhk
用 Python 写你的第一个爬虫:小白也能轻松搞定数据抓取(超详细包含最新所有Python爬虫库的教程)

用 Python 写你的第一个爬虫:小白也能轻松搞定数据抓取(超详细包含最新所有Python爬虫库的教程)

用 Python 写你的第一个爬虫:小白也能轻松搞定数据抓取(超详细包含最新所有Python爬虫库的教程) 摘要 本文是一篇面向爬虫爱好者的超详细 Python 爬虫入门教程,涵盖了从基础到进阶的所有关键技术点:使用 Requests 与 BeautifulSoup 实现静态网页数据抓取,运用 lxml、XPath、CSS 选择器等高效解析技术,深入 Scrapy 框架搭建分布式爬虫项目,掌握 Selenium 和 Playwright 浏览器自动化处理 JS 动态渲染,探索 aiohttp、HTTPX 异步爬虫提升并发性能,并结合代理 IP 池、User-Agent 伪装、验证码识别等反爬虫策略应对电商数据抓取、新闻数据爬取、社交媒体采集等场景。快速上手大规模爬虫项目,打造可扩展、高效稳定的数据抓取解决方案。 目录 1. 前言 2. 爬虫基础知识

By Ne0inhk
盘点那些自带高级算法的SQL

盘点那些自带高级算法的SQL

文章目录 * **引言:SQL是算法的宝库** * **第一章:排序算法(ORDER BY)** * **原理与实现** * **扩展应用** * **第二章:聚合与哈希算法(GROUP BY, COUNT(DISTINCT))** * **原理与实现** * **扩展应用** * **第三章:连接算法(JOIN)** * **原理与实现** * **扩展应用** * **第四章:窗口函数(OVER, RANK, ROW_NUMBER)** * **原理与实现** * **扩展应用** * **第五章:索引与搜索算法(WHERE,B-Tree)** * **原理与实现** * **扩展应用** * **总结** 引言:SQL是算法的宝库 SQL(Structured Query Language)是一种声明式语言。用户只需指定“想要什么”(What),而无需关心“如何实现”(How)

By Ne0inhk
【NodeJS】使用 NVM 安装 Node.js 22 并配置国内镜像加速

【NodeJS】使用 NVM 安装 Node.js 22 并配置国内镜像加速

使用 NVM 安装 Node.js 22 并配置国内镜像加速 在前端开发或全栈开发中,Node.js 是绕不开的核心环境。但由于网络原因,直接使用 nvm install 安装 Node.js 往往会遇到下载缓慢甚至失败的问题。本文将手把手带你使用 NVM (Node Version Manager) 配置国内镜像源,并快速安装 Node.js 22 最新版本。 一、前置知识 1. NVM 是什么? * NVM 全称 Node Version Manager,顾名思义就是 Node.js 版本管理工具。 * 它可以让你在同一台电脑上自由切换多个 Node.js 版本,避免不同项目之间的环境冲突。 2.

By Ne0inhk