2026年8月19日
谷歌AI摘要正在改变用户点击习惯 皮尤研究中心的一项新研究量化了出版商和SEO从业者一直关注的变化:当谷歌搜索结果中出现AI生成的摘要时,用户点击传统结果链接的比例从15%降至8%。这一数据来自对谷歌搜索用户行为的分析,显示AI摘要与用户点击行为之间存在明显关联。 研究指出,这种关联……
阅读全文
2026年8月19日
谷歌近期将Gemini Live与Deep Research功能打通,用户现在可以用语音发起一项多步骤研究任务,让它在后台运行,之后回来听取或阅读结果摘要。这一变化让深度研究从单纯的提示驱动活动,转变为更自然的对话式移动工作流,尤其适合那些需要快速记录研究需求、又不想一直停留在应用里……
阅读全文
2026年8月18日
模型提供方不止 DeepSeek 一家,想把 dsh 接到自己的模型端点,就要写一个 LLM 适配器。 本章节我们将讲 LlmAdapter 抽象类、stream() 方法、路由注册与 cordis.yml 配置。 LLM 适配器是什么 LLM 适配器是一个继承 LlmAdapter 并实现 stream() 方法的类。 它把 Harness 的提供方无关请求,转换成具体提供方的 API 调用。 它再把响应转换回 Harness 的分片,也就是 StreamC……
阅读全文
2026年8月18日
Web UI 适合人盯着看,但你要在程序里调用 dsh 时,需要的是 SDK。 本章节介绍 Python SDK:怎么装、怎么跑仓库内置示例、怎么在自己的程序里调用。 Python SDK 解决什么问题 SDK 把 dsh 变成你程序里的一行调用,而不是浏览器里的一个页面。 DeepSeekHarness 是 Python SDK 的核心类,用上下文管理器管理运行时的生命周期。 进入 with 块时延迟启动内置运……
阅读全文
2026年8月18日
适配器的 stream() 到底往外出什么样的数据? 答案是 StreamChunk,一种有严格顺序的分片协议。 这篇讲分片序列、关键规则,以及传输出错时怎么处理。 StreamChunk 协议 StreamChunk 是 Harness 与适配器之间的流式协议。 一个内容块先用 block-start 开始,中间用 delta 增量传输,最后用 block-end 结束。 文本与工具调用是两类不同的内容块,各自走一遍 start / delta……
阅读全文
2026年8月18日
插件之间怎么松耦合通信?事件就是 Cordis 的通信核心机制。 Harness 大量使用事件来实现可扩展的扩展点,这一篇把五种分发模式讲清楚。 基本用法 事件分监听与触发两端。 实例 // 监听事件:注册一个回调 ctx.on(’event-name’, (payload) => { // 处理事件 }) // 触发事件:广播给所有监听器 ctx.emit(’event-name’, payload) 通过 ctx.on 注册的监听器,会在插件卸载时自动移除。 五种分发模式……
阅读全文
2026年8月18日
前面我们已经知道了了 Fiber 状态机,这一篇看状态机是如何被服务依赖驱动的。 为什么依赖的服务消失,插件会自动卸载?服务恢复后,又为什么能自动重载? 依赖驱动加载 声明了 inject 的插件会等待所有必需服务就绪,才会进入 LOADING 执行 apply。 这一机制用服务依赖表达加载顺序,而不需要手动编排启动顺序。 实例 // 文……
阅读全文
2026年8月18日
什么是 DeepSeek Harness? DeepSeek Harness 是一个用于运行和管理 AI 编码 Agent 的工具。它让你能够以可重复、可观测的方式执行任务,并跟踪每一步的耗时、Token 消耗和失败重试情况。对于想要深入理解 Agent 行为的开发者来说,Harness 提供了一个清晰的框架。 入门教程:用一个项目讲清楚 InfoQ 上的一篇极简教程(sig……
阅读全文
2026年8月18日
上一篇 DeepSeek Harness 第一个插件 写好了 hello-plugin 的源码,接下来我们把它加载进 Web UI。 这里我们会用到两个东西:patch 覆盖层 cordis.yml 和 –patch 启动参数。 scratch-plugin 目录结构 之前我们创建了 scratch-plugin/src,现在再加一个 cordis.yml。 整个临时项目的结构如下: <span>scratch</span><span>-</span><span>plugin</span><span>/</span><span> </span><sp……
阅读全文
2026年8月18日
本地安装已经跑通了,我们可以把插件分发给别人使用。 发布到注册表不是必须的,有三种途径:npm、tarball、Git。 三者对构建产物的要求完全不同,选错会在用户侧踩坑。 三种分发方式对比 官方文档给出三种分发方式,核心区别在于是否分发预构建产物。 方式 用户安装命令 安装到的是什么 是否需要……
阅读全文