<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>caiwei.online</title><description>记录技术与生活的个人博客</description><link>https://caiwei.online/</link><language>zh-CN</language><item><title>Context：依赖容器与 Proxy</title><link>https://caiwei.online/blog/cordis-context/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-context/</guid><description>ctx 不只是&quot;一个对象&quot;——它是 Proxy、是原型链的起点、是 146 行里装下整个框架入口的设计。逐行读 context.ts。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>实战：用 Cordis 组装一个微应用</title><link>https://caiwei.online/blog/cordis-capstone/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-capstone/</guid><description>毕业项目——配置树 + 依赖注入 + 事件总线 + 优雅关机，用 Cordis 组装一个完整的微型任务服务，并对照 dsh 检验学习成果。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>事件系统（上）：五种分发模式</title><link>https://caiwei.online/blog/cordis-events-dispatch/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-events-dispatch/</guid><description>emit/parallel/serial/bail/waterfall 的实现原理——events.ts 全文精读，waterfall 的实现只有 9 行。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>fiber 与 effect：可逆副作用</title><link>https://caiwei.online/blog/cordis-fiber-effect/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-fiber-effect/</guid><description>ctx.effect 的四种形态、disposables 的逆序清理、epoch 保险与 EffectMeta 诊断树——fiber.ts 核心机制精读。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>依赖注入：inject 与门控</title><link>https://caiwei.online/blog/cordis-dependency-injection/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-dependency-injection/</guid><description>「等依赖就绪再启动」是怎么实现的——Inject.resolve、epoch、notify 级联加载，全部从 fiber.ts 源码讲起。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>生命周期：fiber 状态机</title><link>https://caiwei.online/blog/cordis-fiber-lifecycle/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-fiber-lifecycle/</guid><description>PENDING → LOADING → ACTIVE → UNLOADING → DISPOSED——fiber 状态机的完整迁移图、_reload/_unload 的实现与三条铁律。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>第一个插件：三种形态与最小运行环境</title><link>https://caiwei.online/blog/cordis-first-plugin/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-first-plugin/</guid><description>Cordis 插件的三种合法形态、Config 校验、以及让插件真正跑起来的三种启动方式——全部配上可运行代码。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>热重载：fiber.update 与 HMR</title><link>https://caiwei.online/blog/cordis-hmr/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-hmr/</guid><description>改配置不重启的秘密——internal/update waterfall、fiber.update/restart 的实现，以及 dsh 配置热重载的完整链路。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Cordis 专栏：学习路径与目录</title><link>https://caiwei.online/blog/cordis-learning-path/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-learning-path/</guid><description>逐行读懂 dsh 底层的插件框架 Cordis——从第一个插件到 fiber 生命周期、事件分发、作用域与热重载，全部结合 vendored 源码讲解。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>作用域：isolate 与上下文继承</title><link>https://caiwei.online/blog/cordis-scopes/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-scopes/</guid><description>isolate/intercept 的原型链实现、Service 的作用域判定、dsh 按作用域过滤事件——&quot;每个 agent 一个世界&quot;的完整原理。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>服务系统：provide 与 Service 基类</title><link>https://caiwei.online/blog/cordis-services/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-services/</guid><description>服务如何注册进 ctx、Service 基类构造器做了什么、可调用服务与拦截配置合并——读 service.ts 与 reflect.ts。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>事件系统（下）：类型安全与作用域</title><link>https://caiwei.online/blog/cordis-typed-events/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-typed-events/</guid><description>声明合并如何让事件名与参数获得类型约束、Context.filter 如何实现作用域过滤、internal/* 内部事件全家福。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>token 估算器：在计费之前猜对 token 数</title><link>https://caiwei.online/blog/newapi-token-estimator/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-token-estimator/</guid><description>上游还没响应就要先扣费——new-api 如何用字符级状态机、按厂商权重表和图像分块公式，把 token 估算做到&quot;够准、够快、够安全&quot;。</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>上下文窗口经济学与缓存</title><link>https://caiwei.online/blog/context-economics-and-caching/</link><guid isPermaLink="true">https://caiwei.online/blog/context-economics-and-caching/</guid><description>上下文是稀缺资源，KV cache 是它的物理规律——为什么系统提示词要逐字节稳定，两个系统如何为缓存而设计。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Agent 评测</title><link>https://caiwei.online/blog/agent-evals/</link><guid isPermaLink="true">https://caiwei.online/blog/agent-evals/</guid><description>「跑通一次很容易，可靠才难」——单步评测、端到端评测、LLM-as-judge 与回归集：让 agent 的每次改动可度量。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>100 行手写 Agent 循环</title><link>https://caiwei.online/blog/handwrite-agent-loop/</link><guid isPermaLink="true">https://caiwei.online/blog/handwrite-agent-loop/</guid><description>不用任何框架，把 function calling 装进 while 循环——然后对照 Codex 的 run_turn 和 dsh 的 agent-loop，看工业版在哪些地方加了码。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>按需上下文与子 Agent 隔离</title><link>https://caiwei.online/blog/jit-context-and-subagents/</link><guid isPermaLink="true">https://caiwei.online/blog/jit-context-and-subagents/</guid><description>上下文窗口装不下所有信息——按需检索、运行时注入、子 agent 隔离：两个系统如何让上下文「要时才有」。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>LLM API 实战基础</title><link>https://caiwei.online/blog/llm-api-fundamentals/</link><guid isPermaLink="true">https://caiwei.online/blog/llm-api-fundamentals/</guid><description>不谈原理只谈接口——token 与上下文窗口、采样参数、流式输出、function calling 的完整 wire 格式，以及 Codex 与 dsh 在模型接入层的不同取舍。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>MCP 实战</title><link>https://caiwei.online/blog/mcp-in-practice/</link><guid isPermaLink="true">https://caiwei.online/blog/mcp-in-practice/</guid><description>Model Context Protocol 的架构与实战——写一个自己的 MCP server，接进 mini-agent，看 Codex 与 dsh 如何把它当工具生态通用语。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>记忆与压缩</title><link>https://caiwei.online/blog/memory-and-compaction/</link><guid isPermaLink="true">https://caiwei.online/blog/memory-and-compaction/</guid><description>长会话不爆窗、跨会话记得住——compaction 的两种流派、记忆系统的两大范式，以及「一个文件系统是不是就够了」。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>多 Agent 协作模式</title><link>https://caiwei.online/blog/multi-agent-patterns/</link><guid isPermaLink="true">https://caiwei.online/blog/multi-agent-patterns/</guid><description>orchestrator-workers、evaluator-optimizer、专业分工——多 Agent 的三种正确用法、四种翻车方式，以及两个系统各自的实现。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>架构总览与请求生命周期</title><link>https://caiwei.online/blog/newapi-architecture-lifecycle/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-architecture-lifecycle/</guid><description>一个 sk-xxx 请求从进门到返回的完整旅程——new-api 的分层架构、路由组织、中间件链，以及模块之间靠什么协作。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>鉴权体系：令牌、会话与三层凭据</title><link>https://caiwei.online/blog/newapi-auth-tokens/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-auth-tokens/</guid><description>sk-xxx 的完整校验链路、控制台 session 与 access token 的分流、多协议 key 的兼容设计，以及 token 缓存的「突变 fence」——new-api 的鉴权全景。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>计费与倍率</title><link>https://caiwei.online/blog/newapi-billing-ratios/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-billing-ratios/</guid><description>预扣费 → 结算 → 退款的三段式计费、模型/补全/缓存/分组四层倍率公式、阶梯计费表达式与双资金来源——把「按 token 收费」做对的全部细节。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>缓存与性能工程</title><link>https://caiwei.online/blog/newapi-cache-performance/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-cache-performance/</guid><description>渠道缓存全量重建、Redis Lua 原子预扣、突变 fence、五类批量落库、过载保护——new-api 扛住并发的全部手段，逐个拆解。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>渠道管理与 model_mapping</title><link>https://caiwei.online/blog/newapi-channel-management/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-channel-management/</guid><description>渠道是网关的弹药库——Channel 的完整字段解析、多 key 模式、渠道测试如何走完整 relay 链路、model_mapping 的链式重定向与环检测。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>new-api 源码拆解：学习路径与模块地图</title><link>https://caiwei.online/blog/newapi-learning-path/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-learning-path/</guid><description>开源大模型网关 new-api 的完整学习路径——按功能模块逐篇拆解：请求生命周期、鉴权、渠道、relay 适配器、负载均衡、计费、日志、缓存与插件。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>负载均衡与失败重试</title><link>https://caiwei.online/blog/newapi-loadbalancing-retry/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-loadbalancing-retry/</guid><description>优先级分档、加权随机、重试降档、auto 组跨组切换、自动熔断——new-api 如何让几十个不可靠的上游像一个非常可靠的端点。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>日志与可观测性</title><link>https://caiwei.online/blog/newapi-logging-observability/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-logging-observability/</guid><description>每一笔消费都可追溯——logs 表的字段与索引设计、八类日志、request_id 双链路排障、数据看板与性能剖析三件套。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>插件系统与部署</title><link>https://caiwei.online/blog/newapi-plugins-deployment/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-plugins-deployment/</guid><description>在 Go 里安全地跑 JavaScript——jsplugin（sobek 引擎）的沙箱与信任边界、声明式任务插件的完整结构，以及单二进制与多机部署实践。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>relay 中继核心：适配器与协议互转</title><link>https://caiwei.online/blog/newapi-relay-adaptors/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-relay-adaptors/</guid><description>new-api 的技术心脏——Adaptor 接口方法集、relaykit 四协议互转矩阵、SSE 流式处理、参数覆盖引擎，以及新增一个上游提供方的完整清单。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>用户、分组与权限</title><link>https://caiwei.online/blog/newapi-users-groups/</link><guid isPermaLink="true">https://caiwei.online/blog/newapi-users-groups/</guid><description>分组是 new-api 最被低估的设计——一个字段同时决定权限面、渠道选择和计费倍率。用户模型、角色体系、usingGroup 判定与分组联动全解析。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>提示词与工具设计</title><link>https://caiwei.online/blog/prompts-and-tool-design/</link><guid isPermaLink="true">https://caiwei.online/blog/prompts-and-tool-design/</guid><description>系统提示词的分层结构、稀疏 order 的确定性排序、工具描述的「何时用/何时不用」——dsh 与 Codex 各自的工业化答案。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>RAG 的工程现实</title><link>https://caiwei.online/blog/rag-engineering/</link><guid isPermaLink="true">https://caiwei.online/blog/rag-engineering/</guid><description>分块策略、重排、混合检索、效果评估——最小实现之后，决定检索质量的五个工程决策与一张「接知识」决策表。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>沙箱、权限与安全</title><link>https://caiwei.online/blog/sandbox-permissions-security/</link><guid isPermaLink="true">https://caiwei.online/blog/sandbox-permissions-security/</guid><description>模型会犯错也会被骗——审批策略、OS 沙箱、prompt injection 防御：给 mini-agent 装上两个系统的安全体系。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>RAG 最小实现</title><link>https://caiwei.online/blog/rag-minimal/</link><guid isPermaLink="true">https://caiwei.online/blog/rag-minimal/</guid><description>embedding、分块、向量检索——100 行跑通检索增强；以及一个反直觉的事实：coding agent 们为何都不内置 RAG。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>上线</title><link>https://caiwei.online/blog/ship-your-agent/</link><guid isPermaLink="true">https://caiwei.online/blog/ship-your-agent/</guid><description>可观测性、成本预算、渐进式放权——把 mini-agent 变成一个你敢让它跑在生产上的系统。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>综合实战：插件宿主 + 工具注册 + SSE 服务</title><link>https://caiwei.online/blog/ts-capstone/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-capstone/</guid><description>毕业项目——把 12 篇的技能组装成一个可运行的微型 agent 服务：插件化工具注册、SSE 流式输出、优雅关机，一次写完。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>事件循环与 EventEmitter</title><link>https://caiwei.online/blog/ts-event-loop-emitter/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-event-loop-emitter/</guid><description>单线程为什么不卡——事件循环的工作方式、微任务与宏任务、EventEmitter 模式，以及 Cordis 事件系统的雏形。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>接口、泛型与声明合并</title><link>https://caiwei.online/blog/ts-generics-declaration-merging/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-generics-declaration-merging/</guid><description>dsh 最&quot;魔法&quot;的三个类型技巧——接口声明合并（ctx 键）、泛型约束（工具参数推导）、条件类型，全部拆开讲。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Node HTTP 服务与 SSE 流式</title><link>https://caiwei.online/blog/ts-http-sse/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-http-sse/</guid><description>不用框架从零写 HTTP 服务、实现 SSE 流式端点——AI 回复&quot;打字机效果&quot;的全部原理，一次写明白。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>TypeScript 与 Node 地基：专栏目录</title><link>https://caiwei.online/blog/ts-learning-path/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-learning-path/</guid><description>为「读懂 DeepSeek Harness 源码」和「写出生产级 agent」设计的前置课——只教需要的部分：类型系统、异步、插件模式、HTTP 流式。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>用 TypeScript 重写 mini-agent</title><link>https://caiwei.online/blog/ts-mini-agent/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-mini-agent/</guid><description>把 Agent 专栏第 4 篇的 100 行 Python agent 用 TypeScript 重写——同一份逻辑、两种语言，检验地基学得扎不扎实。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>模块、导入导出与 npm 生态</title><link>https://caiwei.online/blog/ts-modules-npm/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-modules-npm/</guid><description>ESM 的 import/export、package.json 的关键字段、pnpm workspace 与 monorepo——读懂 dsh 的 import 图。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>插件化架构：写一个 mini 插件宿主</title><link>https://caiwei.online/blog/ts-plugin-host/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-plugin-host/</guid><description>亲手实现 Cordis 的最小版——插件注册、依赖注入、事件总线与可逆副作用，60 行代码读懂&quot;一切皆插件&quot;。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>进程、信号与优雅关机</title><link>https://caiwei.online/blog/ts-process-signals/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-process-signals/</guid><description>SIGTERM 和 SIGINT 是什么、退出码的语义、如何把&quot;正在进行的任务做完再走&quot;——dsh 优雅关机机制的原理与最小实现。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Promise 与 async/await 心智模型</title><link>https://caiwei.online/blog/ts-promise-async/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-promise-async/</guid><description>异步的正确心智模型——Promise 是&quot;稍后兑现的值&quot;，async 函数是&quot;看起来同步的异步代码&quot;，附 agent 场景的全部用法。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>读真实开源项目的方法论</title><link>https://caiwei.online/blog/ts-reading-opensource/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-reading-opensource/</guid><description>以 dsh 为例演示一套可复用的源码阅读流程——从 README 到主干道，四步读懂任何大型项目，附 dsh 的完整走读记录。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Schema 校验与 defineTool 模式</title><link>https://caiwei.online/blog/ts-schema-validation/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-schema-validation/</guid><description>用 zod 实现运行时校验与类型推导的双赢——亲手写一个迷你版 defineTool，理解&quot;schema 是唯一事实源&quot;。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>TS 类型系统速成：为读源码而学</title><link>https://caiwei.online/blog/ts-type-system/</link><guid isPermaLink="true">https://caiwei.online/blog/ts-type-system/</guid><description>只教读 dsh 源码需要的类型知识——基础类型、联合与收窄、接口、只读、类型断言，每个概念配真实源码影子。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>到底什么是 Agent</title><link>https://caiwei.online/blog/what-is-an-agent/</link><guid isPermaLink="true">https://caiwei.online/blog/what-is-an-agent/</guid><description>workflow 与 agent 的分界线、智能体的最小定义、agent 化程度的光谱，以及为什么 Codex 和 dsh 都选择先做 coding agent。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Agent 专栏开篇：学习路径与目录</title><link>https://caiwei.online/blog/agent-learning-path/</link><guid isPermaLink="true">https://caiwei.online/blog/agent-learning-path/</guid><description>从零构建 AI Agent 的六阶段学习路径——每个概念都用 DeepSeek Harness 与 OpenAI Codex 两个开源智能体的真实源码对照讲解。</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate></item><item><title>源码对照（二）：Codex 的工具、沙箱与扩展生态</title><link>https://caiwei.online/blog/codex-tools-sandbox-mcp/</link><guid isPermaLink="true">https://caiwei.online/blog/codex-tools-sandbox-mcp/</guid><description>ToolRouter 与内置工具、四级审批策略与规则引擎、三平台沙箱、MCP 与 code-mode——Codex 把「安全地放权给模型」做成了系统工程。</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate></item><item><title>源码对照（一）：OpenAI Codex 是怎么做 Agent 的</title><link>https://caiwei.online/blog/codex-agent-architecture/</link><guid isPermaLink="true">https://caiwei.online/blog/codex-agent-architecture/</guid><description>拉下 codex 开源仓库逐层拆解——120 个 Rust crate 如何组织出一个生产级 coding agent：线程、turn 循环、工具并发与会话录制。</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate></item><item><title>源码对照（三）：DeepSeek Harness 怎么做 Agent，以及两套系统的十条共识</title><link>https://caiwei.online/blog/dsh-vs-codex-agent-patterns/</link><guid isPermaLink="true">https://caiwei.online/blog/dsh-vs-codex-agent-patterns/</guid><description>浓缩 dsh 的架构精髓，与 Codex 并排对照——两个彼此独立的生产级 agent 在设计上不约而同的十个决定。</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate></item><item><title>从源码构建 dsh：构建流水线与 Host/Client 双面</title><link>https://caiwei.online/blog/build-from-source/</link><guid isPermaLink="true">https://caiwei.online/blog/build-from-source/</guid><description>clone 到 pnpm dsh web 之间发生了什么——四步构建流水线、两个 TypeScript 世界、以及为什么产物缺一不可。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>能力 seam：换一个提供方，换掉半个产品</title><link>https://caiwei.online/blog/capability-seams/</link><guid isPermaLink="true">https://caiwei.online/blog/capability-seams/</guid><description>Service Definition / Provider / Consumer 三角色——dsh 把「可替换」做成了一等公民。以文件系统为例走通一条完整链路。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>agent-loop：一个轮次的完整旅程</title><link>https://caiwei.online/blog/agent-loop-internals/</link><guid isPermaLink="true">https://caiwei.online/blog/agent-loop-internals/</guid><description>turn 与 step 的状态机、inbox 三入口、pre-step 改写与拒绝、事件瀑布与 turn-stopping——循环本体逐行读。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Cordis 入门：读懂「一切皆插件」的地基</title><link>https://caiwei.online/blog/cordis-plugin-framework/</link><guid isPermaLink="true">https://caiwei.online/blog/cordis-plugin-framework/</guid><description>dsh 构建在 Cordis 之上——插件的三种形态、ctx 键、类型化事件、五种分发模式、effect 与 fiber 生命周期。读 dsh 任何源码前先读这篇。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>DeepSeek Harness 专栏开篇：学习路径总览</title><link>https://caiwei.online/blog/deepseek-harness-learning-path/</link><guid isPermaLink="true">https://caiwei.online/blog/deepseek-harness-learning-path/</guid><description>dsh 是什么、源码地图长什么样、以及由浅入深的六阶段学习路线——本专栏的全部规划都在这一篇。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>十分钟跑通 DeepSeek Harness：npx、Web UI 与 dump-config</title><link>https://caiwei.online/blog/dsh-in-10-minutes/</link><guid isPermaLink="true">https://caiwei.online/blog/dsh-in-10-minutes/</guid><description>不读一行源码，先把 dsh 跑起来——三种启动方式、配置树长什么样、退出码与信号的意义。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>人机协作平面：审批、权限与提问</title><link>https://caiwei.online/blog/human-in-the-loop/</link><guid isPermaLink="true">https://caiwei.online/blog/human-in-the-loop/</guid><description>ask 决策如何变成浏览器里的审批卡片、两档权限预设的旋钮模型、凭据为什么只存引用——dsh 的安全边界全在这篇。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>LLM 适配器与流式：从请求到 settlement</title><link>https://caiwei.online/blog/llm-adapter-streaming/</link><guid isPermaLink="true">https://caiwei.online/blog/llm-adapter-streaming/</guid><description>ctx.llm 的适配器 seam、七种 StreamChunk、start/chunk/end 实时帧与持久 settlement 的双轨制——以及 deepseek 适配器的每一处细节。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>三种产品形态：Web、headless 与 SDK</title><link>https://caiwei.online/blog/product-forms-web-headless-sdk/</link><guid isPermaLink="true">https://caiwei.online/blog/product-forms-web-headless-sdk/</guid><description>同一棵插件树，三种出口——浏览器 GUI 的 host/client 分工、一次性运行的退出码、以及一条 JSON-RPC 管道。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Profile 与组合包：dsh 是如何被组装出来的</title><link>https://caiwei.online/blog/profiles-and-bundles/</link><guid isPermaLink="true">https://caiwei.online/blog/profiles-and-bundles/</guid><description>运行中的 dsh 是一棵按序叠加的插件树——patch 的语法、层的优先级、五种 profile 的差异，以及为什么 web profile 改配置不用重启。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Session：仅追加的事件日志，模型上下文的唯一真源</title><link>https://caiwei.online/blog/session-append-only-log/</link><guid isPermaLink="true">https://caiwei.online/blog/session-append-only-log/</guid><description>12 种会话事件、deriveMessages 投影、「模型可见即已记录」不变量——dsh 不存消息历史，只存事件日志。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>system-prompt：提示词是怎么组装出来的</title><link>https://caiwei.online/blog/system-prompt-assembly/</link><guid isPermaLink="true">https://caiwei.online/blog/system-prompt-assembly/</guid><description>片段注册、集中分配的稀疏 order、协作式 waterfall——dsh 把「模型是谁、能用什么工具」变成一份可缓存的确定性文本。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>tools：一次工具调用的把关流水线</title><link>https://caiwei.online/blog/tools-execution-pipeline/</link><guid isPermaLink="true">https://caiwei.online/blog/tools-execution-pipeline/</guid><description>从 tool/call 落日志到 tool/result 回流——注册表、pre-execute 决策、审批、单调 guard、环绕分发、post-execute 改写，十道工序逐一看。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>实战：为 dsh 写一个自己的工具插件</title><link>https://caiwei.online/blog/write-your-own-plugin/</link><guid isPermaLink="true">https://caiwei.online/blog/write-your-own-plugin/</guid><description>从零写一个工具、用 --patch 挂载、在 Web UI 里验收——并把前十二篇的机制全部用上。专栏收官之作。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>博客新功能演示：搜索、数学公式与提示块</title><link>https://caiwei.online/blog/features-demo/</link><guid isPermaLink="true">https://caiwei.online/blog/features-demo/</guid><description>一次看懂本站新增的 Pagefind 搜索、KaTeX 公式、彩色提示块与 MDX 支持</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate></item><item><title>用 Mermaid 在博客里画图表：从零到上手</title><link>https://caiwei.online/blog/mermaid-diagrams/</link><guid isPermaLink="true">https://caiwei.online/blog/mermaid-diagrams/</guid><description>流程图、时序图、甘特图、饼图……纯 Markdown 文本画图，自动跟随博客主题配色</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate></item><item><title>博客开张：从域名到上线的第一篇文章</title><link>https://caiwei.online/blog/hello-world/</link><guid isPermaLink="true">https://caiwei.online/blog/hello-world/</guid><description>记录本站如何在一台腾讯云服务器上，用 Astro + Caddy 从零搭建上线。</description><pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate></item><item><title>为什么我选择静态博客</title><link>https://caiwei.online/blog/why-static-blog/</link><guid isPermaLink="true">https://caiwei.online/blog/why-static-blog/</guid><description>对比了几种方案后，静态博客的简单可靠胜出——原因都在这篇文章里。</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate></item></channel></rss>