dsh-im
xmanrui
通过扫码或机器人凭据把IM机器人接入DeepSeek Harness(支持飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord和WhatsApp)。 Connect IM bots to DeepSeek Harness via QR code or credentials (9 channels).
BotHarness/BotHarness
DeepSeekBot: the open-source GrokBot alternative, built on DeepSeek Harness (DSH). PersonaBots with their own identity, persona and Git-backed memory you can share via GitHub; group chat, task delegation, and IM identities on Lark/Feishu, Slack, Discord and WeChat. Works with other DSH plugins. Bot marketplace: market.botharness.ai. MIT.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:BotHarness/BotHarness
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeekBot 以一个 npm 包装进 DeepSeek Harness(DSH):Bot 名册、私聊与 Group、看得见的 Git Memory、任务委派,以及 Bot 自己的 IM 身份。创建负责研究、设计或实现的 PersonaBots,分别私聊,或把它们带进 Group 协作;每个 Bot 保留自己的文件与历史,跨对话、Session 和 Workspace 延续。
本仓库是 BotHarness:为 DSH agent 提供持久身份的插件层,DeepSeekBot 是它的首个产品。
3 分钟看懂 DeepSeekBot:一组有身份、人格和记忆的 bots,在小镇里一起做事。点击封面即可播放。
桌面端:打开 DeepSeek Harness 桌面端,点「插件 → 添加插件」,在「包名或地址」里输入 deepseekbot,保持「npm 官方源」,点「安装」。显示「已安装」后点「立即启用」(提示重启时重启当前 Profile),侧栏会出现「Bot 模式」。还没装 DSH?先下载桌面端。
开发者(命令行):需要 Node 22 以上,支持 DSH 0.2.0-rc.1 起的 0.2 系列。
npm i -g @deepseek-ai/dsh@0.2.0-rc.1
dsh plugin --profile web add deepseekbot
dsh web
打开后进入 Bot mode,创建 PersonaBot,先私聊,再建 Group 邀请成员。要接入飞书、Slack、Discord 或微信,到「设置 → IM bots」连接应用,再在 Bot 的 Profile 里绑定身份、授权群组。安装后账号默认不连接,由你逐个开启。想先试试又不想动现有配置,可以换一个新的 Profile 名字。参见 DSH 官方文档:打包与安装插件。
| 能力 | 说明 |
|---|---|
| 持久身份 | 每个 PersonaBot 有自己的名字、岗位、Soul(SOUL.md)和像素头像,跨对话、Session 与 Workspace 延续。 |
| 看得见的 Git Memory | Bot 的记忆是一个普通 Git 工作树。在侧栏浏览文件、分支、commit 历史与 diff,也能推到 GitHub,在多台机器之间共享同一份记忆。 |
| Group 协作 | 消息保留各自身份,需要谁就 @ 谁。每个成员可以选择每条提醒、摘要、仅提及或静默。 |
| 定时任务 | 让 Bot 每隔几分钟、每小时或每天做一件事。你可以在侧栏新建,也可以直接让 Bot 自己建;锁定后 Bot 只能看、不能改。 |
| Bot 市场 | 从 Bot 市场 一键安装别人分享的 Bot,或把自己的 Bot 发布到 GitHub 分享出去。 |
| Assignments 委派 | 授予 Workspace 后,Bot 可以委派独立的 Assignment,各自保留 Session 与报告;需要你回答或批准时,侧栏会显示待办数。 |
| 自己的 IM 身份 | 在飞书 / Lark、Slack、Discord 和微信里绑定 Bot 自己的身份,被 @ 时在原话题里回复;微信私聊还能收发文件和图片。 |
| 更新提示 | 安装或升级后显示这一版的更新内容;Bot 设置里能看到当前版本,检查 npm 上的新版本并一键安装、重启。 |
| Computer 与 Browser use | 操作共享桌面(需要 Docker)或受管浏览器,你能实时观看,也能暂停它的浏览器操作。源码版可选。 |
截图来自隔离的本地 DSH,点开可看 2880 × 1800 原图。对话由脚本生成,是虚构的天文台展览示例;Bot 市场中的条目为示例数据。
PersonaBot 的 Memory 是一个普通 Git 工作树。笔记、人格、代码和其他文件留在磁盘上,尚未提交的文件也是当前记忆。Bot 可以通过文件、搜索、Shell 和 Git 能力探索与更新记忆;你也可以使用自己的编辑器和 Git 工具。
把记忆推到 GitHub 等 Git 远端,就能在多台机器、多个 DSH 之间共享同一份记忆。记忆设计 · 恢复决策
让研究员记住依据,让设计师推进体验,让工程师检查细节。Group 中的消息保留每个 Bot 自己的身份;需要某个 Bot 参与时,直接 @ 它。在 Group 侧栏的「成员 → 邀请成员」里搜索或选择 PersonaBot;Bot 默认自动加入,邀请本身不唤醒模型,也可以在 Bot 设置里改成由 Bot 自己决定。
可为每个成员选择收件提醒方式:每条消息、摘要、仅直接提及,或静默收件。Bot 可以调整自己的 Group 提醒偏好,也可以离开 Group。私聊、Bot 间对话、Bot Inbox 与 Human Inbox 保留对话和待办入口。需要在项目中执行工作时,授予 Workspace,让 Bot 委派独立 Assignments,各自保留 Session 与报告。
对 Bot 说「每天早上 9 点读一下日志,给我发个摘要」,它会自己建一个定时任务。你也可以在私聊侧栏的「定时任务」里点 + 手动新建。
Bot 市场 收录公开 GitHub 仓库里分享的 Bot。在 Bot 模式的消息列表点 + → Bot 市场,按话题或关键词浏览,点「安装」后会先显示来源仓库和最新提交,提醒这是第三方内容;确认后它的 Memory 仓库被克隆成你的一个新 PersonaBot。也可以把仓库地址贴进去,立即收录。
想分享自己的 Bot:先检查它的 Memory 里没有不该公开的内容,再按 分享 Bot 教程 让 Bot 自己发布到 GitHub,加上 botharness-bot 话题即可上架。DeepSeekBot 会在每个 Bot 的 Memory 里自动维护 .botharness/bot.json(名称、岗位、头像),所以市场里显示的和你侧栏里的一致。
首次安装后,以及每次升级后第一次打开 Bot 模式,DeepSeekBot 会弹出这一版(或你上次看过之后所有版本)的更新内容。设置 → Bot 设置 → DeepSeekBot 版本 显示当前版本,「检查更新」会查询 npm;有新版本时列出新内容,可以一键安装并重启 DSH,步骤见 更新 DeepSeekBot。完整记录见 官网更新日志 和仓库里的 CHANGELOG。
这两个 Bundle 目前只在源码版中可选,不包含在 npm 上的
deepseekbot包里。
| 能力 | 当前已交付 | 启用条件与边界 |
|---|---|---|
| Computer use | 通过 Cua Driver 观察、操作共享桌面,提供 VNC 观看与 Computer Audit。 | 可选 @botharness/computer Bundle;当前运行容器桌面,需要 Docker。按 Bot 打开 Computer Access,Auto-allow 关闭时,每个 Session 首次动作请求授权。 |
| Browser use | 打开与观察网页;点击、输入、按键、滚动、等待、截图、上传文件与管理多标签。侧栏展示 Bot 当前网页,Human 可以暂停其操作。 | 可选 @botharness/browser Bundle;在 Host 上运行受管 Bot Browser。按 Bot 打开 Browser Access;Auto-allow 关闭时需授权 Session;命名 browser profile 可保留不同登录数据,分配到同一 profile 的 Bots 共享它。 |

