1. 从零搭一个 Flask + Bootstrap 5 + jQuery 项目,Claude Code 到底该配什么
Claude Code 是 Anthropic 推出的命令行编程助手,能在终端里直接读写项目文件、跑命令、改代码。用它开发 Python Web 应用,尤其是 Flask 后端配 Bootstrap 5 和 jQuery 前端的组合,效率提升非常明显。但很多人第一次用会卡在同一个地方:Claude Code 默认走官方通道,国内网络环境下请求经常超时,或者 Key 配置散落在多个文件里,换个项目就要重配一遍。
这篇面向的是已经装好 Claude Code、准备用它写 Python Web 应用的开发者。我会把工程化配置拆成三块:Claude Code 自身的 settings.json、项目级的 config.toml、以及通过统一 Key/API 通道接入 TaoToken 后的连通性验证。目标很明确——让你在本地把 Flask + Bootstrap 5 + jQuery 的开发环境跑通,Claude Code 能稳定调用模型帮你写路由、调模板、排查报错。
场景上,我以一个带系统配置页、开发日志、日志管理的 Flask 应用为例。这类项目有典型的工程化需求:配置要落盘到 config.json、日志要记录完整 SQL 拼接语句、前端弹窗点击外部不能关闭。Claude Code 在这些环节能帮上大忙,但前提是它的模型通道得先通。
2. TaoToken 前置:统一 Key 与 API 通道的准备
TaoToken 在这里扮演的是统一 Key/API 通道的角色。你不需要在 Claude Code、脚本、其他工具里分别维护多套凭证,而是用一套 Key 走同一个 API 入口。对 Claude Code 来说,关键是两件事:拿到 API Key,以及知道 API 地址。
先到控制台创建 Key。打开 https://taotoken.net/api-keys ,登录后新建一个 Key,复制出来存好。这个 Key 后面会写进 Claude Code 的环境变量或配置文件里。
API 入口地址是 https://taotoken.net/api ,注意这个地址不带任何查询参数,直接作为 base URL 使用。Claude Code 的 Anthropic 兼容通道需要的是完整的 API 根路径,配置时不要自己拼/v1之类的后缀,按文档给的格式填。
如果你还没决定用哪种接入方式,可以先在模型对话页面验证一下 Key 是否可用: https://taotoken.net/models 。在页面上选一个模型发一条测试消息,能正常返回就说明 Key 和通道都没问题。这一步能帮你排除掉大部分「配置写了但请求不通」的情况。
对于长期用 Claude Code 写代码的场景,可以考虑 Coding Plan: https://taotoken.net/coding-plan 。它更适合高频编码、Agent 类任务,额度模型和按量调用不太一样。接入文档在 https://taotoken.net/doc ,配置项有疑问时以文档为准。
3. 可复制配置:settings.json 与 config.toml 骨架
Claude Code 的配置分两层。一层是工具自身的 settings.json,控制模型通道、环境变量;另一层是项目里的 config.toml,控制这个 Flask 项目怎么跑、日志写哪里、端口是多少。分开管的好处是换项目只改项目配置,工具配置不用动。
3.1 Claude Code settings.json 骨架
settings.json 一般放在~/.claude/settings.json,Windows 下是%USERPROFILE%\.claude\settings.json。下面这份骨架把 API 通道和 Key 通过环境变量注入:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的Key粘贴在这里", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514" }, "permissions": { "allow": [ "Bash(python:*)", "Bash(pip:*)", "Bash(git:*)", "Read", "Write", "Edit" ] } }几个点说明一下。ANTHROPIC_BASE_URL填 TaoToken 的 API 根地址,不要带尾斜杠。ANTHROPIC_API_KEY换成你在控制台创建的那串 Key。ANTHROPIC_MODEL按你实际要用的模型名填,模型列表可以在模型对话页面确认。permissions.allow里放开 python、pip、git 这几类命令,Claude Code 在帮你装依赖、跑测试、提交代码时就不会频繁弹确认。
注意:Key 直接写在 settings.json 里有泄露风险。更稳妥的做法是写进系统环境变量,settings.json 里只留
ANTHROPIC_BASE_URL和ANTHROPIC_MODEL,Key 由环境变量提供。团队协作时尤其要注意别把带 Key 的文件提交到 Git。
3.2 项目 config.toml 骨架
项目根目录建一个config.toml,管 Flask 运行参数和日志:
[app] name = "flask-bootstrap-demo" host = "127.0.0.1" port = 5000 debug = true [log] file = "logs/app.log" level = "DEBUG" sql_echo = true max_bytes = 10485760 backup_count = 5 [frontend] bootstrap_version = "5.3.3" jquery_version = "3.7.1"sql_echo = true对应你要求的详尽 SQL 日志。Flask-SQLAlchemy 开启这个后会把拼接后的 SQL 打到日志里,排查错误时直接看日志文件就行。max_bytes和backup_count控制日志轮转,避免单个文件无限增长。
3.3 读取配置的 Python 代码
在app/__init__.py或单独的config_loader.py里读这个 toml:
import tomllib from pathlib import Path def load_config(path: str = "config.toml") -> dict: with open(Path(path), "rb") as f: return tomllib.load(f) CONFIG = load_config()Python 3.11 起tomllib是标准库,不用额外装。低于 3.11 就pip install tomli,把 import 换成import tomli as tomllib。
4. 验证请求:从连通性测试到 Flask 跑起来
配置写完不能直接信,得一步步验证。顺序是:先验 Key 和通道,再验 Claude Code 能调模型,最后验 Flask 项目能跑。
4.1 用 curl 验通道
最直接的方式是发一条最小请求:
curl -X POST https://taotoken.net/api/v1/messages \ -H "x-api-key: sk-你的Key" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 64, "messages": [{"role": "user", "content": "回复 ok"}] }'返回里能看到content字段带文本,就说明 Key 和通道都正常。如果返回 401,检查 Key 有没有复制全;返回 404,检查 base URL 有没有多写或少写路径。
4.2 在 Claude Code 里验证
终端进到项目目录,启动 Claude Code,直接问一句:
帮我看看当前目录结构,列出所有 Python 文件如果 Claude Code 能正常读取文件并回复,说明 settings.json 里的通道配置生效了。这一步同时验证了模型调用和文件读取权限。
4.3 跑起 Flask 项目
依赖装好之后启动:
pip install flask flask-sqlalchemy python -m flask --app app run --port 5000浏览器打开http://127.0.0.1:5000,能看到页面就说明后端通了。前端模板里引 Bootstrap 5 和 jQuery:
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>弹窗点击外部不关闭,用 Bootstrap 5 的 Modal 配置:
const modal = new bootstrap.Modal(document.getElementById('myModal'), { backdrop: 'static', keyboard: false });backdrop: 'static'让点击遮罩层不关闭,keyboard: false禁掉 ESC 关闭。这两个参数配合就满足了你「点击弹窗外面不能自动关闭」的要求。
5. 本篇常见错排查
配置过程中最容易踩的坑集中在几类,我按报错现象整理。
请求超时或连接被拒。先确认ANTHROPIC_BASE_URL填的是https://taotoken.net/api,没有多余路径。再确认本机网络能正常访问该地址,可以用 curl 直接测。如果 curl 通但 Claude Code 不通,检查 settings.json 的 JSON 格式有没有语法错误,逗号、引号最容易出问题。
401 未授权。Key 复制时带了空格,或者用了已删除的 Key。到控制台重新创建一个,粘贴时注意首尾不要有空白字符。环境变量方式注入时,确认变量名拼写正确。
模型名不识别。ANTHROPIC_MODEL填的模型名不在可用列表里。到模型对话页面确认当前可用的模型名,填错会返回模型不存在之类的错误。
Flask 启动报端口占用。5000 端口被占,改 config.toml 里的port,或者启动时加--port 5001。macOS 上 5000 端口常被系统服务占用,换端口最快。
SQL 日志没打出来。检查sql_echo是否为 true,以及 Flask-SQLAlchemy 的初始化有没有读到这个配置。日志级别设成 DEBUG 才能看到完整 SQL,设成 INFO 会过滤掉。
Claude Code 改文件时权限被拒。settings.json 的permissions.allow里没放开 Write 或 Edit。补上对应项,或者运行时手动确认一次。
tomllib 导入报错。Python 版本低于 3.11。要么升级 Python,要么装 tomli 并改 import。
6. 把通道固定下来,后面就顺了
配置这件事,一次做对后面省很多事。我的习惯是把 Claude Code 的 settings.json 和项目的 config.toml 分开管,工具配置里只放通道地址和模型名,Key 走环境变量,项目配置里放运行参数和日志策略。这样换项目时只动 config.toml,Claude Code 那边不用碰。
接入通道固定成 TaoToken 之后,Claude Code 调模型、脚本调模型、其他工具调模型都走同一套 Key,不用每个工具单独配一遍。连通性验证养成习惯:新环境先 curl 一条最小请求,通了再往下做。Flask 项目这边,config.toml 里的日志和端口配置建议一开始就写全,SQL 日志开着,排查问题时省得回头改。
如果你在配 Claude Code 的通道时遇到报错,先去接入文档对照配置项: https://taotoken.net/doc 。需要确认模型是否可用,到模型对话页面发一条测试消息最快: https://taotoken.net/models 。长期高频用 Claude Code 写代码的话,Coding Plan 的额度模型更适合: https://taotoken.net/coding-plan 。Key 的管理和创建在控制台: https://taotoken.net/api-keys 。