尧图精选

谷粒商城学习笔记,第一天:环境搭建——用 TaoToken 统一 Key 打通 Docker 与 VSCode 开发链路

🕒 发布时间:2026/10/2 20:39:30 📁 来源:尧图网络
1. 谷粒商城第一天环境搭建到底在搭什么谷粒商城这个项目对很多刚接触微服务的朋友来说第一天的环境搭建往往比后面写业务代码还劝退。原因不复杂你要同时把 Docker 容器、VSCode 远程开发、Git 版本管理三条链路都跑通而这三条链路各自都有一套凭证体系。Docker 拉镜像要配加速地址VSCode 里装 AI 编码插件要填 API KeyGit 推代码要配 SSH 或 Token。三套东西分散在三个地方改一个忘一个第二天回来就不知道当时怎么配的了。我这次重做谷粒商城的第一天核心目标就一个把多工具的调用凭证收敛到 TaoToken 这一条通道上。TaoToken 是一个统一的大模型 API 接入平台它能做什么简单说你原本要在 VSCode 插件、命令行工具、脚本里分别填不同厂商的 Key 和 Base URL现在只需要一个 TaoToken 的 Key 和一个 Base URL就能让这些工具都走同一条通道。适合谁适合正在做谷粒商城这类多模块项目、又想在开发环境里接入 AI 辅助编码的开发者。这一篇会交付三样可以直接复制的东西一份能拉起 MySQL 和 Redis 的 Docker Compose 片段、一份 VSCode 的 settings.json 配置、一组 Git 初始化命令。然后给你三步验证动作容器起来了没、远程连接通了没、代码拉下来了没。整个过程不需要你去折腾网络层面的东西全部在本地和正常网络环境下完成。先说清楚三条主线的关系。Docker 负责把 MySQL、Redis 这些中间件跑起来它们是谷粒商城后续模块依赖的基础设施。VSCode 负责你的编码体验包括远程连接容器和接入 AI 补全。Git 负责代码版本从 Gitee 或 GitHub 拉取项目骨架。三条线各自独立但共享同一个开发目录和同一套凭证管理思路。把凭证统一到 TaoToken 之后你换机器、重装环境时只需要重新填一次 Key不用满世界找之前配在哪了。这里有个容易踩的坑很多人第一天把 Docker 装完、MySQL 跑起来就以为环境搭好了结果第二天写代码时发现 VSCode 里的插件连不上模型或者 Git 推不上去。所以第一天的验收标准不是容器在跑而是三条链路都能完成一次完整的请求。下面按顺序来。2. TaoToken 前置准备统一 Key 与 API 通道在动 Docker 和 VSCode 之前先把 TaoToken 的凭证准备好。这一步花不了几分钟但后面所有工具都要用到它所以放在最前面。你需要拿到两样东西一个 API Key 和一个 Base URL。API Key 在 TaoToken 控制台的 API Keys 页面创建Base URL 固定是https://taotoken.net/api。注意这个地址后面不加任何路径后缀具体到某个模型或接口时再按文档拼接。创建 Key 的入口在这里访问 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 登录后点新建复制生成的 Key 字符串。这个字符串只显示一次建议直接存到你的密码管理器或者本地一个临时文件里后面配置 VSCode 和命令行都要用。如果你对具体有哪些模型可用、每个模型的调用方式有疑问可以先去模型对话页面看一眼https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。这个页面能直接对话测试确认 Key 能用之后再往下走。为什么要在环境搭建阶段就引入 TaoToken因为谷粒商城第一天你会装一堆 VSCode 插件其中不少支持自定义 API 端点。如果你每个插件都去填不同厂商的 Key配置会散落在各个插件的设置里重装一次全丢。统一走 TaoToken 之后你只需要记住一个 Base URL 和一个 Key所有支持 OpenAI 兼容协议的工具都能复用。这里要强调一个概念TaoToken 不是让你绕过什么而是把原本分散的调用凭证做集中管理。你仍然是在正常网络环境下访问taotoken.net不需要任何额外网络配置。这一点在后面的 Docker 和 VSCode 配置里会反复体现——所有配置都是标准的 HTTP 请求没有任何特殊处理。拿到 Key 之后建议先做一次最小验证确认 Key 有效。用 curl 发一个最简单的请求curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer 你的Key \ -d { model: gpt-4o-mini, messages: [{role: user, content: ping}], max_tokens: 10 }如果返回里有choices字段说明 Key 和通道都正常。如果返回 401检查 Key 有没有复制完整、Bearer 后面有没有多余空格。这一步过了再往下配 Docker 和 VSCode 就有底了。关于模型 ID 的写法不同工具对模型名的要求略有差异。有的要求写gpt-4o-mini有的要求带前缀。你在 TaoToken 的文档页能查到当前支持的模型列表和对应的 ID 写法https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。建议把常用的两三个模型 ID 记下来配置时直接粘贴避免手打出错。3. 可复制配置Docker Compose 与 VSCode settings.json这一节是整篇的核心给你可以直接复制粘贴的配置片段。分三块Docker Compose 拉起 MySQL 和 Redis、VSCode settings.json 接入 TaoToken、Git 初始化命令。先看 Docker Compose。相比原文里一条条docker run用 Compose 文件管理更清晰改端口、改挂载路径都集中在一个文件里。在项目根目录建一个docker-compose.ymlversion: 3.8 services: mysql: image: mysql:5.7 container_name: gulimall-mysql restart: always ports: - 3307:3306 environment: MYSQL_ROOT_PASSWORD: admin123 TZ: Asia/Shanghai volumes: - /opt/software/mydata/mysql/logs:/var/log/mysql - /opt/software/mydata/mysql/data:/var/lib/mysql - /opt/software/mydata/mysql/conf:/etc/mysql command: --character-set-serverutf8mb4 --collation-serverutf8mb4_unicode_ci --default-authentication-pluginmysql_native_password redis: image: redis:latest container_name: gulimall-redis restart: always ports: - 6380:6379 volumes: - /opt/software/mydata/redis/data:/data - /opt/software/mydata/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf command: redis-server /usr/local/etc/redis/redis.conf注意几个点。MySQL 端口映射到宿主机的 3307避免和你本机可能已有的 3306 冲突。字符集直接在 command 里指定 utf8mb4比事后改配置文件省事。Redis 的配置文件挂载出来你需要在宿主机/opt/software/mydata/redis/conf/redis.conf里至少写一行appendonly yes开启持久化否则容器重启数据就没了。启动命令docker compose up -d docker compose ps看到两个容器状态都是 Up 就对了。如果 MySQL 起不来大概率是挂载目录权限问题给/opt/software/mydata加一下写权限再重试。接下来是 VSCode 的 settings.json。这个文件的位置Linux/Mac 在~/.config/Code/User/settings.jsonWindows 在%APPDATA%\Code\User\settings.json。如果你用 VSCode 的 Remote 功能连容器或远程机器也可以在远程端的 settings.json 里配。核心是把 TaoToken 的 Base URL 和 Key 填进去让支持自定义端点的插件走这条通道{ editor.fontSize: 14, editor.tabSize: 2, files.autoSave: afterDelay, terminal.integrated.defaultProfile.linux: bash, ai.provider.baseUrl: https://taotoken.net/api, ai.provider.apiKey: 你的TaoToken Key, ai.provider.model: gpt-4o-mini, git.autofetch: true, git.confirmSync: false }这里ai.provider.baseUrl、ai.provider.apiKey、ai.provider.model三个字段是通用写法具体插件可能用不同的键名。比如有的插件用continue.provider或cline.apiKey。你要做的是找到你装的插件对应的设置项把 Base URL 填https://taotoken.net/apiKey 填 TaoToken 的 KeyModel ID 填你在文档里查到的模型名。三件套缺一不可只填 Key 不填 Base URL 会默认走插件自己的端点那就绕开 TaoToken 了。如果你用的是 Claude Code 这类命令行工具配置方式类似在它的配置文件里指定 Base URL 和 Key。Claude Code 的接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite 里面有完整的配置示例。最后是 Git 初始化。谷粒商城的代码通常从 Gitee 或 GitHub 拉取先配好身份和 SSHgit config --global user.name 你的名字 git config --global user.email 你的邮箱 ssh-keygen -t rsa -C 你的邮箱 cat ~/.ssh/id_rsa.pub把输出的公钥内容复制到 Gitee 或 GitHub 的 SSH 设置里然后测试ssh -T gitgitee.com看到欢迎信息就说明 SSH 通了。接着克隆项目骨架git clone gitgitee.com:你的账号/gulimall.git cd gulimall git status到这里三份配置都齐了。Docker Compose 管中间件VSCode settings.json 管编码环境和 AI 通道Git 管代码版本。三者共享同一个项目目录凭证统一走 TaoToken。4. 三步验证容器启动、远程连接、代码拉取配置写完不算完得实际跑一遍确认每条链路都通。这一节给你三个验证动作按顺序做每个都有明确的成功标志。第一步验证容器启动。在项目根目录执行docker compose up -d docker compose ps成功标志输出里 mysql 和 redis 两个服务的 STATUS 都是Up并且 mysql 的 PORTS 列显示0.0.0.0:3307-3306/tcp。如果 mysql 显示Restarting或Exited用docker compose logs mysql看日志。最常见的报错是mysqld: Cant create/write to file这是挂载目录权限问题执行sudo chmod -R 777 /opt/software/mydata/mysql后重启容器。容器起来后进 MySQL 确认能连docker exec -it gulimall-mysql mysql -uroot -padmin123 -e show databases;能看到information_schema、mysql等默认库就说明 MySQL 正常。Redis 同理docker exec -it gulimall-redis redis-cli ping返回PONG就对了。第二步验证 VSCode 远程连接和 AI 通道。如果你用 VSCode 的 Remote-SSH 或 Dev Containers 连到开发机先确认连接建立。然后在 VSCode 里打开一个测试文件触发一次 AI 补全或对话。成功标志插件返回了模型生成的内容而不是报401 Unauthorized或local proxy failed。如果报 401检查 settings.json 里的 Key 有没有多余空格Base URL 是不是https://taotoken.net/api而不是别的。如果报local proxy failed说明插件在尝试走本地代理你需要把插件的代理设置关掉让它直连 Base URL。如果报reading choices相关错误通常是返回体格式和插件预期不一致确认你填的 Model ID 在 TaoToken 文档的支持列表里。第三步验证代码拉取。在项目目录执行git pull origin master git log --oneline -5成功标志能拉到最新提交git log显示最近五条提交记录。如果git pull报Permission denied (publickey)说明 SSH Key 没配好回到上一节重新生成并添加公钥。如果报Could not resolve host检查你的 Git 远程地址是不是写错了。三步都过了第一天的环境搭建就算完成。这时候你的开发机上MySQL 和 Redis 在容器里跑着VSCode 能远程连接并且 AI 通道走 TaoToken代码仓库能正常拉取和提交。三条链路各自独立验证过后面写业务代码时不会因为环境问题卡住。这里补一个实用技巧把这三步验证写成一个check-env.sh脚本每次重装环境或换机器后跑一遍省得手动敲。脚本内容就是把上面的命令串起来每步输出成功或失败。这个习惯在谷粒商城后续模块开发里会帮你省很多排查时间。5. 本篇常见报错排查401、local proxy failed、reading choices环境搭建阶段最容易卡住的就是各种报错。这一节把几个高频错误和对应的排查路径列出来你遇到时直接对照。401 Unauthorized。这个报错出现的位置可能在 VSCode 插件、curl 测试、或者命令行工具里。原因通常有三个Key 复制不完整、Key 前后有空格、Base URL 写错导致请求发到了别的端点。排查顺序先用第 2 节的 curl 命令单独测 Key如果 curl 也 401那就是 Key 本身的问题回控制台重新生成一个。如果 curl 通了但插件 401那就是插件配置里的 Key 或 Base URL 填错了重点检查有没有把https://taotoken.net/api误写成带/v1或其他后缀的地址。local proxy failed。这个报错说明插件在尝试通过本地代理发请求但代理没起来或者配置不对。TaoToken 的接入不需要任何本地代理所以你要做的是在插件设置里找到代理相关选项把它关掉或者清空。常见的位置是http.proxy、proxy这类字段。关掉之后插件会直连 Base URL问题就解决了。如果你之前配过系统级代理也检查一下环境变量HTTP_PROXY、HTTPS_PROXY有没有设置有的话临时 unset 掉再试。reading choices 相关错误。这个报错通常长这样Cannot read properties of undefined (reading choices)。意思是插件拿到了返回体但里面没有choices字段它去读的时候就报错了。原因一般是 Model ID 填错了或者请求发到了不兼容的端点。排查确认你填的 Model ID 在 TaoToken 文档的支持列表里确认 Base URL 是https://taotoken.net/api确认请求路径拼接正确。如果用的是 OpenAI 兼容协议路径通常是/v1/chat/completions但具体到插件里可能只需要填 Base URL路径由插件自己拼。OAuth 相关报错。如果你用的工具走 OAuth 流程而不是 API Key可能会报OAuth token exchange failed或类似信息。TaoToken 的接入以 API Key 为主遇到 OAuth 报错说明你选错了认证方式。回到工具的设置里把认证方式从 OAuth 改成 API Key然后填 TaoToken 的 Key。Docker 容器起不来。除了前面说的权限问题还有一个常见原因是端口被占用。docker compose up -d报Bind for 0.0.0.0:3307 failed: port is already allocated说明 3307 被别的进程占了。用lsof -i:3307找到占用进程要么停掉它要么改 Compose 文件里的端口映射。Redis 的 6380 同理。Git 拉取报错。Permission denied (publickey)是 SSH Key 没配好重新生成并添加公钥。fatal: remote origin already exists是远程地址已经配过了用git remote set-url origin 新地址改掉。fatal: refusing to merge unrelated histories是本地和远程历史不一致加--allow-unrelated-histories参数再拉。这些报错覆盖了第一天 90% 的卡点。遇到没列出来的先看报错信息里的关键词然后去 TaoToken 的文档页搜一下https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。文档里有常见问题的排查章节比到处搜答案快。6. 后续开发链路怎么继续用这套配置第一天的环境搭好之后后面每天开发都会复用这套配置。这一节说几个长期使用的注意点帮你少走弯路。凭证管理方面TaoToken 的 Key 建议定期轮换。控制台里可以创建多个 Key给不同工具分配不同的 Key这样某个工具出问题时可以单独禁用不影响其他工具。比如 VSCode 插件用一个 Key命令行工具用另一个。轮换时只需要在对应工具的配置里改一处不用满世界找。Docker 容器方面谷粒商城后续会加更多中间件比如 Nacos、RabbitMQ、Elasticsearch。建议继续用 Compose 管理每个服务一个 service 块端口和挂载路径统一规划。不要把docker run和 Compose 混着用否则容器管理会乱。数据卷的宿主机路径建议统一放在/opt/software/mydata/下面按服务名分目录备份和迁移都方便。VSCode 配置方面settings.json 可以同步到你的账号换机器时自动拉下来。但 Key 这种敏感信息不建议直接写在 settings.json 里同步可以用环境变量或者单独的本地配置文件settings.json 里引用变量。这样即使配置同步了Key 也不会泄露。Git 方面谷粒商城的代码通常分多个仓库建议在项目根目录建一个 workspace 文件把相关仓库都加进去VSCode 打开 workspace 就能同时管理多个仓库。提交信息写清楚模块和改动内容后面排查问题时git log能帮大忙。如果你后续要长期在这个项目里做编码和 Agent 相关的开发可以了解一下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。它适合需要持续调用模型进行代码生成和辅助的场景比按次调用更划算。最后说一个我自己的习惯每次环境搭建完成后把当天的配置文件和命令整理成一个setup-notes.md放在项目根目录记录端口、路径、Key 的存放位置不写 Key 本身、以及遇到的报错和解决办法。第二天回来不用回忆直接看笔记就能继续。这个习惯在谷粒商城这种多模块项目里特别有用因为模块之间的环境依赖容易搞混。到这里第一天的环境搭建就完整了。Docker 容器在跑VSCode 远程连接和 AI 通道走 TaoTokenGit 能拉能推。三条链路验证过报错排查路径也有了。接下来可以开始看项目结构准备第二天的内容。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →