DeepSeek Harness 产物浏览器插件开发最佳实践

本文档以 @wangjunjian/dsh-artifact-viewer 为实例,系统梳理 DeepSeek Harness(DSH)bundle 插件的开发方法:工作原理、架构设计、构建打包、测试、发布自动化,以及开发和发布过程中实际踩过的坑。

1. 工作原理

Bundle 插件是什么

DSH 的 bundle 插件是一个普通 npm 包,通过 package.json 里的 dsh 字段声明自己:

{
  "dsh": {
    "bundle": { "patch": "./cordis.patch.yml" },
    "client": {
      "platform": "web",
      "inject": ["@deepseek-ai/dsh-client-runtime"],
      "external": ["@deepseek-ai/dsh-client-ui-primitives"]
    }
  }
}
  • dsh.bundle.patch:指向一个 cordis patch 文件,负责把插件注册进 loader 树。
  • dsh.client:声明浏览器半部分的运行平台、注入依赖和 external 包。

DeepSeek Harness 插件(dsh-github-trending)开发最佳实践

一份面向本仓库(DeepSeek Harness 外部 Bundle 插件)的全面开发规范。 内容均基于本仓库真实代码(src/tsdown.config.tspackage.jsontests/ 等)提炼, 而非泛泛而谈的通用建议。改动代码前先读本文,能少踩 80% 的坑。

0. 项目定位速览

本仓库是一个 DeepSeek Harness(以下简称 DSH)外部 Bundle 插件,对外暴露一个面向模型(model-facing)的工具 github_trending,抓取 https://github.com/trending 的公开页面,返回结构化热门仓库列表。

智能体(Agent)架构分层详解(实现逻辑)

基于 deepseek-ai/deepseek-harness(TypeScript / Cordis 插件总线)与 openai/codex(Rust / codex-rs crate 体系)两个成熟开源项目的真实源码整理。 本文把每层的关键数据结构、控制流、不变量讲清楚,并为每个核心模块附上实现逻辑——这些是写 Agent 时真正会踩坑的地方。 所有 代码路径 均为实际文件,可下钻核对。伪代码为便于阅读对真实实现做了抽象,但结构与关键分支与源码一致。

0. 先定位:Agent 是什么

Agent = 以 LLM 为决策核心、以 Tool 为手、以 Sandbox 为边界、以 Append-Only 会话日志为记忆的闭环。

两条跨实现的底层信条

  1. 会话日志是模型上下文的唯一真相(model-visible ⟺ logged)。 任何进模型请求的内容都必须能从日志重建。
  2. 能力是可替换的 seam。 模型、工具、文件系统、沙箱都通过接口/adapter 解耦。

分层总览

智能体(Agent)架构分层详解

基于 deepseek-ai/deepseek-harness(TypeScript / Cordis 插件总线)与 openai/codex(Rust / codex-rs crate 体系)两个成熟开源项目的源码与架构文档整理。 目标:用「分层 + 核心模块详解」的方式,把一个 Agent 讲清楚。

0. 先定位:什么是 Agent

一个 Agent 本质上是一个以 LLM 为决策核心、以工具为手、以沙箱为边界、以会话日志为记忆的闭环系统:

  • 它接收用户意图(自然语言 / 注入上下文);
  • 把意图和环境信息组装成模型上下文,向 LLM 发请求;
  • 解析 LLM 返回的「思考」与「工具调用」;
  • 受控环境里执行工具(读文件、跑命令、改代码);
  • 把结果写回会话日志,再驱动下一轮,直到任务完成。

无论 TS 还是 Rust 实现,所有 Agent 的模块都收敛到同一组子系统。下面按自底向上的依赖顺序分成 7 层。

分层总览

DeepSeek Harness — 内置插件完整能力分类整理

分析对象packages/ 下全部 @deepseek-ai/dsh-* 插件。 统计口径:直接扫描每个包的 package.json(name / description 字段)+ 分组级 README.md逐包核对,无遗漏结论:共 50 个能力分组、226 个插件包。 核心理念:everything is a plugin。整个 harness 建立在 vendored Cordis 之上,每个能力都以插件形式通过 ctx.effect() / ctx.on() / ctx.waterfall() 贡献。 架构范式:能力分离(capability seam)——同一能力族通常拆成「服务定义(Service Definition)/ 具体提供方(Provider)/ 消费方/工具(Consumer)」三层,互不耦合、可独立替换。

0. 总览:50 个分组 / 226 个包

DeepSeek Harness — 内置模型工具(Tool)分类整理

分析对象:packages/**/src 下所有经 defineTool(...) / ctx.tools.register(defineTool(...)) 注册、或运行时注入的模型侧工具。 排除:测试 fixture、浏览器端 UI 占位工具、zod schema 字段名(误报)。 所有工具均由独立「消费方」插件注册,底层能力提供方(Provider)可在不改工具契约的前提下替换。

一、总览(按能力族分组的工具数)

OpenAI Codex CLI — 架构设计与核心模块原理

1. 项目概述

  • 项目openai/codex —— OpenAI 的本地编码 Agent(Codex CLI)
  • 核心定位:在用户本机运行的编码智能体,支撑三种宿主形态:终端 TUI、IDE 插件(经 app-server)、非交互 exec 模式
  • 代码规模:Rust workspace 含约 90–115 个 crate(codex-rs/Cargo.toml),crate 统一以 codex- 前缀命名;另有 codex-cli(Node 包装层)与 sdk/
  • 主要语言:Rust(核心)+ TypeScript(CLI 分发包装)
  • 构建系统:同时使用 Bazel(根目录 MODULE.bazel)与 Cargo workspace

设计哲学(见 codex-rs/docs/protocol_v1.md)是:Core 引擎与 UI 解耦 —— "Codex runs locally, either in a background thread or separate process",并通过一对队列 SQ(Submission Queue,UI→Core)EQ(Event Queue,Core→UI) 通信。任何 UI(TUI、桌面 App、IDE 插件、MCP 客户端)都可驱动同一个 Core。

关键抽象

DeepSeek Harness 架构科普:一座“插件城市”如何驱动一个 AI 智能体

