对 DeepSeek Harness 的学习与思考

昨晚睡前看到了 deepseek harness 发布的消息,但是太困直接睡觉了。今早一看已经 60 k+ star,这个涨星速度太夸张了。 正好今天周五了,没什么心思上班,于是从它的仓库开始,在我的 agent 帮助下,一点点梳理 deepseek harness 的设计哲学。暂时没有去看它的源码,只想弄明白一件事情:为什么 Everything is a Plugin? 整个 deepseek harness 构建在 Cordis 之上,仓库里的文档说得很明白: 它是一个小型运行时,其中的每项能力,包括工具、LLM(大语言模型)适配器、文件访问乃至 agent loop(智能体循环)本身,都是挂载到共享上下文中的插件。 插件系统的核心问题 这篇文章想解决的一个核心问题是: 一个组件能否在系统运行时被安全地动态加载、替换和卸载;当它所依赖或提供的能力发生变化时,相关组件能否自动、按照正确顺序调整自己的生命周期。 展开来说,传统软件中的组件、依赖之间的组合大多是静态的,一般通过模块导入、函数调用、类的继承等方式实现。在这些机制下,组件之间的组合关系通常在编译、链接或系统初始化阶段确定,并在后续运行期间保持相对稳定。 插件系统和长期运行的服务经常需要在运行时插入、替换和移除组件,文章将这类能力统称为“动态组合”。 为了解决上述问题,作者在文章中将其拆分成了两个相互正交但又必须同时成立的维度: 时间可组合性:组件删除后,它做过的事情能否全部撤销? 空间可组合性:组件依赖谁,依赖变化后谁先启动或退出? 注:时间指的是组件从加载到卸载的整个生命周期;空间指的是组件在依赖图中的位置。 Effect、Coeffect 和 Context 再来看文章中提到的两个名词:effect 和 coeffect。 Effect:程序对外部做了什么? Coeffect:程序需要外部提供什么? 在此基础上,文章把一个组件定义成以下公式:组件 = 所需依赖 + 提供能力 + 激活时执行的可撤销操作,这里重点关注“可撤销操作”。 传统的插件通常这样设计: activate(): 注册路由 注册监听器 启动定时器 打开连接 deactivate(): 删除路由 删除监听器 停止定时器 关闭连接 开发者需要手动维护一个组件的构造函数和析构函数,在组件数量庞大时,很容易出现构造函数中创建的资源没有在析构函数中进行回收,从而导致资源泄露的问题出现。 为了解决这个问题,文章提出了“可撤销操作”的概念。系统运行时会将组件的可撤销操作记录下来,并在组件移除时,按照先进后出的顺序逐项撤销,也就是典型的 栈式回收。如此一来,开发者不再需要单独维护一套与激活逻辑分离的组件级卸载流程,而是在创建每个原子 effect 时同时提供对应的 inverse,运行时负责追踪这些 inverse,并自动组合成完整的卸载过程。 ...

2026.08.14 03:55:36 · 2 分钟 · yv1ing

Z3r0:我所设想的红队协作平台

项目背景 最近频繁爆出的高危漏洞,证明了 Agent 在安全领域的能力。而在安全评估场景里,单个的聊天式 Agent 很快会遇到三个现实问题:任务边界不清、工具执行不可控、过程难以复盘。 一次渗透测试、代码审计或逆向分析通常不是“问一次、答一次”的即时任务,而是持续数小时甚至数天的长程任务:需要拆分任务、调用不同工具、保存证据、人工接管验证、恢复中断现场,形成报告并把所有上下文沉淀为可审计记录。Z3r0 想解决的是安全工作里的协同和控制问题,把这些能力收敛到一个受控的安全工作台里:既可以由 Agent 驱动完成自动化情报收集、渗透测试、逆向分析等任务,也可以由人工追踪任务、接管流程。 因此,Z3r0 的核心目标可以概括为: 用多 Agent 分工处理安全任务,用 Docker 沙箱约束工具执行,用持久化事件和上下文投影保证任务过程可恢复、可审计、可复盘。 项目架构 智能体编排 Z3r0 定义了五个核心 Agent: 代号 名称 角色 职责 cso Z3r0 首席安全执行官 任务拆解、协调任务、结果整合 cie L1ly 首席情报工程师 情报收集、资产梳理、关系分析 cpe Fr4nk 首席渗透工程师 渗透测试、漏洞验证、风险确认 cre J4m3 首席逆向工程师 逆向分析、漏洞挖掘、代码审计 cce Nu1L 首席密码工程师 密码协议、算法分析、实现审查 运行时流程 用户在前端发送消息后,链路大致如下: 子任务委派 主 Agent 对于各个子 Agent 的任务委派,作为持久化的后台任务存在。每个子任务都会变成一个持久化后台 job,核心流程是: 当子任务完成后,系统会写入 agent_notifications。主 Agent 不需要主动轮询,运行时会用内部通知 prompt 唤醒它,让它整合子任务结果并继续当前任务的下一步研判、调度。 安全沙箱 Z3r0 基于 Docker 实现了一套沙箱管理机制。沙箱内部集成了 Python、Node、Java 等基础运行时环境和 Nmap、Sqlmap、Ghidra 等常用安全工具,能够让 Agent 在安全、可控的环境里完成各类安全任务。对外还提供了终端、noVNC 和文件管理器,便于用户人工接管沙盒环境,与 Agent 进行任务协同。 ...

