IntelliJ IDEA 集成 DeepSeek:Claude Code + ACP 实战
DeepSeek 目前没有官方的 IntelliJ IDEA 插件,但它提供了不少接入第三方 AI 工具的方式,比如 Claude Code、OpenCode 等。本文走 Claude Code 接入路线,配合 JetBrains 官方的 AI Assistant 插件和 ACP 协议,把 DeepSeek 变成 IDEA 里的编程助手。 核心概念先搞清楚DeepSeekDeepSeek 是国产大模型厂商,提供兼容 Anthropic 协议的 API 端点(https://api.deepseek.com/anthropic),因此凡是支持 Anthropic 协议的客户端(如 Claude Code)都能通过环境变量直接接入,这也是本文不需要等待官方插件的原因。 AI Assistant 插件AI Assistant 是 JetBrains 官方推出的 AI 助手插件,集成在 IDEA 中提供 AI 聊天、代码补全、代码审查等能力。它原生支持官方模型,同时也开放了 Add Custom Agent 入口,允许接入第三方模型服务。 ACP(Agent Client Protoco...
Claude Code 接入本地大模型:CCR 路由配置实战
上一篇我们用 llama.cpp 在本地跑起了大模型,这一篇让它真正干活:把 Claude Code(Anthropic 的终端 AI 编程助手)接到本地模型上。默认情况下 Claude Code 走 Anthropic 官方 API,通过 CCR(claude-code-router) 这个路由网关,可以把它的请求全部转发到本地 llama-server,实现本地推理、数据不出本机。 核心概念先搞清楚Claude CodeClaude Code 是 Anthropic 推出的命令行 AI 编程助手,直接在终端里工作:可以读项目代码、按指令修改文件、执行命令,适合在编辑器旁边配合使用。它默认通过 Anthropic 官方 API 或账号订阅访问 Claude 模型,但这套协议是可以通过环境变量重定向的,这正是本文接入本地模型的切入点。 CCR(claude-code-router)CCR 是 @musistudio/claude-code-router 这个开源项目,作用是一个轻量网关: 接收 Claude Code 发来的请求,再转发到任意 OpenAI 兼容的模型端点; 支...
本地搭建大模型:llama.cpp + GGUF 实战指南
这篇文章记录在本地(macOS)从零搭建一个大语言模型的完整过程:用 llama.cpp 作为推理引擎,下载 GGUF 格式的模型文件,通过一个启动脚本拉起本地服务,最后在浏览器里直接聊天。全程不依赖云端 API,数据不出本机,离线也能用。 核心概念先搞清楚llama.cppllama.cpp 是一个用 C/C++ 实现的大模型推理引擎,也是目前本地部署大模型最主流的方案之一。它的特点是: 跨平台:macOS、Windows、Linux 都能跑,macOS 上自动走 Metal 加速,NVIDIA 显卡走 CUDA; 轻量高效:对内存和显存友好,普通消费级机器也能运行量化后的模型; 配套命令齐全:安装后提供 llama-server(HTTP 服务 + 自带网页聊天界面)、llama-cli(命令行对话)、llama-quantize(量化工具)等命令。 简单理解:llama 是加载大模型的引擎,模型文件本身(GGUF)是燃料,两者配合才能在本地跑起来。 GGUF 格式GGUF(GPT-Generated Unified Format)是专为大语言模型设计的高效二进...
技能驱动的 AI 协作开发实录:从零打造「放大镜」Android 与 iOS 应用
前言几个月前,我想给家里有老花眼的长辈做一个打开就能用的放大镜 App:进入即放大、一键开灯、一个滑块调倍率,装到 Android 手机上。后来这个需求一路演变成了一个完整的故事——Android 版上架自托管、中英双语国际化、再复刻一个 iOS 版。 整个开发过程几乎全部由 AI 协作完成,而且不是对话式打补丁,而是一套技能(Skill)驱动的工程化流程:需求被反复拷问、词汇表与架构决策被实时记录、规范变成工单、实现严格 TDD、最后还有双轴代码评审。 这篇文章重点不是App 怎么写的,而是这套流程怎么跑起来的,以及过程中那些真正让人头疼的核心问题是怎么解决的。 需求与设计:先烤再动手(grill-with-docs)开工前,我调用了 grill-with-docs 技能。它的设计很有意思:先别急着写代码,把设计树上的每个决策都问一遍。 整个提问分了两轮: 第一轮(地基):技术栈(Kotlin + Compose)、相机方案(CameraX)、默认放大倍数(2.0x)、放大范围(跟随设备最大倍率)、手势(滑块+捏合)、前后摄(仅后置)、闪光灯行为、是否要定格、横竖屏、倍率记忆...
Matt Pocock 的 5 个 AI 编程技能:从模糊想法到高质量代码
前言Matt Pocock 是 TypeScript 圈的知名开发者,他把自己日常使用的 AI 编程方式沉淀成了一套技能组合:wayfinder、to-spec、to-tickets、implement、code-review。这五个技能不是零散的提示词,而是一条按顺序执行的工程化工作流。 这套流程的核心目标,是把一个模糊的想法,通过严格的工程纪律,逐步转化为可执行、高质量的代码。它解决的矛盾是:AI 的会话是一次性的,但工程不是。 核心工作流概览flowchart LR A[模糊想法] --> B[wayfinder 规划] B --> C[to-spec 规格化] C --> D[to-tickets 任务化] D --> E[implement 实现] E --> F[code-review 审查] F --> G[高质量代码] wayfinder 负责把模糊想法变成决策地图,to-spec 把决策整理成规格说明,to-tickets 把规格拆成可独立完成的工单,implement 按工单用 TDD 实现,code-revi...
Seata AT 模式使用示例:下单扣库存实战
本文用经典的 下单扣库存 场景演示 Seata AT 模式的完整用法:order-service(8083,TM 事务发起方)插入订单后通过 Feign 调用 stock-service(8084,RM 分支事务)扣减库存,两个服务的数据库分别维护一份业务表和一张 undo_log。Seata Server(8091,TC)负责协调全局事务:成功路径两库一起提交,失败路径两库同时回滚。 Step 1 · Seata Server 启动请参考文章 Seata 2.6.0 安装教程(MySQL 8.4.0 + Nacos 3.0.3) Step 2 · 建业务库和 undo_log保存为 init-seata.sql 并执行(两个业务库各有一张业务表 + 一张 undo_log,undo_log 是 AT 模式回滚的命根子): 12345678910111213141516171819202122232425262728293031323334353637383940414243CREATE DATABASE IF NOT EXISTS seata_order DEFAULT CHA...
Seata 2.6.0 安装教程(MySQL 8.4.0 + Nacos 3.0.3)
在本地已有的 MySQL 8.4.0 和 Nacos 3.0.3 基础上,从零装好 Seata Server 2.6.0:注册中心、配置中心都用 Nacos,全局事务状态存 MySQL。 环境前提(本机已具备) JDK 21(本机 temurin-21,Seata 2.6 支持 JDK 8/11/17/21); MySQL 8.4.0 运行在 127.0.0.1:3306(本机 root 无密码); Nacos 3.0.3 运行在 127.0.0.1:8848(API 主端口),Web 控制台端口本机已调整为 8847(若没改过则是 8080); Seata Server 默认监听 8091,安装前确认该端口空闲。 Step 1 · 下载安装包从 Apache 官方归档站下载(历史版本归档,最稳定可靠): 1234cd ~/tools/seatacurl -L -o apache-seata-2.6.0-incubating-bin.tar.gz https://archive.apache.org/dist/incubator/seata/2.6...
Kong网关详解
Kong 是什么Kong 是一个云原生、高性能、可扩展的 API 网关,底层基于 OpenResty(Nginx + LuaJIT)构建。你可以把它理解成一个流量指挥中心,所有外部请求都先到达 Kong,再由它完成认证、限流、路由、日志收集等工作,最后转发到后端真实的微服务上。 核心定位:API 管理 + 流量控制中间件。 它不只是一个反向代理,更是一个平台: 社区版(免费):覆盖绝大多数网关功能 企业版:额外提供可视化 GUI、高级安全、DevPortal 等商业功能 它的数据库可选 PostgreSQL 或 Cassandra,也能以 DB-less 模式(声明式配置)运行,非常适合 Kubernetes 环境。 Kong 可以实现哪些功能对 Java 开发者而言,可以把它视为 Spring Cloud Gateway + Spring Security + Resilience4j 的集大成者,但独立于语言栈。关键能力包括: 核心路由与负载均衡 路由(Route) + 服务(Service) + 上游(Upstream) 三层抽象。 支持按域名、路径、Header、H...
APISIX详解
APISIX 是什么简单来说,Apache APISIX 是一个云原生、高性能、可动态扩展的 API 网关。 技术基座:它基于 OpenResty(Nginx + LuaJIT)构建,核心逻辑用 Lua 编写,因此天然继承了 Nginx 的高并发、低时延特性。 核心设计理念:与传统的 Nginx 网关不同,APISIX 最大的特点就是 完全动态。无论你是修改路由、更新插件、加载 SSL 证书,还是变更上游服务,都不需要重启,几毫秒内即可热生效。 配置中心:它使用 etcd 来存储所有配置。网关节点无状态,通过 watch etcd 来实时同步配置,这使得水平扩展变得非常简单。 插件化架构:几乎所有的功能,比如限流、认证、监控,都被抽象为插件。你可以按需组合,作用在全局、某个服务或某条路由上。 与 Java 生态的联系:你可以在 Spring Cloud / Dubbo 微服务体系的前面放上 APISIX,让它统一接管所有南北向流量(外部到内部服务)。它支持代理 Dubbo 协议,也可以通过插件运行器支持用 Java 编写自定义插件。 APISIX 可以实现什么功能对...
Spring Cloud Gateway详解
Spring Cloud Gateway 是什么Spring Cloud Gateway 是 Spring 官方基于 Spring WebFlux(底层默认使用 Netty)构建的 API 网关。它在 2.x 时代替代了不再维护的 Zuul 1.x,成为 Spring Cloud 微服务体系中的标准网关方案。它是一个非阻塞、响应式的网关,完全异步,天然适配高并发场景。 核心特点:它不是基于 Servlet 容器(如 Tomcat),而是运行在 Netty 之上,因此它不阻塞调用线程,能更好地利用系统资源,适合作为微服务入口承担海量请求。 Gateway 的核心模型是: Route(路由):网关的基本构建块,包含 ID、目标 URI、断言集合、过滤器集合。 Predicate(断言):匹配 HTTP 请求的条件,比如路径、Header、参数等。 Filter(过滤器):对请求或响应进行修改、加工,分为 GatewayFilter(局部)和 GlobalFilter(全局)。 可以实现哪些功能Spring Cloud Gateway 不只是一个转发请求的工具,它提供了丰富的内置...