本文用通俗类比拆解 deepseek-harness(简称 dsh)的整体架构与核心模块的工作原理。 所有结论均来自仓库 docs/ 下的架构与子系统文档(architecture.mdcordis-primer.mdsubsystems/*capability-seams.md)。 代码路径以 packages/...docs/... 标注,便于深究。

一、一句话总览

dsh 是一个插件化的 AI 智能体运行底座。它有一条铁律:

产品的一切都是插件(everything is a plugin)。

模型适配器、工具注册表、会话日志、甚至驱动循环(agent loop)本身,统统是插件。 没有需要打补丁的"特权核心"——你想改任何一块行为,只要在别处再挂一个插件、或换掉某个实现即可, 因为所有注册都是可逆的副作用(reversible effects),插件卸载时自动回滚。

这就像一座城市:市政府(Cordis 框架)只提供"水电管网"(一套统一的服务注册 + 事件总线), 各个部门(插件)自己接入管网、各司其职,谁搬走都不影响大楼立着。

二、地基:Cordis 插件框架(用"城市公用事业"来比喻)

docs/cordis-primer.md 把 Cordis 浓缩成五个想法:

DeepSeek Harness 架构:Agent-Loop 工作原理

一、整体定位:一个"日志驱动"的反应式状态机

ReactLoopAgentpackages/core/agent-loop/src/agent.ts)不是传统意义上的 while-loop 脚本,它是一个三态相机 + 事件日志回放器的复合体:

Phase = idle | maintenance | running
  • idle:驱动器不存在,lastTurn 记住上次进度
  • maintenance:独占的维护窗口(如 compaction),持有独立 AbortController
  • running:驱动器存活,turn/step 计数 + wakeRequested 闩锁

关键设计:同一时刻只有一个驱动器 promiseactivityDone),wakeDriver() 在驱动器存活时只设置闩锁而不重入,在 maintenance 或被 abort 的活动期间则把唤醒"挂账",等收敛时重放(agent.ts:172-193)。这解决了 agent 系统最难的问题之一——唤醒信号的丢失与重入——用一个 latch 而不是消息队列。

二、输入侧:双通道 Inbox 的持久化设计

所有输入通过四个动词进来(agent.ts:113-132):

DeepSeek Harness 架构分析

1. 一句话定位

DeepSeek Harness 是一个**"一切皆插件"的 Agent 运行时**:以 vendored Cordis 为插件内核,把模型、工具、会话、执行环境、子代理全部抽象成可替换的能力接缝(capability seam),再用分层配置(profile / bundle / patch)组合成产品。它的本质不是"一个 agent",而是一条生产 agent 的装配线

2. 分层架构总览

Spritely:DeepSeek Harness 的桌宠精灵与个性化壁纸插件

Spritely 是一个跑在 deepseek-harness Web 界面里的浮动小精灵。它盯着 agent 的一举一动——待命、思考、写代码、调工具、等你确认、报错、收工——然后做出对应的表情和动作。眼珠会跟着你的鼠标转,可以被拖到任意角落,还能换角色、换背景。

这个项目完整走完了一条「dsh 客户端插件」的开发—独立化—分发链路,过程中踩了不少坑。这篇文章把三件事讲清楚:它怎么工作、怎么开发、怎么安装

项目地址github.com/wang-junjian/spritely

一、它是什么,能做什么

一句话:把 agent 的「内心活动」可视化。agent 长时间跑任务时,你盯着终端只能看到文字流,很难一眼判断它现在在干嘛、是不是卡住了。Spritely 用一个小精灵把状态翻译成表情和动作。

dsh(DeepSeek Harness)客户端 UI 插件开发指南

面向第一次接触 dsh 的开发者。读完本文你将能:理解 dsh 插件的运行原理、照着完整流程从零写一个 UI 插件、避开主题/背景/测试等高频坑。

全文以正在开发的 Spritely(精灵插件)为贯穿案例。

1. 心智模型:一句话理解 dsh 插件

dsh(DeepSeek Harness)是一个基于 Cordis 依赖注入框架的插件系统。一个"插件"就是一个可复用的功能单元,通过声明自己需要哪些服务、提供哪些能力,被宿主(host)动态加载和组合。

客户端 UI 插件而言,一句话概括:

你在写一个 React 组件 + 一份状态源 + 一段注册逻辑。宿主负责在合适的时机、合适的位置把它挂载进界面,并通过"注入面"(inject face)把服务递给你。

一个 UI 插件(如右下角的精灵)由三样东西组成:

组成 作用 在 ui-sprite 里对应
组件 画出来的东西 SpriteMascot.tsx(SVG 精灵 + 菜单 + 面板)
状态源 组件读的数据(可观察) sprite-state.ts / background-source.ts
注册逻辑 告诉宿主"挂哪、需要什么" client/index.tsapply / inject

2. 工作原理:插件是怎么被加载的

2.1 双端结构(node 端 / client 端)

机器人的“安卓时刻”:具身智能爆发背后的5个颠覆性真相

引言:越过“莫拉维克悖论”的物理鸿沟

在硅谷的咖啡馆和波士顿的实验室里,一个共识正在变得震耳欲聋:2025-2026年将是具身智能(Embodied AI)与世界模型的爆发元年。

过去两年,大语言模型(LLM)向世界展示了“数字大脑”的极限。它们能写出惊世骇俗的论文,却在“莫拉维克悖论”(Moravec's Paradox)面前碰了壁——对人类而言极其困难的高智力任务(如微积分),AI手到擒来;但对人类而言本能级的物理感知(如在风中接住一片落叶),AI却举步维艰。

斯坦福教授李飞飞曾精辟地指出:“大语言模型是‘黑暗中的文字匠人’,能言善辩却脱离现实;而世界模型则是‘观察与行动者’。”从“数字脑”进化到“物理体”,这场关于机器人的“安卓时刻”并非简单的硬件改良,而是底层逻辑的彻底重构。以下是隐藏在具身智能浪潮背后的五个颠覆性## 真相。

真相一:“复仇者联盟”的奇袭——开源大脑为何能击败谷歌?

在机器人领域,规模(Scaling)并不是唯一的真理。2024年6月,开源模型 OpenVLA 的问世让业界大跌眼镜:这个仅有 70亿 参数的模型,在29项操作任务中的成功率竟然比拥有 550亿 参数的谷歌 DeepMind 旗舰模型 RT-2-X 高出了 16.5%。

这场胜利源于一种精妙的“三人小团队”架构:

  • DINOv2(眼睛A):负责理解复杂的空间几何关系。
  • SigLIP(眼睛B):专门负责抓取语义信息和物理常识。
  • Llama2(大脑):作为指挥官,将两双眼睛捕捉到的信息融合并进行逻辑推理。

告别摩尔定律?华为发布“韬(τ)定律”:芯片进化的下一个十年已来

韬(τ)定律(Tau Scaling Law)由华为半导体业务部总裁何庭波在 2026 年 IEEE 国际电路与系统研讨会(ISCAS 2026)上正式提出,是指导后摩尔时代半导体与电子系统演进的新核心原则。

1. 引言:一个时代的终结与新逻辑的诞生

半导体行业曾长期生活在摩尔定律的金色余晖下。通过几何比例缩放(Geometric Scaling),我们习惯了晶体管每隔18-24个月就缩小一倍的神话。然而,当物理极限的铁幕落下,单纯依赖光刻机压榨空间的路径正步入死胡同。过去六年,在全球半导体产业因热量与复杂性陷入“饱和区”的焦虑时,华为在重压之下,于2026年东海岸技术峰会上抛出了一枚震撼弹——“韬(τ)定律”(Tau Law)。

这不仅仅是一次技术更新,更是一场认知的范式转移:芯片的演进逻辑正从 “空间(几何)缩放”转向“时间(延迟/频率)缩放”。华为正试图告诉世界,当城市的平面扩张(平面集成)遭遇边界时,唯一的出路是向天空索取空间,将“城市蔓延”转变为“摩天大楼架构”。

2. 核心突破:从“空间缩放”转向“时间缩放” (Tau Law)

“韬(τ)定律”的核心逻辑建立在一个深刻的哲学基础上:空间与时间是同一枚硬币的两面。在半导体领域,几何缩放的终极目的,始终是为了缩短电信号运行的时间。

华为指出,即便物理尺寸的缩小趋于停滞,我们依然可以通过优化时间尺度(Time Scaling)来驱动进化

基于 Strix 多智能体的深度代码审计能力评估

为进一步提升公司代码安全自动化防护能力,研发中心围绕Strix多智能体网络安全渗透测试工具,针对开源Java漏洞实训平台JavaSecLab开展白盒深度代码审计与系统化渗透测试选型论证。本次评估重点考察Strix在复杂业务逻辑场景下的漏洞挖掘效能、标准化报告输出能力,以及对接CI/CD研发流水线的集成适配潜力,具体论证情况如下:

1. Strix:LLM驱动的多智能体安全审计架构

Strix是基于大语言模型(LLM)构建的自动化渗透测试工具,核心能力为多智能体协同检测。本次测评对象JavaSecLab基于Spring Boot、MyBatis‑Plus、Layui等主流技术栈搭建,Strix可实现源代码、框架配置、业务逻辑、第三方依赖组件的全域覆盖。 借助深度扫描模式,工具完成全量代码静态分析、漏洞溯源与完整数据流审计,成功识别出反序列化RCE、SQL注入、认证绕过、SSRF、XXE等多类型安全漏洞,覆盖代码层、依赖层、业务逻辑层多个风险面。

  1. 深度审计执行流程与多维度结果输出机制 Strix具备高自主化审计执行能力,内部调度8类专业智能体协同完成任务;以JavaSecLab深度审计任务为例,单次任务LLM调用次数约306次,Token消耗约21.5M。

Physical Intelligence与机器人开源革命:“免费大脑”背后的四派力量与博弈

核心观点摘要 (Executive Summary)

  • 起点与转折:2024–2026年,具身智能领域出现了开源大模型全方位挑战闭源巨头的现象。以参数量仅 70 亿的 OpenVLA 击败 550 亿参数的谷歌 RT-2-X 为标志,证明了在具身智能领域“大不代表聪明”,良好的数据设计和架构创新能实现“以小博大”。
  • 技术四派:开源 VLA(视觉-语言-动作)模型已分化为四大派别:学院派(OpenVLA/OCTO)、巨头生态派(NVIDIA GR00T/Google Gemini Robotics)、创业派/中国力量(小米/蚂蚁/自变量/OpenMind)、技术极致派(Physical Intelligence π0)。
  • 开源动因:商业公司开源并非单纯慈善,而是通过“开源模型引流、闭源专有数据/训练 Pipeline 变现”或“用模型绑定自身硬件/计算生态”等策略抢夺行业标准制定权。
  • 对抗巨头的武器:开源社区依靠 “数据(Open X-Embodiment) + 工具(LeRobot/Genesis) + 架构” 的三层组合拳,降低了硬件与训练门槛,打破了特斯拉等闭源自研孤岛。

逐章节完整详解

一、 背景与破局:OpenVLA 的“以小博大”

  • 打破闭源神话:2024 年 6 月推出的 OpenVLA 仅有 70 亿参数,却在 29 项机器人操作任务中,以 16.5% 的成功率优势击败了谷歌 DeepMind 拥有 550 亿参数的旗舰闭源模型 RT-2-X。
  • 架构巧妙设计(“三个臭皮匠”战略)
  • 谷歌 RT-2-X 仅使用单视觉编码器,信息处理效率较低。
  • OpenVLA 引入双视觉编码器DINOv2 负责空间物理关系理解;SigLIP 负责语义与常识理解。结合 Llama 大语言模型作为决策大脑,将空间与语义信息解耦优化再统一决策,实现了更高的综合性能。

从代码编写到需求编译:智能体软件工程的范式演进、技术框架与教学实践

摘要

大语言模型驱动的代码生成技术正在重构传统软件工程的生产模式,软件开发重心逐步从手工代码编写迁移至需求定义、约束建模与质量验证环节。上海交通大学林云副教授提出 需求编译(Requirement Compilation) 理念,以 ARC(Agentic Requirement Compilation)智能体需求编译框架为核心,探索把大规模多模态业务需求文档直接转化为可运行软件系统的技术路径,同时开展面向智能体软件工程的课程教学改革,推动开发者从“代码工人”向“智能体架构师”转型。本文基于该前沿报告,梳理智能体软件工程范式变革背景、ARC框架技术原理、现存技术痛点、教学实践方案,同时分析产业落地瓶颈与未来研究方向,为Agent软件工程领域提供研究参考。

关键词:智能体软件工程;需求编译;ARC框架;大语言模型;测试驱动开发;DSL领域特定语言

一、引言

传统软件工程流程以人工编码为核心,需求、设计、编码、测试环节由人主导完成。生成式大模型出现后,单轮提示词生成小程序代码已经较为成熟,但面对包含数十至数百业务场景的大规模真实业务需求时,通用大模型普遍存在需求理解不全、逻辑幻觉、边界场景遗漏、架构混乱、需求‑代码不可追溯等问题,很难直接产出完整可维护的软件系统,形成AI编程的“复杂性高墙”。

现有Agent编程大多聚焦于代码补全、小脚本生成,缺少一套完整的、工程化的端到端链路:即从非结构化

如何像段永平一样“开保险公司”?一文读懂备兑 Call 与卖 Put 的金融等效逻辑

大道:call, put

🏑网友: 港交所最新披露显示,段永平控制的 H&H International Investment 对泡泡玛特的申报好仓,由 7.65%降至5.55%……

⛳️大道: 就是put expired, 部分被call走了。(2026.8.5) ⛳️大道: 其实主要是put到期影响比较大,另外有部分当时买的时候就直接卖了call了。可能未来在一定的价格区间我会一直这么做。从一开始我就说过了,泡泡玛特保险公司开张了。很多人看不懂这句话! 🏑网友: 卖出这么多,本质还是短期认为这个价位也不低,否则不可能舍得卖的,当然也有可能后面低位再吸进来,涨不上去,反复put低吸call高抛还是会挣钱。 🏑网友: 你完全理解错了啊,买入正股+卖call=卖put,大道是之前put卖的太多了超上限不能卖了,所以就买入正股+卖call,相当于以162.5的价格卖了一个put啊。 ⛳️大道: 哈,居然有个真懂的! 是的,港交所对卖put 总量有上限,所以有时候会用, 买入正股+卖covered call的办法(数学上是一样的)。我卖的call都是股票买入的时候直接就卖了call了,比如161买入的就直接卖了一个月162.5的call,当时好像能收3-4个点(目前8/28到期的160的put 可以收6.85,162.5的call可以收7.

Microsoft AI for Beginners — 学习资料总结

课程来源:microsoft/AI-For-Beginners 12 周 · 24 节课 · 涵盖符号 AI、神经网络、计算机视觉、NLP、强化学习与伦理 核心框架:TensorFlow / PyTorch · 辅助工具:OpenCV、Keras、NetLogo、OpenAI Gym

课程总览

这门课程由微软开源,面向 AI 初学者,采用「理论 + Jupyter Notebook 实操 + 实验室练习」三位一体的教学模式。整个课程从 AI 的历史与哲学出发,先建立符号推理的经典视角,再系统进入神经网络与深度学习,随后分两条主线深入——计算机视觉和自然语言处理——最后以遗传算法、强化学习、多智能体系统和 AI 伦理收尾。

课程刻意不覆盖传统机器学习(如 SVM、决策树)和云端认知服务,而是聚焦于深度学习范式符号 AI 的对立统一,帮助学习者建立对 AI 全貌的结构化理解。

第一部分:AI 导论(第 1 课)

核心问题:什么是智能?机器能否思考?

课程从图灵测试切入,回顾了 AI 的两次浪潮:第一次是基于符号逻辑的规则系统(1950s–1980s),专家系统曾一度繁荣但因知识获取瓶颈和扩展性差而遭遇「AI 寒冬」;第二次是数据驱动的连接主义(2010s 至今),廉价算力与海量数据的结合催生了深度学习革命。

关键概念:窄 AI(专用任务)vs. 通用 AI(AGI,尚未实现);符号推理 vs.

Kimi K3 技术论文解读

一、研究背景

大型语言模型(LLM)的发展一直沿着两条轴线推进:

  • 第一轴:预训练规模扩展——在部署前投入更多计算,训练更大的模型、使用更多的数据。这是传统意义上的"Scaling Law"。
  • 第二轴:测试时计算扩展——通过强化学习和推理时增加思考预算,让模型在回答问题时"想得更久"。

近年来,OpenAI的o系列、Anthropic的扩展思维模型、DeepSeek-R1和Kimi K1.5等工作,让"测试时扩展"成为前沿研究的核心焦点。然而,开源社区在第二条轴上进展迅速,但在第一条轴上却明显滞后——大多数开源模型仍停留在1T参数规模左右。随着越来越复杂的推理和智能体方法被应用于规模相近的预训练模型上,开源进展面临趋同风险,而与最强大专有系统(Claude、GPT系列)的差距可能持续扩大。

与此同时,真实世界的智能体任务需要处理超长上下文(如软件工程仓库、数万页文档、多天跨度的对话),要求模型同时具备大参数规模、长上下文窗口和原生多模态理解能力。Kimi K3正是在这一背景下诞生的:同时推进两条扩展轴,将预训练基础扩展到前所未有的3T类参数规模,同时在1M上下文长度上扩展强化学习、推理努力和长周期交互

二、要解决什么问题

Kimi K3要解决的核心问题可以概括为以下