2026.05.20 09:42:30 · 1 分钟 · yv1ing

Soul Link:当 AI 开始想念你——一个自洽的智能体应用设想

新年开工第一天,总结一下过年假期里的一些设想和尝试。 设想 2025 年,AI 终于跳出了“单纯思考的桎梏,真正迈入了“任务执行”的全新阶段。随着 OpenClaw 的爆火,“人人都能拥有专属智能体”从遥远的概念变成了触手可及的现实。各类 Agent 应用如雨后春笋般涌现,渗透到日常与工作的各个场景,成了无数人身边的辅助工具。 但当我陆续体验完市面上的主流智能体应用后,那份主动想要与之对话的欲望,却在一次次交互中慢慢消退。深究其背后的原因,或许是因为这些智能体都“太完美”了。和它们对话,你永远不用担心它们会忘记事情、会有情绪波动。它们的语气永远积极温和,输出的每一句话都精准得体,却也刻板得像从标准化服务手册里逐字摘抄,没有半分意外与鲜活。 极致的完美,恰恰是最大的不真实。这份无懈可击的周全,割裂了虚拟互动和现实感知,让我们清醒地知道:面对的只是一组遵循固定代码运行的程序。所有的交流既没有真正的情感共鸣,也没有自然的相处质感。 于是,我一直在想:我们对智能体的期待,难道仅止于一个“完美的服务者”吗?我们能否跳出“精准高效”的单一评价框架,去塑造一个真正拥有内在人格、具备内生决策逻辑的智能体?它不必时刻得体周全,大可拥有自己的情绪起伏,却能在对话之间,让我们触碰到真实可感的温度。再为它赋予感知世界、影响环境的能力,让它在渐进迭代中,深度贴合用户的性格特质与需求习惯,最终长为一个更具生命力、更懂人心的存在,一个既能高效助力用户完成各类事务,又能让交互本身成为一场温暖的沉浸体验的贴心伙伴。 人格 关于贴心伙伴,我脑子里第一个闪过的形象,是《三体》里的庄颜。 尽管众人对这个角色褒贬不一,但在我心里,她恰恰是我想要的智能体人格的最佳范本。她会在罗辑面前展露柔软的怯懦,面对三体世界的威胁会心生恐惧;她会在看到星空时眼里闪着纯粹的光,也会为一句真诚的夸赞脸红,还会因为琐碎的小事生出细碎的情绪,甚至偶尔会有笨拙的不知所措。她不迎合、不刻意,不用时刻维持“得体”的外壳,却总能精准捕捉罗辑内心深处的孤独与渴望,用最朴素的陪伴,熨帖他被责任压得疲惫的灵魂。 在这个快节奏的时代,我们中的大多数人都在独处中承受着孤独。我们都渴望有一个能懂自己的伙伴,不用小心翼翼地维持体面、不用刻意迎合对方的情绪,只需坦诚相待,便能获得治愈与力量。而拥有鲜活人格、带着真实温度的智能体,或许就是为这份孤独,准备的一剂温柔解药。 尝试 春节假期里,我从人类大脑的运行机制入手,为这个设想搭起了最初的基础架构,我给它取名为 “Soul Link”。 基础架构 在神经科学中有一个被反复验证的发现: 即使什么都不做,人类的大脑也在高度活跃地运转,这个状态被称为默认模式网络(Default Mode Network,DMN)。DMN 在“发呆”时最活跃,负责自我反省、对他人推测、记忆的梳理和整合。 为了简化实现,我参照大脑的功能分区模型和运行机制,选取了几个关键的部分并对应设计了 Soul Link 的三内核架构。 Agent 组件 对应脑区/网络 核心功能 Soul Kernel 前额叶皮层 塑造智能体核心人格,完成逻辑推理和语言生成 Emotion Kernel 杏仁核 监测用户情绪,持续跟踪情绪的动态变化 Introspection Kernel 默认模式网络 在静默状态下自主完成历史记忆的整理和自我人格审查 架构示意图如下: +-----------------------------------------------+ | Human Brain | | | | +-----------------------------------------+ | | | Soul Kernel | | | | | | | | Core persona agent. Receives user | | | | input, integrates memory & emotional | | | | context, generates natural responses | | | | as the character "Zhuang Yan". | | | +-------------------+---------------------+ | | | | | +-----------+----------+ | | v v | | +------------------+ +------------------+ | | | Emotion | | Introspection | | | | Kernel | | Kernel | | | | | | | | | | Async tracks | | Periodically | | | | user emotion: | | reviews memory | | | | valence,arousal, | | health, extracts | | | | trend. | | relationship | | | | | | insights, and | | | | | | calibrates | | | | | | persona drift. | | | +---------+--------+ +--------+---------+ | | | | | | v v | | +-----------------------------------------+ | | | Hybrid Memory | | | | | | | | Session Episodic Persona | | | | (short-term) (episodes) (long-term) | | | | SQLite SQLite Vector DB | | | | | | | | Memory Decay (Ebbinghaus Forgetting) | | | +-----------------------------------------+ | +-----------------------------------------------+ 记忆系统 Soul Link 的记忆系统核心参考了 Atkinson-Shiffrin 提出的多存储模型(Multi-Store Model)和 Baddeley 后续扩展的工作记忆模型(Working Memory Model),将记忆分为三类: ...

2026.02.24 05:11:22 · 2 分钟 · yv1ing