BotHarness/BotHarness--packages-core ↗★ 0

@botharness/core

BotHarness core: PersonaBot registry, memory, and state 作为BotHarness平台的核心依赖,适合需要构建持久化智能体服务的开发者。

Package
@botharness/core
Compatibility
Unverified
Harness peer range
0.1.5-rc.2
Version
0.0.0
License
MIT
Last updated
Sep 20, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:BotHarness/BotHarness#938a0d93d9d52c2a9e6503a793b3b5b01af54234&path:packages/core

BotHarness

中文 | English

给 LLM agent 一份持久身份的 DSH 插件层:PersonaBot —— 带人格、跨 session 记忆、可并发工作的 Bot。

  • BotHarness(本仓库):平台层 —— PersonaBot 实体、记忆、状态与工作方式(SDK + bundle,不 fork DSH,ADR-0015)
  • DeepSeekBot:首个应用 —— 把 PersonaBot 带进 DSH sidebar(创建、@委派、持续工作),并接入飞书 / Lark

文档

状态

  • v1.1 规格:SoulSnapshot / Soul registry 决策(ADR-0019/0020)
  • M1 BotHarness 骨架已合并(PR #13;@botharness/core:PersonaBot registry / bot home / 状态事件,38 tests 全绿)
  • M2 记忆 MVP 实现完成(#9;front-matter / 目录树注入 / memory_* / git)
  • 下一步:M3 Roster 与委派(#10)→ M6 SoulSnapshot(#17)

灵感

  • Grok Bot:每个 Bot 有自己的电脑、记忆、状态、自主工作
  • DeepSeek Harness:插件宿主,承载其他插件

开发

工具链:pnpm 12.4.2 · Node ≥22 · TypeScript 7 · oxlint / oxfmt · vitest · tsdown;客户端包(@botharness/client)使用 React(DSH 客户端契约)+ blobatar。

pnpm install
pnpm lint && pnpm format:check && pnpm typecheck && pnpm test
pnpm build

本地文档预览(WSL 友好,稳定域名):

pnpm dev           # → https://docs.botharness.localhost(首次生成本地 CA 并请求系统信任,可能要 sudo)
PORTLESS_PORT=8788 PORTLESS_HTTPS=0 pnpm dev   # 免 sudo 版 → http://docs.botharness.localhost:8788
pnpm docs:dev      # 不用 portless 的直连方式 → http://localhost:4321

portless 从 apps/docs 包内启动(显示名在该包 package.json 的 portless 字段);Windows 有 Hyper-V 保留端口段(如 1349–1448),选端口时避开。

仓库结构(monorepo):

packages/core        @botharness/core   # PersonaBot registry / 状态(记忆在 M2)
packages/client      @botharness/client # React:roster / 详情 / 委派入口(M3)
packages/im          @botharness/im     # IM 适配器(M5)
packages/deepseekbot deepseekbot        # bundle + 应用(后续)

M1 脚手架(插件入口、workspace→bot 解析)已迁入 packages/core;解析保留为 IM 绑定助手。

许可

MIT,见 LICENSE;分发代码中的第三方素材见 packages/client/THIRD_PARTY_NOTICES.md。