自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 Deepseek-harness增加桌面版端序列:第 6 讲 · core 六包主线:一次回合的骨架

我在Deepseek harness中增加了桌面版,将逐行代码解析我是怎么增加的,希望你也能创建属于自己的桌面版Agent:走读六个核心包的关键导出与依赖关系——session(事件日志)、system-prompt(组装)、tools(管道)、agent(接口)、agent-loop(驱动)、scope(隔离)。目标:掌握"一次回合"的骨架与六包的依赖方向。:关键类型/函数精讲(非全行)——本讲是"支线精讲"。Desktop App 运行效果图。

2026-08-21 09:20:01 214

原创 Deepseek-harness增加桌面版端序列:第 5 讲 · desktop-app bundle:一个 bundle 如何改造产品

我在Deepseek harness中增加了桌面版,将逐行代码解析我是怎么增加的,希望你也能创建属于自己的桌面版Agent:吃透——387 行的如何定义桌面端插件名册,以及(139 行)如何实现服务(桌面端"无 HTTP 的 API 网关")。(387 行,关键段)+(139 行,全行)Desktop App 运行效果图。

2026-08-21 09:17:46 200

原创 Deepseek-harness增加桌面版端序列:第 4 讲 · 组合与装载:runProfile → boot()

├─► include 插件解析 cordis.yml(空根 [])├─► 应用 patches(bundle 层 → profile 层 → home 层 → overlays)├─► 每个 entry 按 id 插入/覆写└─► Loader 逐个 entry:解析插件包 → apply(ctx) → 挂载服务include(cordis-plugin-include)负责配置行的解析与合并。Loader(cordis-plugin-loader)负责代码的装载——按 entry 的。

2026-08-20 09:28:37 224

原创 Deepseek-harness增加桌面版端序列:第 3 讲 · Electron 主进程:这个进程就是 harness

我在Deepseek harness中增加了桌面版,将逐行代码解析我是怎么增加的,希望你也能创建属于自己的桌面版Agent:逐行吃透(85 行全行)——Electron 主进程如何调用真正 boot harness、如何通过 IPC 桥接渲染进程、以及桌面端"无 TCP、纯 IPC"的架构差异。配套精讲argv.ts(37 行)与ipc.ts(31 行)。(85 行,全行)+argv.tsipc.tspreload.ts(精讲)Desktop App 运行效果图。

2026-08-20 09:26:04 198

原创 Deepseek-harness增加桌面版端序列:第 2 讲 · spawn Electron:当前进程如何“交棒“

我在Deepseek harness中增加了桌面版,将逐行代码解析我是怎么增加的,希望你也能创建属于自己的桌面版Agent:逐行吃透(130 行全行)——当前 Node 进程如何解析 Electron 二进制、如何把 tsx loader 通过透传给 Electron 主进程、以及三种不同的缺失报错是如何分工的。(130 行,全行)Desktop App 运行效果图。

2026-08-19 18:58:59 200

原创 Deepseek-harness增加桌面版端序列:第 1 讲 · 命令解析:`pnpm dsh desktop` 的第一步

我在Deepseek harness中增加了桌面版,将逐行代码解析我是怎么增加的,希望你也能创建属于自己的桌面版Agent

2026-08-19 18:50:43 271

原创 kimi-code 深度掌握系列文章-从 kimi-code 到你的 Agent(十七)

这是最常见的扩展。// 工具名称// 给 LLM 看的描述// 参数 JSON Schema// 执行逻辑permission?// 权限级别然后把工具注册到 ToolManager,它会自动生成 LLM function calling 的 schema。// 调用你的模型 API// 返回流式响应(AsyncIterable<ContentPart>)withThinking(effort) { /* 返回新实例 */ }

2026-08-13 13:37:33 583

原创 kimi-code 深度掌握系列文章-V2 引擎的 HTTP 服务层:kap-server(十六)

kap-server 没有使用 Fastify 原生的 AJV 验证。它通过自研的中间件实现了一套声明式路由系统:一个对象同时声明 Zod Schema(运行时验证)和 OpenAPI Schema(Swagger 文档)。body: promptSubmissionSchema, // Zod — 运行时验证success: { data: promptSubmitResultSchema }, // 成功响应errors: {

2026-08-13 10:39:20 225

原创 kimi-code 深度掌握系列文章-终端里的 Agent 界面:CLI/TUI 架构(十五)

Node.js Single Executable Application (SEA) 是 Node.js 20+ 提供的特性,可以将一个完整的 Node.js 应用打包为一个独立的二进制文件。用户无需安装 Node.js runtime 或依赖。kimi-code 的 CLI/TUI 架构展示了如何在终端中构建一个现代 AI Agent 界面。​分层隔离​:CLI 不直接依赖引擎,通过 SDK 的 Harness/Session 接口消费能力​差分渲染。

2026-08-12 13:55:32 190

原创 kimi-code 深度掌握系列文章-通信协议设计Protocol & RPC(十四)

Protocol 包中的每个数据结构都有对应的 Zod schema。// 1. 定义内容类型的 discriminated union]);// 2. 定义 Message(组合内容数组 + 元数据)});// 3. 从 schema 提取 TypeScript 类型(编译时)这个模式在 protocol 包中反复应用:每个领域(session、tool、approval 等)都有自己的 Zod schema + 对应的 TypeScript 类型推导。​单一协议包​:所有通信契约集中在一个。

2026-08-12 09:20:44 314

原创 kimi-code 深度掌握系列文章-会话记录的数据层:Transcript (十三)

订阅粒度(// 粒度排序(GS 连接/客户端来决定用户需要什么粒度)粒度包含的 ops适用场景off无Agent 不可见,完全关闭传输turnturn.upsert, marker.upsert, taskref.upsert, 全局实体和 metaAgent 选择器、任务面板、"Turn 完成"通知blockturn 级 + step.upsert, frame.upsert(每帧完整状态)浏览历史会话、翻页查看已有结果delta全部 ops,包括 append chunks。

2026-08-11 12:48:58 239

原创 kimi-code 深度掌握系列文章-执行环境抽象Kaos(十二)

Kaos 是 kimi-code 中连接 Agent 推理与操作系统操作的桥梁。它通过接口抽象 + 多实现 + ALS 上下文传递的架构解决了一个核心问题:如何让一套 Agent 工具代码在本地、远程 IDE、SSH 主机等不同执行环境中零修改运行?​接口契约​:Kaos 接口完全独立于实现,新环境只需实现 20 余个方法即可接入​不可变配置withCwd()withEnv()返回克隆而非修改原实例,并发安全且与 Kosong 设计一致​ALS 上下文。

2026-08-11 09:35:17 312

原创 kimi-code 深度掌握系列文章-LLM 抽象层:Kosong(十一)

/ 图片输入// 视频输入// 音频输入// 思考模式// 工具调用// 上下文窗口大小: number;// 最大输入 token(可能小于窗口): boolean;// 动态工具加载Kosong 是 kimi-code 中大语言模型交互的统一入口。它通过ChatProvider 接口 + 多供应商适配器 + generate() 协调器定义了清晰的契约——供应商只需实现约 7 个方法就能接入5 种供应商适配器。

2026-08-10 15:39:53 489

原创 kimi-code 深度掌握系列文章-Swarm 与后台任务:并行与异步执行(十)

子 Agent 架构提供了执行单元的抽象和隔离基础;Swarm Mode在此之上构建了并行批处理能力,让 N 个独立任务同时执行并按需汇总;解决了长时间运行操作的异步化问题,让 Agent 的对话流不再被耗时操作阻塞。三者的结合使 kimi-code 具备了从快速交互到离线自治的完整执行能力谱系。理解这些机制的关键在于认清它们的本质差异:子 Agent 是执行单元,解决的是「谁来做」;Swarm 是编排模式,解决的是「怎么并行做」;后台任务是时间模型,解决的是「什么时候看结果」。

2026-08-10 13:46:35 345

原创 kimi-code 深度掌握系列文章-Plan Mode 与 Goal Mode:结构化的自主执行(九)

Plan Mode 和 Goal Mode 代表了 agent-core 在结构化自主执行方面的两种策略。Plan Mode 侧重于事前规划与人类审阅,通过 enter_plan_mode / exit_plan_mode 控制原语和结构化的计划数据,将复杂任务的执行置于用户的监督之下。Goal Mode 则走向预算约束下的自动推进,通过四状态状态机、Goal Driver 循环和三级预算系统,让 Agent 在安全网的保护下自主完成多轮任务。

2026-08-09 10:53:48 255

原创 kimi-code 深度掌握系列文章-上下文管理:压缩与记忆(8)

调用 LLM 将提取的关键信息整合为一段结构化的摘要文本。摘要包含:已完成任务的描述、进行中的任务状态、关键决策记录、未解决的问题列表。4// 压缩摘要在上下文中的注入格式[压缩摘要 — 用于替代早期对话]- 已完成的任务: [摘要]- 进行中的任务: [摘要]- 关键决策: [摘要]- 未解决的问题: [摘要]- 重要文件: [变更记录]kimi-code 的上下文管理系统是一套从容量约束到记忆持久化的完整解决方案。

2026-08-09 10:30:33 184

原创 kimi-code 深度掌握系列文章-权限与安全:三层审批模型(七)

展示将要执行的操作的类型(如"文件写入"、“Shell 执行”)、工具名称和简要描述。kimi-code 的权限系统是一道多层防御的「安全围栏」。它通过三种审批模式适应不同的安全需求场景,通过工具级别和路径级别的两层细粒度控制实现精确的权限管理,通过审计日志确保所有操作可追溯。权限系统的核心哲学不是「阻止 Agent 做事」,而是「让用户始终掌握最终控制权」。无论 Agent 多么智能,执行的操作多么自动化,用户始终是最终的决策者。

2026-08-07 16:18:35 199

原创 kimi-code 深度掌握系列文章-工具系统:从注册到执行(六)

是 Agent 与外部世界交互的桥梁。它位于,是 Agent 类的核心成员之一。在一个 turn 的 loop 中,LLM 返回tool_use停止原因后,loop 会查询获取可执行的工具集合,完成工具调用的分配与执行。来源ToolSource说明内置工具'builtin'框架自带的核心工具,如文件读写、Shell 执行、Web 搜索等。由按依赖注入动态构建用户自定义工具'user'通过注册的外部工具,支持inline和deferred两种披露模式MCP 工具'mcp'

2026-08-07 09:30:39 235

原创 kimi-code 深度掌握系列文章-对话循环TurnFlow(五)

TurnFlow 是 Agent 的核心执行引擎,定义在。管理从接收到用户 prompt 到产生最终回复的完整循环一个 Turn 可能包含多次 LLM 调用— 因为工具调用会触发新的 generate step聚合 token 用量— 跨 step 累计 usage,在 turn 结束时统一上报执行收敛控制— max steps、abort 检查、continuation hook从代码签名看,runTurn接受一个丰富的输入对象,返回一个TurnResult。

2026-08-06 19:42:45 210

原创 kimi-code 深度掌握系列文章-Agent 类编排者(四)

​通过 ToolManager 注册自定义工具​:使用动态注册​通过 MCP 集成外部工具​:MCP 工具自动注册到 ToolManager,通过执行​通过 Hook Engine 注入自定义行为​:Hook 是 Agent 与外部逻辑交互的最灵活接口​通过 AgentOptions 注入系统提示词上下文提供者允许调用方自定义系统提示词中的运行时上下文​向上​,它通过接口接收前端/SDK 的命令(prompt、cancel、setModel 等)​向下。

2026-08-06 13:07:06 376

原创 kimi-code 深度掌握系列文章-关键架构决策(三)

kimi code源码分析

2026-08-05 14:06:52 186

原创 kimi-code 深度掌握系列文章-从一个 Prompt 到完成的数据流向(二)

本文详细剖析了kimi-code系统中用户Prompt的完整处理流程,从终端输入到LLM生成再到结果渲染。系统采用模块化设计,包含三大核心层级:终端交互层(CLI/TUI)、SDK中间层和Agent核心引擎层。终端层负责输入捕获和差分渲染;SDK层处理会话管理、RPC通信;Agent层通过TurnFlow实现多轮对话循环,集成工具调用、权限管理等子系统。系统采用JSON-RPC协议通信,事件驱动架构实现流式响应,并通过wire.jsonl实现持久化恢复。文章重点解析了TurnFlow的主循环机制,包括预处理

2026-08-05 13:44:11 405

原创 kimi-code 深度掌握系列文章-项目全景地图(一)

Kimi-code 是 MoonshotAI 开源的终端 AI 编程 Agent,采用 TypeScript monorepo 架构(5 个应用 + 15 个包)。核心特色包括: 架构演进:从 V1 单体 Agent 转向 V2 DIxScope 架构,实现 App/Session/Agent 三级生命周期管理,支持持久化和多租户隔离; 工程化设计:严格分层(apps→node-sdk→agent-core)、组合优于继承、实验特性 Flag 管理; 关键技术:自研终端 UI 库 pi-tui、LLM 抽象

2026-08-04 13:58:53 374

原创 Kimi-Code核心模块:Agent-Core 从入门到精通

本文是@moonshot-ai/agent-core的技术教程,系统介绍了该Agent引擎的架构与核心模块。主要内容包括:1)Agent-Core作为统一Agent运行时的定位,包含会话管理、工具系统等核心能力;2)三大核心抽象(Session、Agent、Loop)和关键设计模式(DI容器、事件溯源等);3)详细解析了Agent生命周期、工具系统三层架构、Plan模式和Swarm模式等核心功能;4)高级特性如DI容器实现、事件溯源机制和Hook系统;5)最佳实践建议。教程采用TypeScript实现

2026-08-04 09:53:29 329

原创 [原创]关于C#中的REF和黓认引用的思考

先看一个例子吧:public class A {  public int Member; } public class MyApp {  private static void GetNoRefA(A noRefA)  {   noRefA=new A();   noRefA.Member=100;  }  private static void GetRefA(ref A refA)  {  

2005-07-13 15:40:00 1019 1

原创 开闭原则

  开闭原则也是面向对象技术的五大关键原则之一,Open-Closed Principle原则讲的是:一个软件实体应当对扩展开放,对修改关闭。优点:        通过扩展已有软件系统,可以提供新的行为,以满足对软件的新的需求,使变化中的软件有一定的适应性和灵活性。        已有软件模块,特别是最重要的抽象层模块不能再修改,这使变化中的软件系统有一定的稳定性和延续性。    那如何做到对现有

2005-01-08 09:57:00 904

原创 单一职责

   最近在看敏捷软件开发,所以在此写下学习笔记,也说明自己看过敏捷软件开发吧,哈哈;学习面向对象技术得有一个循序渐进的过程,面向对象就必然有它的一些原则(其中单一职责就是其一),然后才是方法(模式,才知为什么要这么做,才知复用的好处),先不说这些了,开始我对单一职责的理解吧!(可能会不正确哦,如有不同意见,拜求能够指正);  单一职责(SRP:The Single Responsibility

2005-01-06 10:00:00 707

转载 把男友升级为老公的时候发生的bug

技术负责人,您好: 去年本人把"男友5.0"升级为"老公1.0",发现财务软件发生意外的变化,导致与在"男友5.0"版本下,运行良好的"flower"和"装饰品"应用程序的连接发生障碍。而且"老公1.0"系统删除了"浪漫9.9"等软件,并擅自把"足球11.0"或者"nba3.0"安装进去。更糟糕的是,"沟通8.0"也不象以前那样灵活,"家务2.6"子系统渐渐处于崩溃状态。我试图用"唠叨5.3"解决

2004-11-08 11:34:00 600

利用数据挖掘增加商业智能

利用数据挖掘增加商业智能,如何在企业大数据量中找到有价值的数据

2013-04-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除