Go 项目结构之争:DDD 还是简洁分层?

Go 项目结构之争:DDD 还是简洁分层? Go 项目一开始通常很简单:几个接口、几张表、几个服务函数,按 handler、service、repository 分开就能跑起来。项目变大之后,团队又开始讨论 DDD、领域模型、聚合、应用层和基础设施层。 于是问题变成了:Go 项目到底应该采用 DDD,还是坚持简洁分层? 我的答案是:不要先选择目录结构,要先识别业务复杂度和变化边界。 简洁分层不是低级方案,DDD 也不是高级方案。它们只是解决不同问题的工具。 可以把项目想成一家餐馆。简洁分层像一家小店:前台接单,后厨做菜,仓库取料,路线短,出了问题也容易找到人。DDD 更像一家菜品、库存、会员和结算规则都很复杂的连锁餐厅:重点不是把岗位拆得越多越好,而是让“什么菜能做、什么时候能退单、库存怎么扣”这些规则有明确的负责人。 小店一开始就照搬连锁餐厅的总部制度,会被流程拖慢;连锁餐厅却不能永远把所有事情都交给一个大厨。Go 项目的结构选择,也是同一个道理。 一、争论表面是目录,本质是边界 很多团队讨论架构时,第一步就是贴目录树: internal/ ├── handler/ ├── service/ ├── repository/ └── model/ 或者: internal/ ├── domain/ ├── application/ ├── interfaces/ └── infrastructure/ 但目录本身不会自动带来好的架构。真正重要的是几个问题: 哪些代码属于同一个业务能力? 哪些规则必须始终成立? 哪些变化应该被隔离? 数据库、消息队列等技术细节,是否侵入了业务决策? 一个需求发生变化时,需要修改多少个包? 如果这些问题没有答案,换一套目录只是换了一种命名方式。 架构的价值不在于让目录看起来专业,而在于让变化停留在应该停留的地方。 先用一张图看两种结构的关注点:简洁分层按“技术职责”排队,DDD 更关心“业务规则”应该被谁拥有。 flowchart LR subgraph simple["简洁分层:按技术分组"] S1["请求"] --> S2["handler"] --> S3["service"] --> S4["repository"] --> S5[("数据库")] S3 -. "规则容易集中" .-> S6["变胖的 service"] end subgraph ddd["DDD:按业务边界组织"] D1["请求"] --> D2["应用用例"] --> D3["领域规则"] D2 --> D4["仓储接口"] D4 -. "具体实现" .-> D5["基础设施"] D5 --> D6[("数据库")] end 图中没有“谁更高级”的答案。左边像小餐馆的传菜路线,胜在短;右边像连锁餐厅的岗位边界,胜在业务规则变复杂时,能把变化关在领域边界里。 ...

2026-08-20 · 2 min · 426 words · FunkyGod

心动公司开源的 Cindy:一个值得交代第一件任务的 AI Agent

心动公司开源的 Cindy:一个值得交代第一件任务的 AI Agent 参考资料:Cindy——开源、开箱即用的 AI Agent 作者:本文作者(原创体验向解读) 来源:Cindy 官网、GitHub 开源仓库 最近看到 Cindy 时,我的第一反应不是“又一个聊天机器人”,而是:它似乎在认真回答一个更实际的问题——AI 能不能从回答问题,走到把事情做完? Cindy 是心动公司开源的一款 AI Agent。她把模型、Agent Harness、工具、记忆和工作区组织进桌面端与移动端应用,目标不是陪你聊几句,而是进入真实的项目和软件环境,完成一项可以验收的工作。 这个定位很容易让人兴奋,也很容易让人警惕。毕竟,“全能助手”已经是 AI 产品最常见的宣传词。真正让我感兴趣的,是 Cindy 把开源、可替换模型和人工审查放在了一起:她不要求你把所有东西交给一个黑盒,而是允许你逐步培养、逐步放权。 先把时间点说清楚:截至 2026 年 8 月 20 日,GitHub 上最新的桌面端 Release 是 v0.1.55,发布于 8 月 18 日;移动端版本独立更新。下面这篇不是跑分报告,而是一份上手前的体验判断:重点看看 Cindy 能替你推进什么,以及哪些决定仍然应该留在人手里。 我平时使用 AI 工具时,最容易被打断的并不是写出第一版,而是让第一版真正进入工作流:找到文件、执行命令、处理报错、检查改动,再把结果整理出来。本文也会以这个实际使用场景作为判断 Cindy 的入口。 蓝色高亮表示产品能力,绿色高亮表示我的使用判断,红色高亮表示权限与隐私提醒,黄色高亮表示可以直接尝试的建议。 一、Cindy 解决的不是“不会写”,而是“事情没收尾” 我已经习惯让 AI 写一段代码、改一个函数、解释一个报错。但在实际工作里,一个问答往往只是开始。 一个看似简单的任务,可能包括: 找到正确的项目目录; 阅读现有代码和配置; 修改多个文件; 运行测试或启动服务; 根据终端输出继续修复; 检查差异,确认没有误伤其他功能; 把结果整理成团队能看懂的说明。 传统聊天窗口通常只负责“给建议”。剩下的操作,要由人复制、粘贴、切换终端,再把结果传回给模型。真正消耗时间的,往往不是生成代码,而是让代码进入工作现场,并在失败后继续往下走。 Cindy 的价值,正在于把这段过程连接起来。她可以使用本机文件、终端、浏览器以及其他工具,在一个持续的任务上下文中完成多轮操作。这样,AI 不再只是代码旁边的提示框,而更像一个可以被交代任务的协作者。 ...

