必须先验证node -v和npm -v在系统终端中成功执行,否则vscode环境配置无效;重装node.js时务必勾选add to path,或手动将安装路径加入系统环境变量。

VSCode里Node.js没装好,node -v 报错就别往下走了
先确认本地有没有真正可用的 Node.js 环境,不是只下过安装包就算。打开终端(Windows 用 PowerShell 或 CMD,macOS/Linux 用 Terminal),直接输 node -v 和 npm -v。如果报“command not found”或“不是内部或外部命令”,说明 PATH 没配好——哪怕你双击安装了官方 MSI 或 pkg,也可能没勾选“Add to PATH”。重装时务必勾上,或者手动把 Node 安装目录下的 node.exe 所在路径(比如 C:Program Files
odejs)加进系统环境变量。
用 npm init -y 初始化项目后,必须装 axios 或 node-fetch
调本地大模型 API(比如 Ollama 的 http://localhost:11434/api/chat、LM Studio 的 http://127.0.0.1:1234/v1/chat/completions)本质是发 HTTP 请求,Node 原生不带 fetch,得靠第三方库。推荐 axios:它默认支持 AbortController 超时控制,对可能卡住的大模型响应更友好。
- 运行
npm install axios,别漏掉node_modules目录生成 - 如果用 ESM(即文件开头有
import),要在package.json加"type": "module",否则require()会报错 - 某些本地模型服务(如 KoboldCPP)只接受
application/json,但默认 axios 不设 header,得显式写headers: { 'Content-Type': 'application/json' }
vscode-js-debug 调试器跑不起来?检查 launch.json 的 runtimeExecutable
VSCode 默认调试器(vscode-js-debug)有时会找不到 node 可执行文件,尤其多版本共存(nvm/pfn)时。直接在项目根目录建 .vscode/launch.json,关键字段不能省:
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
{
"version": "0.2.0",
"configurations": [
{
"type": "pwa-node",
"request": "launch",
"name": "Run AI explainer",
"skipFiles": ["<node_internals>/**"],
"program": "${file}",
"runtimeExecutable": "/usr/local/bin/node", // macOS 示例;Windows 写 "C:\Program Files\nodejs\node.exe"
"env": { "NODE_OPTIONS": "--enable-source-maps" }
}
]
}</node_internals>
注意:runtimeExecutable 必须指向真实存在的 node 路径,用 which node(macOS/Linux)或 where node(Windows)查准。路径写错,断点永远不生效。
调用本地模型接口返回空或 400,先看请求体结构和模型名是否匹配
不同本地服务对请求格式要求差异极大。Ollama 要 model 字段传模型名(如 "llama3"),而 LM Studio 要 model 传完整路径或 ID,KoboldCPP 则压根不用 model 字段——它靠启动时指定。最常踩的坑是:
- Ollama 的
messages数组里role只认"system"、"user"、"assistant",写成"prompt"直接 400 - 想让模型解释代码,提示词(prompt)别光扔一段 JS,要明确指令,例如:
{"role":"user","content":"请逐行解释以下 JavaScript 代码,用中文回答:```function foo() { return 42; }```"} - 部分服务默认流式响应(
stream: true),但你的代码没处理response.body的 ReadableStream,就会卡住或收不到数据
复杂点在于,同一个端口可能被多个本地模型服务占用(比如 Ollama 占 11434,LM Studio 占 1234),启动前用 lsof -i :11434(macOS/Linux)或 netstat -ano | findstr :11434(Windows)确认端口干净。模型名拼错、端口冲突、请求头缺失——三者占本地 AI 接口调试失败的 80%。










