Erishen
-
从 Chat UI 到 Agent Workbench:一个终端编码 agent 的交互层是怎么升级的
resolve-tui 是一个纯 Rust + TUI 的终端编码 agent。它的交互层不是又一个聊天框,而是一个 Agent Workbench——事件循环、快捷键与斜杠命令、带沙箱安全边界的内置工具、Agent Skills 风格的可插拔技能、MCP 集成,以及会话管理。本文讲清楚这套交互层是怎么从'问答'升级到'工作台'的。阅读全文 →
-
Cordis 插件化 Agent 运行时:用 DI 容器把 LLM 后端、工具、审批流全部变成配置
终端里跑着 `make dev`,一个 Web UI 弹了出来——模型在回复、工具在执行、审批流在等待确认。切到 mock 模式,只要换一份 `cordis.yml`,同一个二进制就是 CLI 版本的 `make chat`。切换模型、增减工具、加审批节点,不需要改一行核心代码,不需要重新发布。这套架构把 DI 容器当作装配线,将一切可变…阅读全文 →
-
51个指标 × 5000只股票:全市场技术扫描的工程实践
51个指标 × 5000只股票:全市场技术扫描的工程实践 A 股每天有 5000+ 只股票需要被审视,每只股票要计算数十个技术指标,传统人工筛选在这种规模下完全失效。程序化扫描不是「能不能做」的问题,而是「怎么把数据管道、指标计算、信号扫描和结果呈现组织清楚」的工程问题。 本文基于 stock-analyzer 的真实源码,梳理它从数据获…阅读全文 →
-
能算的绝不调模型:resolve-harness 的确定性 Fast Path 运行时
本文拆解一个刻意保持「可拆解、可替换」的极简 Agent Harness:LangGraph 工具循环、LiteLLM 多模型路由、分层记忆,外层套一套 Planner/Specialist/Evaluator/Reporter 多智能体编排。它的核心主张是「能算的绝不调模型」——在 Specialist 执行层前加一道三层 Fast P…阅读全文 →
-
基于 Electron + React + Vite 的 AI UI 生成工作台,用自然语言描述需求,LLM 转为声明式 UI spec 并编译成真实 React 组件实时预览
起点 我一开始以为,AI UI 生成的问题,是「如何让 LLM 写出更好的 React」。 后来发现,真正的问题恰恰是:不应该让 LLM 直接写 React。 SpecPulse 最终走了一条不同的路径: SpecPulse 是我为验证这条路径搭的动手项目:用自然语言描述需求,LLM 把它转成一份声明式的 UI spec一棵 JSON …阅读全文 →
-
分布式订单系统演进:Spring Boot + React 如何从单体到抗住高并发
spring-order 是一个 Spring Boot + React 的订单系统演示项目。它沿 P0→P4 逐步演进,用 @Version 乐观锁、Redis 分布式锁、Kafka 事务 Outbox、Resilience4j 与 nginx + Prometheus/Grafana 可观测性,逐层解决高并发下的超卖、重复下单与数据一…阅读全文 →
-
cicdkit 工程实践:一个用纯 Go 标准库打造的本地 CI/CD 单二进制平台
一台 MacBook,桌面干净,没有 Jenkins 的托盘图标,没有 GitHub Actions 的公网 runner 客户端,也没有 PostgreSQL 或 MySQL 的守护进程。打开浏览器,点一个按钮——镜像构建、推送、k3s 发布、服务探测——一条链路在几分钟内跑完。所有状态存在本地一阅读全文 →
-
Text2SQL 确定性管线 + ReAct 双路径:datapulse AI BI 工作台架构解析
Text2SQL 确定性管线 + ReAct 双路径:datapulse AI BI 工作台架构解析 引言:AI BI 的痛点与双路径设计的起点 用 LLM 做 BI 分析,听起来很诱人,做起来全是坑。开发者最常遇到的三个问题几乎一模一样: 幻觉。 LLM 在数据库没有数据的时候,依然会自信地编出一个数字。 SQL 不可信。 即使生成了查…阅读全文 →
-
纯本地只读视频索引:blake3 内容去重与 Range 预览,我如何做到绝不改动一个原文件
从「一坨文件」到「只读视频索引」:一个本地优先的工程实践 速览 本地优先的只读索引:扫描多目录视频,构建可查询、可去重的媒体数据集,绝不修改原文件。 内容去重:blake3 精确哈希+ 首尾 1MB 快速哈希双模式; 指纹增量扫描避免全量重扫。 安全预览:Range 请求原生播放 + 签名短时 tokenid …阅读全文 →
-
本地优先的 Markdown 索引:从零依赖 Rust 到只读安全的设计抉择
本地优先的 Markdown 索引:从零依赖 Rust 到只读安全的设计抉择 引言:一个本地优先者的痛点 作为长期践行本地优先哲学的开发者,我始终相信:数据应当由自己完全掌控,工具应当简单可靠,且不应依赖不可控的外部服务。但在日常的 Markdown 文档管理中,一个棘手的问题始终困扰着我。 我的文档散落在多个目…阅读全文 →