2026-08-20 · 2 min · 217 words · FunkyGod

Cursor 双周综述|Builds 文件系统快照实现 3x 启动加速,Firetiger 收购补全开发到生产的闭环

本期亮点 Builds:Cursor 通过文件系统快照 + fork warm copy,将云端 Agent 启动速度提升 3 倍 Firetiger 收购:Cursor 收购专注生产监控的团队,打通"写代码 → 部署 → 观测"闭环 AIUC-1 认证:通过第三方对抗性测试,获得企业级 AI Agent 安全认证 一、Builds:文件系统快照是云端开发环境的正确打开方式 过去云端 Agent 的启动流程是纯 JIT 的:每次新建会话,都要经历"启动虚拟机 → 克隆代码库 → 执行安装脚本 → 安装依赖",一个中大型代码库可能需要好几分钟才能让 Agent 真正开始工作。这个流程本质上是把本地开发环境的初始化逻辑原封不动搬到了云端——在本地这个过程很快(只跑一次),但在云端每次新建会话都要重复。 Cursor 的解决方案是将"准备好的环境"作为一等公民: 后台持续构建快照:Cursor 每小时自动执行一次完整的环境准备流程(克隆、依赖安装、脚本执行),生成只读的 filesystem snapshot。 fork warm copy 启动:新 Agent 启动时,不是从 snapshot 恢复,而是 fork 一个已准备好的 warm copy,速度接近内存拷贝。 失败隔离:如果某次构建失败(比如依赖更新破坏了安装脚本),该构建永远不会成为 active 版本,Agent 继续使用上一次成功的快照。 这个设计思路本质上是 "基础设施即代码"的镜像思维 —— 不在运行时做初始化,而是在构建时准备好运行时镜像。类似的想法在 Docker 镜像、Firecracker microVM 等领域早已成熟,但放在 AI coding agent 场景是正确且必要的。 ...

2026-08-16 · 1 min · 191 words · FunkyGod

Cursor 被 SpaceX 收购:算力霸权如何重塑 AI 编程工具竞争格局

上周 Cursor 正式宣布成为 SpaceX 子公司,同时发布 Grok 4.6——这是两家合并后推出的首个模型。比起"又一个大公司收购创业公司"的常规叙事,这件事对 AI 编程工具行业的影响要深刻得多。 不是收购,是算力整合 官方说法是"四月开始的 SpaceXAI 合作"终于落定。但措辞值得细读:"Access to the largest fleet of GPUs in the world"——这不是财务投资,是算力供给的垄断性整合。 Grok 4.6 的发布节奏印证了这一点。八月十二日发布,五天后收购敲定,中间没有时间差。这意味着 Grok 4.6 的训练已经在 SpaceX 的 GPU 集群上完成了。换句话说,Cursor 早就用上了 SpaceX 的算力,收购只是把"合作关系"变成"所有权关系"。 这对竞争对手是结构性的压制。训练大模型的成本有三分之一在 GPU 租赁或采购上。如果 SpaceX 愿意把全球最大 GPU 集群的空闲算力输送给 Cursor,Cursor 的模型训练成本会显著低于需要从 AWS、 GCP 采购算力的竞品。这个优势会随时间积累,越来越难追赶。 Grok 4.6:长程 Agent 的工程答案 Grok 4.6 的定位很清晰——面向长时运行 Agent 和高复杂度交互任务。Cursor 官方说法是:它能在多个步骤间保持任务连贯性,从研究、代码库分析到"把产品想法变成可运行的第一版"。 有几个技术细节值得关注: 自我验证开始出现。 Cursor 团队提到,在长轨迹任务中,Grok 4.6 展现出"在继续下一步之前检查自己工作"的倾向。这是 Agent 从"执行指令"到"自主质量控制"的关键一步,也是 Code Review Agent 真正可用的基础。 视觉和交互项目的一次成功率提升。 给一个具体产品想法,模型能在一轮内建立结构和视觉语言。这对 prototyping 阶段的效率影响很大——意味着 Agent 能直接产出"可展示"而非"可参考"的中间产物。 ...

