我用DeepSeek做了一个代码审查工具审查一次不到1分钱
📅 2026/7/11 19:46:18
👁️ 次浏览
前两天发现 Groq 把国内 IP 给封了换个思路顺手把 DeepSeek 接上做了一个 AI 代码审查工具。写完了算了下成本——审查一次不到 1 分钱。为什么需要这个工具独立开发者最缺什么不是技术是 Code Review。写代码的时候自己觉得没问题实际上命名不规范、集合没指定容量、事务注解没配 rollbackFor——这些坑踩过的都懂。大厂有同事审查独立开发者只能靠自己的眼睛。但 AI 可以当这个同事。70 条规则不是通用的市面上很多 AI 审查工具用的是通用规则比如「类名要驼峰」「变量要有意义」。这些 ChatGPT 也能干。但我想要的是这个东西Map.of() 不能传 null否则运行时报 NPE这是我真实踩过的坑审计字段必须设 updated_by否则插入报错)CORS 配置必须配 CorsConfigurationSource Bean光配 .cors() 不够这些规则你查遍全网也找不到——它们来自我 6 个微服务踩过的坑。我把阿里巴巴 Java 手册55 条和我自己的实战经验15 条整理到一起总共 70 条规则喂给 AI。一次审查多少钱我用 DeepSeek API审查一次代码大概消耗 8000 tokens 左右项目数量规则文件70 条~3500 tokens审查指令~500 tokens用户代码~200 行~3000 tokens输出审查结果~1500 tokens总计~8500 tokensDeepSeek 的价格输入 1 元/百万 tokens输出 2 元/百万。算下来一次审查(7000 × 1 1500 × 2) / 1000000 0.007 0.003 0.01 元充 10 块能用 1000 次。架构很简单没有数据库、没有状态、没有历史记录——纯无状态设计。用户贴代码 → 后端拼 Prompt70 条规则 代码→ 调 DeepSeek API → 解析 JSON → 展示报告后端就一个 POST 接口前端一个 Monaco 编辑器 审查报告区。选 VS Code 暗色主题代码区占 60% 注意力报告区左边框按严重程度着色 红色ERROR必须修 黄色WARNING推荐修 蓝色INFO建议优化项目结构也很干净services/ai-reviewer/ ← Spring Boot 3 clients/ai-reviewer/ ← React Monaco docs/ai-review-rules.md ← 70 条规则改文件即改行为规则文件是唯一的「数据引擎」。今天 70 条明天踩了新坑加一条重启即生效。不需要数据库迁移不需要后台管理页面。Prompt 是关键同样的代码喂给 AI规则写得清不清晰直接影响审查质量。我的 Prompt 结构System 位置放规则70 条规则是固定背景放 system messageUser 位置放代码每次审查的代码不同JSON 强约束要求 AI 只输出 JSON否则解析会崩支持规则集切换all / p3c阿里规约/ wuxiannet我的经验/** * 构建完整 prompt */publicStringbuildPrompt(Stringcode,Stringlanguage,StringrulesType){StringrulesgetRulesText(rulesType);StringtruncatedCodecode.length()8000?code.substring(0,8000)\n\n// [代码已截断超过 8000 字符]:code;return 你是一个严格的 Java 代码审查专家。请按照以下规则逐条审查代码输出结构化报告。 ## 审查规则 %s ## 审查要求 1. 逐条对照规则检查代码 2. 只报告真正违反的规则不要报告未发现违反 3. 每条问题标注: 行号、违反的规则编号、问题描述、修复建议 4. 级别: ERROR(必须修复) / WARNING(推荐修复) / INFO(建议优化) ## 待审查代码 %s %s ## 输出格式 严格按 JSON 格式输出不要额外解释: { summary: {total: N, errors: N, warnings: N, infos: N}, issues: [ {level: ERROR|WARNING|INFO, ruleId: N, title: ..., line: N, code: ..., message: ..., suggestion: ...} ] } .formatted(rules,language!null?language:java,truncatedCode);}最开始的版本发现 AI 经常在 JSON 前后加废话「根据您的代码审查结果如下」。加了一段 json 代码块提取逻辑不管 AI 怎么包装都能把 JSON 摘出来。部署和启动就两个命令# 后端cdservices/ai-reviewermvn spring-boot:run# 前端cdclients/ai-reviewernpmrun dev本机跑不上服务器。代码不传到第三方API Key 配置在本地application-dev.yml。效果贴一段代码举例。这段代码有两处违规publicclassUserService{privateDatecreatedAt;// ❌ 规则56审计字段必须是 create_timeprivateUserRepositoryuserRepository;publicListUsergetUsers(){ListStringlistnewArrayList();// ⚠️ 规则23ArrayList 未指定容量returnuserRepository.findAll();}}AI 审查结果 ERROR R56 L5 审计字段 create_time 不符合规范 → 改为: private Date createTime; WARNING R23 L12 ArrayList 未指定初始容量 → 改为: new ArrayList(16)逐条对照规则标出行号、规则编号、修复建议。点击问题行编辑器自动跳转到对应行。写这篇文章的时候我顺便审查了一次——发现了一个 controller 里没配 CrossOrigin 的接口。代码自己审自己挺妙的。关于作者无羡独立开发者全栈工程师专注 AI 应用与微服务架构。 分类独立开发实战 个人博客 — 更多技术文章✨ 开发者福利整理 — 云服务资源汇总 软件工坊 — 我的技术分享 个人门户 — 独立开发作品全集
1. 项目背景与核心需求在工业自动化、医疗设备和消费电子等领域,模拟信号到数字信号的可靠转换一直是系统设计的关键环节。TLA2518作为德州仪器推出的12位1MSPS八通道ADC芯片,配合dsPIC33EP512MU810这款高性能数字信号控制器,能够构建一个高精…
📅 2026/7/11 19:46:18
479 | 混沌工程:故意"搞破坏"的测试
场景引入
航空公司为什么要"故意坠机"?
你以为的坠机新闻:
"又出事了!飞机又摔了!"实际的"坠机":
民航公司定期用退役飞机做坠毁实验
→ 测试飞机的哪些部位更安全
→ 改进设计,保护乘客…
📅 2026/7/11 19:46:18
NetworkX 2.8.8 实战:Python构建ER/WS/BA三大网络模型与可视化对比1. 复杂网络模型基础认知当我们观察社交网络中的好友关系、互联网中的网页链接或生物体内的蛋白质相互作用时,这些系统都可以抽象为复杂网络——由大量节点通过边连接构成的图结构。在理…
📅 2026/7/11 19:46:18
终极免费PPT计时器:告别演讲超时的完整解决方案 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer
还在为演讲时间控制不精准而烦恼吗?PPTTimer是一款专为Windows用户设计的PowerPoint计时…
📅 2026/7/11 20:45:42
5分钟掌握TranslucentTB:让Windows任务栏焕然一新的终极透明美化神器 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB
你是否厌…
📅 2026/7/11 20:45:42
1. 信号上拉与下拉的基础概念解析 在数字电路设计中,上拉(Pull-up)和下拉(Pull-down)是两种常见的信号处理技术。它们通过电阻连接,确保信号线在无驱动状态下保持确定的逻辑电平。
1.1 上拉电阻的工作原理…
📅 2026/7/11 20:45:42
构建高效磁力链接转换解决方案:Magnet2Torrent技术架构深度解析 【免费下载链接】Magnet2Torrent This will convert a magnet link into a .torrent file 项目地址: https://gitcode.com/gh_mirrors/ma/Magnet2Torrent
在P2P文件共享生态系统中,…
📅 2026/7/11 20:45:42
从首都驱车向北三小时,人们就能从城市的喧嚣抵达草原的辽阔。京郊草原旅游的需求在近几年快速增长,而在众多目的地中,主打马文化与沉浸式表演体验的中国马镇正逐渐成为首选。本文将从选型的角度分析中国马镇的度假适配度,并对比其…
📅 2026/7/11 20:45:42
封杀openclaw到底行不行?别被带节奏,真相是这3点这篇内容直接告诉你封杀openclaw的底层逻辑,看完你就知道该留还是该删,不绕弯子。说实话,最近圈子里关于“封杀openclaw”的讨论简直吵翻了天。我本来以为这玩意儿是个什么颠覆性的黑科技,结果上手一测,心里真是五味杂陈。…
📅 2026/7/11 20:44:35
摘要前面系列教程覆盖了 ArkUI 组件、路由、生命周期、本地存储、网络请求、Ability 底层全套基础能力,本篇统一梳理标准工程目录分层、模块化拆分、代码复用规范、全局工具统一管理、项目打包权限配置、常见工程报错统一解决方案,形成可直接用于课程设计…
📅 2026/7/11 0:00:31
1. 命令简介gpm 是 Linux 系统下运行于虚拟控制台(文字终端模式)的鼠标服务器。它的主要功能是在没有图形界面的纯文本环境中,为虚拟控制台提供鼠标支持,允许用户使用鼠标进行文本的选择、复制和粘贴操作,极大地提升了…
📅 2026/7/11 0:00:31
导语
先澄清一个常被混用的概念:BI试点"上线",并不等于试点"验收通过"。很多企业把仪表板做出来、账号发下去、培训开完场,就默认试点已经跑通,随后进入推广阶段——结果推广到第二个部门、第三个业务线时&am…
📅 2026/7/11 0:00:31
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/10 22:46:54
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/10 22:46:54
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/10 22:46:54
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/10 22:46:54
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/10 22:46:54
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/10 22:46:54