# Dengerbot **Repository Path**: leftover-essence/dengerbot ## Basic Information - **Project Name**: Dengerbot - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-12 - **Last Updated**: 2026-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Dengerbot 标志 # Dengerbot **本地优先的 AI 队友桌面工作区** 让 Claude Code、Codex 与 DeepSeek 成为常驻你电脑的长期队友——
它们有自己的身份、工作区、记忆与技能,并随使用不断进化。 [中文](README.md) · [English](README.en.md) [![Release](https://img.shields.io/github/v/release/waysozy/Dengerbot?include_prereleases&sort=semver&display_name=tag&style=flat-square&label=release&color=88C0D0)](https://github.com/waysozy/Dengerbot/releases) [![CI](https://img.shields.io/github/actions/workflow/status/waysozy/Dengerbot/ci.yml?branch=main&style=flat-square&label=CI&color=A3BE8C)](https://github.com/waysozy/Dengerbot/actions/workflows/ci.yml) [![License](https://img.shields.io/badge/license-MIT%20%C2%B7%20PolyForm%20NC-5E81AC?style=flat-square)](LICENSE) [![Platform](https://img.shields.io/badge/platform-Windows%20%C2%B7%20Android-EBCB8B?style=flat-square)](#安装) [![Bun](https://img.shields.io/badge/Bun-1.4.2-4C566A?style=flat-square&logo=bun&logoColor=D8DEE9)](https://bun.sh) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-B48EAD?style=flat-square)](.github/CONTRIBUTING.md)
> [!WARNING] > **预览阶段,权限完整。** Agent 以 `danger-full-access` 与 `approvalPolicy: never` 运行:首次授权后可持续读写文件、执行命令、访问网络、控制内嵌浏览器,不再逐次确认。只运行你信任的 agent 与任务,做好备份,并先阅读[安全与隐私](#安全与隐私)。 ## 为什么是 Dengerbot 多数 AI 工具是一次性的聊天窗口。Dengerbot 把 agent 当作**长期队友**来设计: - **持久身份** — 每个 agent 有独立工作区、会话历史、记忆库与技能;切换 provider 或重启后一切保留。 - **数据不出本机** — 聊天、文件、附件、浏览器与团队数据都保存在你的电脑上,SQLite 是唯一事实来源;没有云账号服务。 - **可进化** — 空闲时自动整理带证据的记忆、从经验学习技能,甚至自己写插件、经你审批后安装。 - **处处可达** — 桌面、手机(扫码配对)、Slack / Discord / Telegram 频道,以及任意外部 MCP 客户端。 ## 功能 ### Agent 与模型 - 内置 **Claude Code、Codex、DeepSeek Harness(dsh)** 与 **ACP 自定义 agent**;应用自动安装并管理 provider 运行时。 - **自定义 OpenAI 兼容端点**与模型发现;**30+ 订阅账号桥接**(Gemini、Copilot、Kimi、GLM、Cursor、Grok 等),复用你已有的订阅。 - 逐 agent **上下文监控**:长会话耗尽模型窗口前自动压缩,也可手动压缩。 ### 记忆与学习 - 每 agent 独立记忆库,注入预算 8 KB:顶层只放索引,细节下沉到下层文件。 - 空闲时自动 **review**:对照原始会话校验记忆、纠正错误、合并重复,条目带证据引用。 - 从 review 中**学习技能**,沉淀为可复用的本地技能。 ### 工作区与会话 - 每任务独立 **git worktree**,agent 在隔离的工作树中运行。 - **会话分支**:从任一已完成回答开新线程。 - 崩溃安全的 **FIFO 消息队列**(暂停 / 恢复 / 取消)与**发件箱**(发送失败持久化、严格 FIFO 重试)。 - **附加文件夹**:把工作区之外的目录显式纳入权限范围,支持排除目录。 ### 插件与自我进化 - 插件以 `openbot.plugin.json` 声明贡献点:**tools / settings / panels / mcpServers / sources**。 - 从**文件夹 / npm / git** 安装,流程为 inspect → approve → install;更新带备份与回滚,禁用即回退注册。 - 插件运行在 **Bun 子进程沙箱**中,capability API 按清单授权(storage / http / agents.send 等)。 - **自我进化**:agent 在托管技能引导下自写插件 → 你审批 → 安装测试 → 保留或退役。 - **市场**:agent 模板(含技能与 routine)、技能目录、连接器插件(Airtable、Canva、Notion 等)。 ### 自动化与频道 - **Routines**:逐 agent 定时任务(间隔 / 星期 / 月日、错过策略),支持 ICS 订阅、频道投递与多 agent 接力。 - **Workflows**:节点画布编排,manual / schedule / webhook / message 触发,输出到通知 / 频道 / 文件。 - **Webhook**:本地路由、密钥与测试投递。 - **频道**:Slack / Discord / Telegram 收发;入站消息经自建 `remote/` 中继转发。 ### 浏览器与 Computer Use - 内嵌浏览器:每 agent 命名 profile 与代理、自动化与录制、画中画 / dock。 - **登录接力**:agent 遇到登录墙时,你在自己的浏览器完成登录,会话安全回传。 - **Computer Use**(可选,需 `cua-driver`):`run_steps` / `verify_state` / `set_value` / `type_text`、窗口查询与截图;用户输入活跃、热键与敏感字段自动防护。 ### 手机与远程 - **扫码或永久链接配对**手机(Expo / React Native);局域网优先,也可经自建 Signal + TURN 中继外出。 - 手机上聊天、处理**审批卡片**、逐 agent **分级通知**(all / needs-me / nothing)、语音、实时查看浏览器。 - 本机 **Team API**:成员访问级、多 agent 互发消息;桌面间 **WebRTC 文件传输**与**远程桌面**。 ### 桌面体验 - **6 套主题**(Catppuccin、Nord 等)+ 自定义主题与壁纸;**12 种语言**。 - **双向语音**:本地转写(Whisper-turbo / Parakeet / SenseVoice)与本地朗读(10 音色),可选 ElevenLabs 云端转写。 - **Vault 密码库**与 Bitwarden / 1Password 连接器;**GitHub 连接器**(device flow、PR、MCP 代理)。 - 托盘、桌面通知、Dynamic Island 浮窗、机器指标告警、脱敏诊断导出、签名校验的自动更新。 ### 运维与集成 - **[MCP 控制端](docs/MCP.md)**:Claude Desktop、Cursor、Codex 等 MCP 客户端通过 Local scripts 回环 API 读取、发送与等待 agent 任务。 - **[Sentinel 健康扫描](docs/SENTINEL.md)**:只读归组失败工具、异常回合、队列等待与高成本回合;应用崩溃后仍可运行。 ## 安装 | 平台 | 方式 | | --- | --- | | **Windows** | 从 [Releases](https://github.com/waysozy/Dengerbot/releases) 下载 `Dengerbot-<版本>-x64.exe`(NSIS 按用户安装,CI 构建) | | **Android** | 侧载 `Dengerbot-<版本>-android.apk`(CI 构建;预览版用开发密钥签名,暂不含推送) | | **macOS / Linux** | 暂无官方安装包,从源码构建:`bun run dist:mac` / `bun run dist:linux` | > [!NOTE] > 本地优先 ≠ 纯离线:Claude 连接 Anthropic,Codex 连接 OpenAI,dsh 在本机运行但可访问网络;访问的网页与已安装插件也会使用网络。详见[隐私](docs/PRIVACY.md)。 ## 快速上手 1. **启动并授权** — 安装后首次启动,确认 agent 的完整访问权限。 2. **连接模型** — 在设置中选择 provider 并按提示登录:Claude 账号、ChatGPT 订阅(`codex login`)、DeepSeek 账号,或自定义端点的 API key。运行时由应用自动安装管理。 3. **创建队友** — 用一段提示词描述角色,审阅可编辑的指令与分段后保存;agent 获得自己的工作区与身份。 4. **配对手机(可选)** — 设置 → 连接手机,扫码即可在局域网内接管会话与审批。 5. **扩展(可选)** — 安装插件与技能、配置 routines / workflows / 频道,或打开 Local scripts 接入外部 MCP 客户端。 ## 架构 ```mermaid flowchart LR subgraph P["模型与账号"] direction TB CC["Claude Code"] CX["Codex"] DS["DeepSeek Harness (dsh)"] SUB["订阅桥接 / 自定义端点 / ACP"] end subgraph H["本机桌面主机"] direction TB RT["Agent 运行时
会话 · 记忆 · 队列 · 自动化"] DB[("SQLite · openbot.db")] PL["插件沙箱
Bun 子进程"] TOOLS["内嵌浏览器 · Computer Use · 语音"] RT --- DB RT --- PL RT --- TOOLS end subgraph C["客户端与集成"] direction TB MOB["手机端 (Expo)"] MCP["MCP 客户端"] CH["Slack / Discord / Telegram"] end P --> RT MOB <-->|"QR 配对 · WebRTC
LAN 优先 / 自建中继"| RT MCP <-->|"Local scripts 回环"| RT CH <-->|"自建 remote 中继"| RT ``` | 目录 | 职责 | | --- | --- | | `src/main` | Electron 主进程:窗口、IPC、插件宿主、自动化与集成服务 | | `src/backend` | 领域服务与 SQLite 迁移(Effect 4) | | `src/preload` | 上下文隔离桥与载荷解码 | | `src/renderer` | SolidJS 桌面 UI | | `packages/*` | 共享包:`ui`、`contracts`、`i18n`、`brand`、`team-client`、`logging`、`telemetry`、`user-errors` | | `apps/mobile` | Expo / React Native 手机端 | | `apps/status` | 服务状态页 | | `remote/api` | 自建 Signal + TURN 信令中继(Docker Compose) | | `resources/cli` | MCP 控制端、Sentinel、CLI | | `resources/plugins` · `marketplace` · `*-skills` | 内置插件、市场目录与技能 | ## 开发 需要稳定的 Bun **1.4.2** 与 Node.js **>=24**。Bun 版本不符时 `bun run dev` 会拒绝启动。 ```bash bun install --frozen-lockfile bun run dev ``` | 命令 | 作用 | | --- | --- | | `bun run dev` | 启动本工作树的开发栈(独立 Electron profile) | | `bun run dev --shared` | 打开共享的 `Dengerbot Dev` profile | | `bun run dev:status` | 查看开发栈状态 | | `bun run dev:stop` / `dev:forget` | 停止开发栈 / 清理已确认的栈记录 | | `bun run dev:automation` | 冒烟检查(`snapshot`、`screenshot`、`click`、`type`) | | `bun run typecheck:node` | `src/main`、`src/backend`、`src/preload`、`scripts` 类型检查 | | `bun run typecheck:renderer` | `src/renderer`、`packages/ui` 类型检查 | | `bun run test:changed` | 只跑改过文件的测试(单 worker) | | `bun run test:related -- ` | 指定源文件对应的测试 | | `bun run build` | electron-vite 构建 | | `bun run check:staged` | 检查已暂存文件(提交钩子自动运行) | 不要在本地跑全量 lint、全量 typecheck 或完整测试套件;这些由 CI 承担。工程规范见 [AGENTS.md](AGENTS.md)。 ## 文档 | 文档 | 内容 | | --- | --- | | [docs/MCP.md](docs/MCP.md) | MCP 控制端:配置、工具与权限 | | [docs/SENTINEL.md](docs/SENTINEL.md) | Sentinel 只读健康扫描 | | [docs/PRIVACY.md](docs/PRIVACY.md) | 出网数据与隐私边界 | | [docs/ANALYTICS.md](docs/ANALYTICS.md) | 产品 analytics 契约 | | [docs/THIRD_PARTY_NOTICES.md](docs/THIRD_PARTY_NOTICES.md) | 第三方许可与声明 | | [.github/CONTRIBUTING.md](.github/CONTRIBUTING.md) | 参与贡献 | | [.github/SECURITY.md](.github/SECURITY.md) | 安全问题私密报告 | | [.github/SUPPORT.md](.github/SUPPORT.md) | 获取帮助 | ## 安全与隐私 - Agent 拥有完整文件与命令权限,不会逐次请求确认。只让它们接触你信任的代码和数据。 - 桌面端保留渲染进程到主进程的信任边界:Electron sandbox、上下文隔离、导航策略与 IPC 发送方校验。 - 聊天、文件、附件、浏览器数据与团队数据保存在运行 Dengerbot 的电脑上;SQLite 数据库 `openbot.db` 是唯一事实来源。 - 日志、导出、诊断与 analytics 路径会脱敏密钥。 - 网络只用于 provider、访问的网页和插件各自的服务;本仓库不包含上游的 Cloudflare 账号服务。 - 报告漏洞请走 [SECURITY.md](.github/SECURITY.md) 的私密流程,不要公开提交。 ## 许可证与致谢 Dengerbot 自身代码使用 [MIT](LICENSE)。本项目包含来自 [OpenBot](https://github.com/nightly-labs/openbot)(Synthetify Labs)的代码,其上游 **PolyForm Noncommercial License 1.0.0** 继续适用于 OpenBot 衍生部分;署名与第三方声明见 [NOTICE](NOTICE) 与 [docs/THIRD_PARTY_NOTICES.md](docs/THIRD_PARTY_NOTICES.md)。 感谢 OpenBot 上游,以及 Sentinel 等模块参考的开源项目(见 NOTICE)。 ---
[中文](README.md) · [English](README.en.md) · [Releases](https://github.com/waysozy/Dengerbot/releases) · [Issues](https://github.com/waysozy/Dengerbot/issues) · [Discussions](https://github.com/waysozy/Dengerbot/discussions)