复用 Browser profile 验证 截图:Bot 已读取本地测试页,预览与 Human 控件可用。
每个 Bundle 的 DSH Profile 配置 autoAllowActions 默认关闭。开启后,该 Bundle 的操作跳过逐 Session 授权,但仍需按 Bot 开启对应 Access。
标签归属决定某个 Bot 操作哪一页;同一 browser profile 中的标签不是安全隔离边界。Computer 与 Browser Access 独立控制。开发启动器包含这两个可选 Bundle,新 Bot 仍需显式开启对应 Access。运行时设计 · Computer 契约
把 PersonaBot 绑定到自己的平台 Bot 账号,外部消息就以这个 Bot 获授权的身份发出。已支持 飞书 / Lark、Slack、Discord 和微信,连接由 DeepSeekBot 随包管理的 IM Provider(维护自 dsh-im)负责传输、凭据与连接生命周期。
每个 Bot 的默认头像都由名字生成:同一个名字,在哪里都是同一张脸。Bot 工作时,头像会一颗像素一颗像素地变成它正在用的工具(读文件、终端、搜索、等你批准……)。到官网输入名字试试,还能下载高清头像。头像来自开源的 BotPixel(@botharness/pixel-avatar 与 @botharness/pixel-morph),上面截图里的所有头像都是它生成的。
每个版本的核心变化,完整条目见 CHANGELOG 和 官网更新日志。
| 版本 | 核心内容 |
|---|---|
| 下一版(未发布) | 微信原始语音可准备后播放;Discord 的外部平台默认值可独立保存,由 Profile 设置继承。 |
| 1.1.0(2026-10-06) | Bot 定时任务(侧栏新建,或让 Bot 自己建、改、删,锁定后 Bot 不能改);每个 Session 都带上 Bot 的 Soul 与核心记忆(SOUL.md + MEMORY.md,见 教程);Bot 设置里一键更新并重启;Channel 侧栏统一为卡片样式;微信支持语音转写和图片;Memory 自动维护 .botharness/bot.json;可关闭的匿名使用统计。 |
| 1.0.2(2026-10-06) | 安装和升级后显示更新内容,Bot 设置里检查 npm 新版本;新增 分享 Bot 教程;上下文读取保留准确的 source-conflict 拒绝。 |
| 1.0.1(2026-10-05) | 首个 npm 正式版:拥有各自身份的 PersonaBots、Git Memory、Group、Assignment、像素头像,飞书 / Lark、Slack、Discord 和微信身份(微信私聊可收发文件),以及首版 Bot 市场。1.0.0 未作为产品发布。 |
| 开发历史(截至 2026-09-20) | 首个版本之前的基础:PersonaBot 身份与文件记忆、Bot 模式的频道外壳与名册、从 Git 仓库创建 Bot、在 Host 上打开记忆文件,以及双语文档站。 |
DeepSeekBot 直接用 DSH 自己的 Session 管理和 Harness:你在 DSH 里接入的任何 LLM 模型 provider,Bot 都能用;也可以和其他 DSH 插件装在一起。个别插件可能还不兼容,遇到了欢迎提 Issue 或 PR。
双语 Release Ledger 记录每个版本的变化(摘要见版本亮点);Issues 与 Projects 跟踪后续工作。
需要 Node ≥22(仓库固定 Node 24.21.0)和 pnpm 12.4.2。让 Bot 回复前,配置可用模型凭据;只有容器 Computer 需要 Docker。
git clone https://github.com/BotHarness/BotHarness.git
cd BotHarness
pnpm install
pnpm build
node scripts/dev-instance.mjs --home /tmp/botharness-demo --port 31967
选择一个全新的 --home 目录作为隔离 DSH Profile。helper 使用工作树固定的 CLI、链接本地 Bundles(包括可选的 Computer 与 Browser),验证已认证 API,并打印本地登录 URL。打开后进入 Bot mode,创建 PersonaBots、发送私聊,再建 Group 邀请成员。在 Bot 私聊的侧栏打开 Memory files 或 Memory evolution。
helper 可注入机器本地的 DeepSeek key,也可使用隔离 Profile 的凭据;密钥始终留在仓库外。模型配置、可选 IM 安装和 Client/Host 开发循环见 本地实例指南。
pnpm lint && pnpm format:check && pnpm typecheck && pnpm test
pnpm build
pnpm dev:client # 隔离本地 DSH Profile 的 Client 自动构建
pnpm docs:dev # 文档预览:http://localhost:4321
稳定的本地文档域名:pnpm dev → https://docs.botharness.localhost(首次可能请求信任本地 CA);免 sudo 方式为 PORTLESS_PORT=8788 PORTLESS_HTTPS=0 pnpm dev。文档页从仓库源文件生成,请修改源文件。Slides 位于 apps/presentations,用 pnpm slides:dev 迭代。
packages/core PersonaBot 身份、记忆、Messaging、Inbox、Assignments
packages/client @botharness/ui:Bot 名册与宿主内交互
packages/computer 可选共享容器 Computer
packages/browser 可选受管 Bot Browser
packages/deepseekbot DeepSeekBot Bundle
apps/docs 文档站
apps/presentations 介绍与其他 Slides
问题、想法,还有你做出来的 Bot,都欢迎带来。
MIT,见 LICENSE。Client Bundle 中分发的第三方素材见 THIRD_PARTY_NOTICES.md。
BotHarness/BotHarness 的实时 Star 历史,使用 Star History 官方嵌入方式。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: ai-bot、bot-marketplace、discord-bot、feishu、lark、slack-bot、wechat-bot、agent-memory、git-memory、multi-agent、persona。