2026 独立开发者 AI 工具栈:我的选择和理由
做独立开发者一年半了,工具栈换了好几轮。从最开始什么都试,到现在基本稳定下来。分享一下我目前在用的 AI 相关工具,每个都说说为什么选它、花多少钱。
完整工具栈
| 类别 | 工具 | 月费 | 用途 |
|---|---|---|---|
| 编程 IDE | Cursor Pro | ¥135 | 日常写代码 |
| 终端 AI | Claude Code | ¥0(API 计费) | 复杂重构、项目级任务 |
| API 管理 | ofox.ai | 按量 ≈¥200 | 统一 AI API 入口 |
| 设计 | v0.dev | ¥0(免费额度) | UI 原型生成 |
| 文案 | ChatGPT Plus | ¥140 | 写文档、想方案 |
| 部署 | Vercel | ¥0-135 | 前端部署 |
| 数据库 | Supabase | ¥0-180 | PostgreSQL + Auth |
每月 AI 相关支出大概 ¥500-700。
编程:Cursor + Claude Code
Cursor Pro:日常写代码的主力。Tab 补全 + Cmd+K 编辑 + Chat 三板斧基本覆盖了 80% 的编程场景。
我的 .cursorrules 配置(精简版):
## 代码风格
- TypeScript strict mode
- 函数式风格优先,避免 class
- 组件用 function 声明,不用箭头函数
- 错误处理用 Result pattern,不用 try/catch
## 项目约定
- API 路由在 app/api/ 下
- 组件在 components/ 下,页面级组件在 app/ 下
- 数据库操作统一用 Drizzle ORM
- 样式用 Tailwind,不写 CSS 文件
## 禁止
- 不要用 any
- 不要用 console.log 做错误处理
- 不要在组件里直接调数据库
Claude Code:Cursor 搞不定的复杂任务交给它。比如:
- 跨多个文件的重构
- 看整个项目结构给架构建议
- 写迁移脚本
两个工具配合使用,日常小改用 Cursor,大改用 Claude Code。
API 管理:为什么用聚合平台
我的产品里同时用了好几个模型:
- 对话功能 → GPT-4o-mini(便宜快速)
- 代码生成 → Claude Sonnet(代码质量好)
- 图片分析 → GPT-4o(多模态)
- 文本 embedding → text-embedding-3-small
以前每家单独管 key,单独充值,每月对 4 份账单,烦得要死。现在全走 ofox.ai,一个 key,一份账单,API 兼容 OpenAI 格式。
// lib/ai.ts — 项目里统一的 AI 客户端
import OpenAI from "openai";
export const ai = new OpenAI({
apiKey: process.env.OFOX_API_KEY,
baseURL: "https://api.ofox.ai/v1",
});
// 按场景封装
export async function chatComplete(prompt: string, model = "gpt-4o-mini") {
const res = await ai.chat.completions.create({
model,
messages: [{ role: "user", content: prompt }],
max_tokens: 1000,
});
return res.choices[0].message.content;
}
export async function codeGenerate(prompt: string) {
return chatComplete(prompt, "claude-sonnet-4-5");
}
export async function analyzeImage(imageUrl: string, prompt: string) {
const res = await ai.chat.completions.create({
model: "gpt-4o",
messages: [{
role: "user",
content: [
{ type: "text", text: prompt },
{ type: "image_url", image_url: { url: imageUrl } },
],
}],
max_tokens: 500,
});
return res.choices[0].message.content;
}
前端开发:v0.dev
Vercel 的 v0.dev 用来快速生成 UI 组件。我的用法是:
- 用 v0 生成初始组件
- 复制到项目里
- 用 Cursor 微调细节
比自己从零写 UI 快 5 倍。
数据库:Supabase
选 Supabase 不是因为 AI,但它和 AI 配合很好:
- 自带 pgvector 扩展,不用单独搞向量数据库
- Row Level Security 做权限控制
- 免费额度够个人项目用
// 存储 embedding 的表
// CREATE TABLE documents (
// id SERIAL PRIMARY KEY,
// content TEXT,
// embedding VECTOR(1536)
// );
import { createClient } from "@supabase/supabase-js";
const supabase = createClient(process.env.SUPABASE_URL!, process.env.SUPABASE_KEY!);
// 语义搜索
async function semanticSearch(queryEmbedding: number[], limit = 5) {
const { data } = await supabase.rpc("match_documents", {
query_embedding: queryEmbedding,
match_count: limit,
});
return data;
}
成本控制心得
| 策略 | 效果 |
|---|---|
| 简单任务用 mini 模型 | 省 70% API 费用 |
| 相同请求加 Redis 缓存 | 省 20% |
| Cursor 免费的 Copilot++ 够用就不升 Pro | 省 ¥135/月 |
| Supabase/Vercel 用免费额度 | 省 ¥300+/月 |
我踩过的坑
坑 1:工具太多反而低效
最早我同时用 Cursor + Windsurf + Copilot + Cline,四个 AI 编程工具。结果每个都没深度用,切来切去浪费时间。现在只留 Cursor + Claude Code。
坑 2:过度依赖 AI 生成
有段时间我让 AI 写所有代码,包括架构设计。结果项目长到一定规模后,AI 给的架构建议越来越不靠谱。现在的原则是:架构自己定,实现交给 AI。
坑 3:不看 AI 生成的代码
“AI 写的应该没问题吧”——这个心态坑了我两次。一次是 AI 把 API Key 硬编码在前端代码里,一次是生成了有 SQL 注入的查询。永远 review AI 的输出。
小结
独立开发者的 AI 工具栈不需要多复杂:一个好的 AI IDE + 一个统一的 API 入口 + 几个 SaaS 服务就够了。关键是把每个工具用深,而不是什么新工具都试一遍。
每月 ¥500-700 的 AI 工具支出,换来的是一个人能干三个人的活。这个 ROI 对独立开发者来说很划算。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)