site logo

Marico's space

最近折腾了一个语音AI平台,从零开始搭了30天,最终做到了端到端延迟442ms。这篇把整个架构说清楚,有需要的直接抄。 大多数语音AI教程写到"调用ElevenLabs API"就结束了。 这不是平台,这是个demo。一旦ElevenLabs调价,整个系统说崩就崩。 我花了30天做了Mithivoices——一个开源TTS/STT平台,支持19+种神经网络音色、8种语言(包括印地语、马拉雅拉
最近在给团队捋浏览器自动化测试框架,踩了几个坑才想明白一件事:工具本身其实没那么重要,重要的是你用这个工具想达成什么目标。团队一开始总会问"用 Playwright、Selenium、Cypress 还是上云服务?",但更好的问法是:"我们需要验证什么场景、在哪些浏览器上跑、又能承受多大的维护成本?" 换个问法,整个讨论的走向就不一样了。浏览器自动化不只是写脚本点点点,而是建一套测试体系——UI
加密货币市场 REGIME DETECTION:牛市、熊市与震荡实战指南 最近折腾了市场状态(Regime)检测,踩了几个坑,这篇把问题说清楚。 所谓 Regime Detection,就是把当前市场状态归到几个大类里——一般是牛市(Bull)、熊市(Bear)、震荡(Chop)——让交易员或者交易机器人能根据当前行情选对策略。趋势策略在牛市里能赚钱,在震荡市里就是被反复收割手续费。均值回归策
最近在折腾 AI 应用开发,踩了一个挺反直觉的坑:大家普遍觉得对话历史越长、消耗的 token 越多,所以习惯性地早早总结压缩。搭 Agent 循环的时候,有些人把多轮对话合并成一条"无状态消息"来"省 token"。这两个操作看起来都是聪明之举,实际上都是反向优化(anti-optimization)。这篇文章从 KV 缓存的原理出发,解释为什么保持原始历史完整才是最优策略。 最常见的误区:
花了两个礼拜排查只在生产环境才会暴露的问题——一个是 _redirects 规则把我自己的 sitemap-index.xml 给拦了,另一个是 Bluesky 图片上传撞上 Cloudflare Pages 部署延迟的竞态问题——之后,我在工作流里加了三个部署后检查。执行快、针对性强,只覆盖我实际踩过的坑,不是一套大而全的端到端测试。 三个站点放在 Cloudflare Pages 上,用 A
最近折腾了用 Docker 和 Kubernetes 部署 Go 应用,踩了几个坑,这篇把问题说清楚。 我们先写一个真实的 Go HTTP 服务,用 Docker 容器化它,然后部署到本地 Kubernetes 集群。这里用的是 kind(Kubernetes in Docker)——它把 Kubernetes 节点跑在 Docker 容器里,在阿里云、腾讯云这种云服务上跑之前,拿来本地练手非常
客户第一次找你,说网站慢,十有八九会甩过来一张 Lighthouse 截图。Performance 面板截图,评分卡在红区或者黄区,然后问你:"能修吗?" 老实说:这取决于你说的"修"是什么意思。 Lighthouse 跑的是 Google 服务器上 headless Chrome 的模拟环境,在限速移动网络下测一个虚拟场景。是个挺好用的诊断工具。但它也是一个可以被玩出花的数字,跟真实用户的体
如果你每月花20刀用n8n云版,或者花50刀用Zapier,我有个问题想问你:为什么? 你明明会Python或者JavaScript,五分钟就能写一个webhook处理器。为什么还要付费订阅,在GUI里拖来拖去,而不是用更快、更智能、几乎免费的方式自己搞定? 这篇文章里,我会展示如何用Claude API构建一个轻量级自动化引擎,替代大多数开发者使用n8n或Zapier时90%的场景——成本却
你的 ASP.NET Core API 已经在线上跑了,现在有个 AI 智能体想调用它。官方的 MCP C# SDK(Model Context Protocol,模型上下文协议)是个好基础,但它要求你为每个要暴露的操作手写一个 [McpServerTool] 类。等于把原来在 Controller 里定义一遍的东西,又写一遍。McpIt 就是来解决这个重复劳动的——加一个特性标记,工具在编译时就
最近折腾了持续交付这事,踩了不少坑,今天把功能开关(Feature Flag)这个话题彻底说清楚。 如果你看过我之前的文章,应该知道我是主干开发(Trunk-Based Development)的忠实拥趸——主张把 Pull Request 拆得越小越好。理想情况下,开发者每天往主干合并好几次代码,一切顺滑,生产环境稳如老狗。 但实话实说,当你真的去跟一个后端团队聊这事,尤其是他们正在改造核心
共 248 条, 共 25 页