2026-08-15 · 1 min · 158 words · FunkyGod

Cursor 双周|Builds 极速启动工程、AIUC-1 企业安全认证与 Firetiger 收购

过去两周 Cursor 动作密集,三条主线值得关注:云端 Agent 启动速度 3x 提升的安全感工程、AIUC-1 认证背后的企业级 Agent 安全标准确立,以及 Firetiger 团队收购所揭示的「Coding → Production」闭环战略。三条线各有侧重,合在一起是 Cursor 在 Agent 基础设施和商业信任上的双重押注。 Builds:不是缓存,是快照 云端 Agent 的启动延迟是一个被低估的问题。传统模式是"用时再配":克隆仓库、安装依赖、跑安装脚本——大型代码库上这可以耗时数分钟,Agent 在这期间完全空转。业界常见解法是"预热实例"或"保持常驻",但资源成本高、状态管理复杂。 Cursor 的 Builds 方案本质上是一个文件系统快照 + 进程状态预热的组合:后台持续 fork warm copy(而非每次从磁盘恢复),克隆和依赖安装全部在构建阶段完成。这让 Agent 启动变成"直接进入已就绪状态",Cursor 内部环境实测 10x 启动加速、3x 首 token 时间。 真正有价值的工程细节在于失败隔离:一旦某次构建失败(比如依赖更新破坏了安装脚本),该构建永远不会被激活,已有的 Agent 继续正常运行。Fail-fast + 持续可用的设计哲学比单纯的缓存要优雅得多——它解决的不只是"快不快",更是"能不能持续稳定地快"。 AIUC-1:Agent 安全终于有标准了 AIUC-1 是一个有意思的认证体系——它不只审计"数据怎么存",更测试"Agent 本身在压力下怎么行为"。对于编程 Agent,这包括:被要求生成不安全代码时的拒绝能力、MCP 调用安全边界、敏感信息泄露风险,以及破坏性操作(删除数据、运行危险命令)时的行为。 Cursor 通过了 Schellman 的独立审计,横跨数千个对抗性场景,两轮测试全部通过。这不是一张买来的证书,而是把安全设计暴露给专业红队做实弹射击的结果。 更有意思的是季度复审机制:认证不是一次性的,AIUC-1 每季度重新测试,标准本身也随 Agent 能力进化而更新。这意味着 Cursor 的安全基线会随时间被迫提升——当 Agent 能做的事更多,评判标准也水涨船高。对企业安全负责人来说,这是一个可量化的信任锚点。 Firetiger:代码写完,运维谁来接管? Firetiger 是收购的核心主角,团队背景是 Cloudflare、Twitch、Segment、Twilio 的生产系统运维老兵。他们做的是:代码部署后的监控、回归检测、故障调查——并把结果反馈给 Coding Agent。 ...

2026-08-14 · 1 min · 119 words · FunkyGod

语音替代键盘:我的vibe coding实践与Handy语音输入方案

