🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

心跳唤醒 houzch/dsh-plugin-agentheart

DeepSeek Harness
houzch27 天前有提交已提供中文文档扫描:含敏感能力

让 AI 按固定节律主动醒来,维护记忆并探索环境

36.1/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/11 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add houzch/dsh-plugin-agentheart
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · chat
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 27 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/24) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@agentheart/dsh-plugin-agentheart(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 06:37:07

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 读取本地文件
    src/binary.test.ts:53
    const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')) as {
  • 读取本地文件
    src/binary.test.ts:68
    assert.ok(existsSync(EXISTING_FILE))
  • 读取本地文件
    src/binary.ts:47
    if (existsSync(explicit)) return explicit
  • 读取本地文件
    src/binary.ts:56
    if (existsSync(binary)) return binary
  • 发起网络请求
    src/client.ts:243
    return (await connection.request(requestId, body, this.timeoutMs)) as AhResponse<T>
  • 删除本地文件递归
    src/supervisor.test.ts:18
    after(() => rmSync(FAKE_DIR, { recursive: true, force: true }))
  • 写入本地文件
    src/supervisor.test.ts:23
    writeFileSync(file, body, 'utf8')
  • 执行外部命令来自配置/变量
    src/supervisor.ts:68
    const child = spawn(binary, [], {
扫描于 2026/11/2(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 周期性心跳唤醒
  • 主动维护记忆
  • 感知环境探索
展开完整介绍(212 字)↓

基于 AgentHeart 概念开发的 DSH(DeepSeek Harness)插件。它为 AI agent 注入周期性"心跳"唤醒机制,让 agent 不再被动等待指令,而是按固定节律主动"醒来"——维护记忆、感知环境、按兴趣探索,再决定是否开口。结合 AgentHeart 本身"让 AI 拥有持续存在感"的理念,这款插件将"心跳"从概念落地为可安装、可配置的 DSH 插件,为 agent 赋予真正的自主性与主动性。

README

由 DeepSeek 最新模型翻译生成
@agentheart/dsh-plugin-agentheart 把 AgentHeart(AI 智能体的「心脏包」:任务调度 / 定时任务 / 消息队列 / 循环任务 / 并发治理)以 Cordis 插件形态嵌入 DeepSeek Harness(DSH)。 - 零侵入宿主:不修改 DSH 核心源码,仅以插件 + 配置接入; - 零内核依赖:AgentHeart 内核仍为 Rust 零第三方依赖; - 可插拔可回退:卸载插件即回收侧车进程,宿主回到原生形态。 设计依据与完整实施步骤见 agentheart-test/docs/AgentHeart_集成DeepSeekHarness实施方案.md。
展开完整文档(README 剩余 1 节)
@agentheart/dsh-plugin-agentheart

把 AgentHeart(AI 智能体的「心脏包」:任务调度 / 定时任务 / 消息队列 / 循环任务 / 并发治理)以 Cordis 插件形态嵌入 DeepSeek Harness(DSH)。

- 零侵入宿主:不修改 DSH 核心源码,仅以插件 + 配置接入;
- 零内核依赖:AgentHeart 内核仍为 Rust 零第三方依赖;
- 可插拔可回退:卸载插件即回收侧车进程,宿主回到原生形态。

设计依据与完整实施步骤见 agentheart-test/docs/AgentHeart_集成DeepSeekHarness实施方案.md。

架构

DSH (Node/TS + Cordis) ──插件──▶ 回环 TCP 帧协议 ──▶ agentheartd 侧车(Rust 内核)
ctx.agentheart 服务 / agentheart_* 工具 / 事件回流

安装

通道 A(推荐):npm
dsh plugin --profile <profile> add @agentheart/dsh-plugin-agentheart

通道 B:GitHub 仓库(pnpm≥10 首次需把包 key 写入 profile 的 pnpm-workspace.yaml 的 allowBuilds)
dsh plugin --profile <profile> add github:houzch/dsh-plugin-agentheart

通道 C:本地目录 / tarball(内部分发、零账号;tarball 亦见 GitHub Release 资产)
dsh plugin --profile <profile> add ./dsh-plugin-agentheart
dsh plugin --profile <profile> add ./agentheart-dsh-plugin-agentheart-1.0.0.tgz

开发期:直接指向 TS 源码(免打包、免构建)
pnpm dsh web --patch /abs/path/to/dsh-plugin-agentheart/cordis.patch.yml

侧车二进制通过平台子包分发(@agentheart/agentheartd-<platform>-<arch>),
npm 依据 os/cpu 只安装匹配平台,无需 postinstall、可离线。

配置

在用户 profile 的 cordis.yml 中覆盖默认值:

- id: agentheart
name: '@agentheart/dsh-plugin-agentheart'
config:
mode: sidecar # sidecar(默认)| external(连接既有侧车) address: '127.0.0.1:17890' # mode=external 时必填 token: '<本地令牌>' # mode=external 时必填 binaryPath: '' # 留空 = 自动解析平台子包 healthIntervalMs: 5000 shutdownTimeoutMs: 3000
eventTopics: ['task', 'delivery', 'error', 'loop', 'rule']
kernel:
workers: 0 # 0 = 内核默认 heartbeatMs: 1000

能力

服务(供其它插件 inject: ['agentheart']):ctx.agentheart.{tasks,jobs,queue,loops,rules,observe}。

工具(供模型调用):agentheart_task_submit / agentheart_task_list / agentheart_task_control / agentheart_job / agentheart_queue / agentheart_loop / agentheart_rule / agentheart_observe。

事件:内核 event.task/delivery/error/loop/rule/heartbeat 回流为 Cordis 类型化事件
(ctx.emit('agentheart/task' | …),同步派发;可在其它插件中 ctx.on('agentheart/task', …) 订阅)。

Trajectory:DSH 的 Trajectory 即 append-only 会话日志(@deepseek-ai/dsh-session 的 ctx.sessions)。
本插件默认只读观测、不写入(后台桥接无「当前会话」句柄);如需把 AgentHeart 事件落库到某个会话,可在事件回调中通过 ctx.sessions 的 Session.append(...) 自行追加。

与内置「定时任务」插件的边界

DSH 内置 @deepseek-ai/dsh-schedule 是会话绑定的提醒(schedule_create/list/delete/update,把消息投递回原会话;Host 须运行,最小粒度 1 分钟)。
本插件是面向工程的可靠调度(队列任务 / 重试 / 死信 / 循环 / 并发治理;侧车独立运行)。

二者互补、可共存:调度时间源相互独立、工具名不冲突,不存在双重调度。
建议——简单提醒用内置 schedule_;需要可靠执行与失败自愈用 AgentHeart。可选单向桥接默认关闭(详见集成方案 §3.6)。

开发

npm install
npm run build # tsc -> lib/(不含测试)
npm run typecheck
npm test # 编译到 test-build/ 后由 node:test 运行

测试骨架基于 Node 内置 node:test(零新增依赖,共 49 例;Windows 跳过 1 例信号语义):

| 文件 | 覆盖 |
| src/client.test.ts | 协议线格式(16 字节帧头)、握手、请求-响应、事件与响应分流、内核错误码透传——用独立 TCP 假内核交叉校验线格式 |
| src/events.test.ts | 主题路由、seq 幂等去重、onEvent 回调、启停幂等、取事件异常静默 |
| src/tools.test.ts | 8 个工具注册、agentheart_job 的 create/delete、前置校验、失败隔离(异常转可读文本) |
| src/binary.test.ts | 平台矩阵与 package.json 的 optionalDependencies 对齐、解析优先级、子包缺失的修复指引 |
| src/supervisor.test.ts | 真实 spawn 下解析启动横幅(含跨分块与 mqtt 行)、就绪超时、提前退出、stop 优雅与强杀、stderr 截断 |
| src/service.test.ts | 用真实 Context 验证 ctx.agentheart 注册,并逐组断言 tasks/jobs/queue/loops/rules/observe 的转发方法名与实参 |
| src/index.test.ts | 装配契约 apply(ctx, config):8 工具 + 服务注册、握手与订阅次序、端到端调用、ctx.effect 卸载断连、启动失败降级为可读错误 |

(src/test-helpers.ts 为测试共用辅助:假内核与轮询等待。)

监督器测试以 process.execPath 充当侧车二进制、用 NODE_OPTIONS=--require 预载横幅脚本,在真实 spawn 下验证进程生命周期,既无需真实 agentheartd 也不依赖模块 mock。

测试与辅助文件不进入发布产物:tsconfig.json 排除 src//.test.ts 与 src/test-helpers.ts,files 仅含 lib/。

发布前置与步骤

已本地验证

| 项 | 状态 |
| registry | https://registry.npmjs.org/(公开) |
| 包名占用 | @agentheart/dsh-plugin-agentheart、@agentheart/agentheartd-win32-x64 均 404(未被占用) |
| publishConfig.access | public(scoped 包发布必需,已在 package.json 配置) |
| npm publish --dry-run | ✅ 通过:44 文件 / 36.5 kB,输出 with tag latest and public access |
| 质量门禁 | ✅ typecheck / test(49 例:48 通过 / 1 跳过)/ build / pack --dry-run 全绿 |
| 仓库布局 | 独立公开仓库 houzch/dsh-plugin-agentheart(内核镜像 houzch/agentheart 同级);repository / homepage / bugs 已补齐 |

待人工执行(当前阻塞项)

1. 在 npm 创建组织 agentheart(或改用个人 scope,并同步修改 package.json 中的包名);
2. npm login(账号启用 2FA 时走交互式登录);
3. 配置 CI 发布凭据——二选一:

A(推荐)Trusted Publishing(OIDC 免令牌):npm 包设置页 → Trusted Publisher → GitHub Actions,填 Organization or user = houzch、Repository = dsh-plugin-agentheart、 Workflow filename = publish-plugin.yml,并勾选允许 npm publish。免长期令牌;需 npm CLI ≥ 11.5.1(Node ≥ 22.14), CI 已显式升级 npm。注意:通常需包已存在才能配置,故首次发布可能仍需先走 B。

B Granular Access Token(GAT):Access Tokens → Generate New Token → Packages and scopes 选 scope @agentheart + Read and write (publish and stage),并勾选 Bypass two-factor authentication;存为仓库 secret NPM_TOKEN。
注意:Organizations 段的授权不能发布该组织的包,发布权限只在 Packages/scopes 段。

⚠️ classic / Automation Token 已于 2025-11 移除,请勿按旧文档生成。
⚠️ npm 已宣布:bypass-2FA 令牌的直接发布将于 2027-01 停用——届时改用 Read and write (stage only)
+ npm stage publish(维护者批准),或改用 OIDC。

产出与发布(平台子包先于主包,顺序不可颠倒)

1) 生成平台子包(默认当前平台并自动定位二进制;跨平台用 --target / --binary 指定)
npm run pack:platforms
→ platforms/@agentheart/agentheartd-<target>/{package.json, bin/<exe>}

2) 发布子包(每平台各一次)
cd platforms/@agentheart/agentheartd-<target> && npm publish

3) 最后发布主包(publishConfig.access=public 已生效,无需 --access 参数)
npm publish

脚本以主包 package.json 为唯一事实源(版本 + optionalDependencies 平台矩阵): --target 非法、或声明版本与主包不一致时直接报错退出;二进制缺省按
<公开仓库>/target/release/agentheartd[.exe] 定位(可用 --binary / AH_SIDECAR_BINARY / AH_PUBLIC_ROOT 覆盖)。

CI:.github/workflows/ci.yml(typecheck / test / build / 打包冒烟); CI 发布:.github/workflows/publish-plugin.yml 以 5 平台原生矩阵构建侧车 → 发布子包 → 再发布主包(needs 强制顺序)→ tag 触发时汇总 6 个 tarball 建 GitHub Release(供离线/内网安装)。
本仓库公开 + GitHub Actions OIDC ⇒ 已启用 NPM_CONFIG_PROVENANCE=true 生成签名证明。

分发通道:npmjs(主)+ GitHub Release 资产(离线 / 内网);不接 GitHub Packages (其要求包 scope 与仓库 owner 一致,且公开包安装也需 access token/PAT)。

未决 / 已知限制

- 平台子包不在本仓库提交:platforms/ 已 gitignore,须在发布前用 npm run pack:platforms 产出;本地(未指定 --target)只会产出当前平台,其余平台需在各自环境/CI 产出,发齐 5 个同版本子包后才能发主包。
若在子包发布前发主包,应临时移除 optionalDependencies(使用者改用 config.binaryPath 或 mode: external),否则安装侧会尝试拉取不存在的可选依赖(npm 降级为警告,pnpm 会报错)。
- 平台子包与主包共用 repository(生成脚本从主包 package.json 读取),npm 页面统一回链到本仓库。

版本对齐

本插件锁定 DSH 0.2.0-rc.2 版本列车(已在真实 DSH 类型下通过 npm run build):

| 包 | 版本 |
| @deepseek-ai/dsh-tools | 0.2.0-rc.2 |
| @deepseek-ai/cordis | ~4.0.4 |
| @deepseek-ai/schemastery | ~3.18.4 |

DSH 处于预览期、API 演进较快,插件不承诺跨破坏性版本兼容;升级走「巡检 → 适配 → 契约测试」。

许可

MIT
预览分享卡片长什么样 ↓houzch/dsh-plugin-agentheart
分享 · DeepSeek Harness Hub
houzch/dsh-plugin-agentheart

让 AI 按固定节律主动醒来,维护记忆并探索环境

这是你的仓库?认领条目

回到顶部