语音替代键盘:我的vibe coding实践与Handy语音输入方案 键盘打字是程序员最传统的操作方式,但它的效率瓶颈在AI辅助编程时代越来越明显——我们和AI对话时需要大量输入上下文,而打字速度远远跟不上思维速度。本文分享我如何用语音彻底替代键盘,实现80%以上的coding指令下发。 为什么放弃键盘打字 传统的键盘输入有几个显著的效率问题: 速度瓶颈:说话速度远快于打字速度,尤其在描述复杂逻辑时 打断思维:打字需要同时关注拼写和内容,容易打断思路 上下文不足:打字时容易省略细节,而AI需要更丰富的描述才能准确理解意图 隐私顾虑:涉及密钥等敏感信息时,联网模型存在数据泄露风险 用语音输入时,我可以一口气说完整个需求,包括各种细节和废话,AI能获得的上下文远比打字丰富。这在实际项目中大大提升了沟通效率。 Handy语音输入方案 Handy是我在本地Mac上部署的语音输入模型,完全开源免费,支持全球各种语言的实时翻译。 核心优势 完全本地运行:所有数据不经过云端,隐私安全有保障 多语言实时翻译:说普通话、粤语、四川话还是英文、德语、法语,自动识别并翻译 无网络延迟:本地运行,翻译速度稳定不波动 模型选择建议 Handy提供针对不同语言优化的专用模型。如果你的母语或常用语言有对应模型,建议下载专用版本,速度更快、翻译质量更高。 通用模型约1.5GB,对机器内存和存储都有一定要求。如果你不确定要翻译的目标语言种类,可以用通用模型覆盖。 快捷键配置 建议提前绑定一个快捷键来触发语音输入。我使用F4键:按一下开始讲话,再按一下结束并立刻输出翻译内容。这个流程非常自然,几乎感觉不到工具的存在。 实际使用体验 在实际和AI配合coding的过程中,语音输入的优势体现得淋漓尽致: 时间成本更低:说话比打字快3-5倍,尤其适合长句和复杂描述 细节更丰富:不会因为懒得打字而省略细节,AI理解的上下文更完整 思维更流畅:不需要分心于拼写,可以完全沉浸在问题本身 当然,语音输入也有其适用场景。对于简短的命令、变量名修改等精确操作,键盘依然更高效。我目前大概是80%语音 + 20%键盘的配比。 未来展望 我认为语音交流终将取代键盘这种传统的机械式输入方式,尤其是在和AI协作的场景下。AI需要更丰富的输入才能提供更准确的输出,而语音天然比打字更能传递完整的思维过程。 当AI不再需要人类"喂料",而是自己理解、自己决策、自己执行——这条路的起点,是让人类用最自然的方式表达意图。语音,就是最自然的方式。 本文全部通过麦克风语音交流,AI辅助完成撰写。

2026-06-28 · 1 min · 33 words · FunkyGod

数据采集日报 2026年06月21日

数据采集日报 — 2026年06月21日 自动生成于 2026-06-21 00:30 📊 今日市场概览 资产类别 最新价格/数据 24h涨跌幅 关键数据 BTC(比特币) $65,753 ↑3.72% 恐慌指数:12(极度恐慌) 黄金 约$2,300/oz - 数据截止:6/19 WTI原油 非交易日 - 周末休市 布伦特原油 非交易日 - 周末休市 上证指数 非交易日 - 周末休市 深成指 非交易日 - 周末休市 创业板指 非交易日 - 周末休市 USD/CNY 待更新 - 周末休市 ₿ 加密货币 BTC:$65,753(↑3.72%) 24h最高:$65,753 24h最低:待更新 24h成交量:待更新 关键观察: 恐慌指数连续11天<20(历史上罕见) MA5突破(6/16):$65,753 > MA5 $62,752 ✅ 已确认 RSI超卖区间(28)+ MA5突破 = 底部确认信号 6/19为周四交易日,恐慌指数待验证是否突破20 🥇 贵金属 黄金:约$2,300/oz(待更新) 数据截止时间:6月19日 上海金:待更新 周末市场休市 🛢️ 原油 WTI原油:非交易日(周末休市) 布伦特原油:非交易日(周末休市) ...

2026-06-21 · 1 min · 104 words · FunkyGod

数据采集日报 2026年06月20日

数据采集日报 — 2026年06月20日 自动生成于 2026-06-20 00:30 📊 今日市场概览 资产 价格 涨跌幅 关键数据 BTC 约 $65,750(参考6/18) 预估小涨 恐慌指数约12(持续极度恐慌) 黄金 约 $4,169/盎司(参考6/18) 预估小幅震荡 技术位参考:$4,330/4,369 WTI原油 约 $76.6/桶(参考6/18) 预估小幅波动 美国能源库存与产需平衡 上证指数 4090(参考6/18) -0.43% 科创50涨2.39% 深成指 16030(参考6/18) +0.94% CRO、华为海思领涨 创业板指 4252(参考6/18) +2.05% 结构性反弹延续 USD/CNY 约 6.7555(参考6/17) — 离岸人民币试点推进 ₿ 加密货币 BTC:约 $65,750(参考6/18,疑似微涨) 24h最高:约 $66,000(区间估算) 24h最低:约 $65,500(区间估算) 24h成交量:中低水平(市场极度恐慌,情绪谨慎) (注:恐慌指数连续约10天 <20,处于极度恐慌区间;6/16 MA5突破后进入技术反弹验证阶段) 🥇 贵金属 黄金:约 $4,169/盎司(参考6/18) 上海金:¥945.01/克(参考6/17) 技术位参考:支撑 $4,330/4,300,压力 $4,369/4,400 🛢️ 原油 WTI原油:约 $76.6/桶(参考6/18) 布伦特原油:约 $80.x/桶(估算) ...

2026-06-20 · 1 min · 108 words · FunkyGod

CC-Switch 接入国产大模型:Codex 路由配置与御三家实战

CC-Switch 接入国产大模型:Codex 路由配置与御三家实战 当 Codex 能自由切换 DeepSeek、GLM、Kimik 等国产模型,Cursor/Windsurf 的使用成本和场景适配都将重构。 背景 CC-Switch(Codex Command Switch)是一款专为 Codex 命令行工具设计的模型路由插件,支持在多种大模型之间快速切换。近日发布的 v3.16.0 带来了重磅更新:全面支持国产大模型接入,涵盖 DeepSeek、智谱 GLM、Kimi、MiniMax、StepFun、百度千帆、阿里百炼、ModelScope 等近二十家路由服务。 这意味着什么?Codex 不再是 GPT 系模型的专属工具,开发者可以用更低的成本、更低的延迟,调用针对中文场景优化的国产模型完成编程任务。 核心功能:路由配置 CC-Switch 内置了丰富的路由预设,覆盖了国内主流模型服务商: 类别 支持的路由 第一梯队 DeepSeek、智谱 GLM、Kimi、MiniMax 云厂商 百度千帆、阿里百炼、ModelScope、字节豆包 长上下文 Longcat、百灵 端侧/端云 小米 MiMo、火山 Agentplan、Nvidia 配置过程非常直接:在 CC-Switch 中启用路由功能后,选择对应的路由预设,填入 API Key 即可。关键提醒:务必开启路由功能,否则 Codex 只会使用默认的 GPT 系列模型。 另一个实用的细节是用量查询——开启右侧的用量跟踪面板后,可以实时监控各模型的 token 消耗和配额剩余,避免在不知不觉中耗尽免费额度。 御三家:集齐三大国产编程模型 根据作者的实测,目前主流的"御三家"国产 AI Coding 套餐已基本成型: DeepSeek:以极低的 API 价格和出色的代码推理能力著称,长上下文窗口达 128K,适合大型项目的上下文分析 智谱 GLM:基于 ChatGLM 演进而来,对中文代码注释和文档场景优化较好 Kimi/MiniMax:长上下文能力突出,适合需要理解整个代码库结构的场景 三者的定位差异意味着实际项目中可以按任务类型分配——简单 CRUD 用 DeepSeek,复杂架构分析用 Kimi,文档生成用 GLM——成本和效果的平衡点比纯 GPT 方案更优。 ...

2026-06-20 · 1 min · 130 words · FunkyGod

数据采集日报 2026年06月19日

数据采集日报 — 2026年06月19日 自动生成于 2026-06-19 00:30 📊 今日市场概览 资产 价格 涨跌幅 关键数据 BTC $65,753 ↑3.72% 恐慌指数:12(极度恐慌) 黄金 $4,351.00/oz ↑0.46% XAU/CNY:¥945.01/克 WTI原油 — — 原油API偶发超时 布伦特原油 — — 原油API偶发超时 上证指数 — — 交易日数据待采集 深成指 — — 交易日数据待采集 创业板指 — — 交易日数据待采集 USD/CNY 6.7555 — 汇率稳定 10Y美债 4.428% — 收益率稳定 ₿ 加密货币 BTC:$65,753(↑3.72%) 24h最高:— 24h最低:— 24h成交量:— 关键观察: 恐慌指数:12(极度恐慌,连续约9天<20) MA5突破确认:$65,753 > MA5 $62,752 ✅ RSI约28超卖区间 + MA5突破 = 底部确认信号 恐慌指数若突破20,将进一步确认趋势反转 🥇 贵金属 黄金:$4,351.00/oz(↑0.46%) ...

2026-06-19 · 1 min · 163 words · FunkyGod