docs: open source under 0BSD
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub Release (push) Canceled after 0s

This commit is contained in:
lofyer
2026-08-13 16:39:24 +08:00
parent 7e04382829
commit a52462aaf4
5 changed files with 83 additions and 138 deletions
+12 -6
View File
@@ -1,12 +1,11 @@
# GoodBuddy 功能矩阵与路线图
本文集中记录 GoodBuddy 已提供、正在开发和计划中的主要能力路线图用于表达产品方向,不代表未完成能力已经包含在当前发布版本中。
本文记录 GoodBuddy 已提供能力路线图。未完成项目不代表已包含在当前版本中。
## 状态说明
- [x] **已提供**:已在当前代码和产品流程中提供。
- [ ] **开发中**:已进入实现或集成阶段,完整交付前仍可能调整。
- [ ] **规划中**:已确认产品方向,尚未承诺具体发布时间。
- [x] 已提供
- [ ] 开发中或规划中,具体以条目标注为准
## 功能总表
@@ -15,6 +14,7 @@
- [x] **跨平台桌面应用**:支持 Windows、macOS、Linux,以及 `x64``arm64` 发布目标。
- [x] **Projects 与独立对话**:按项目隔离上下文,管理会话、附件和 Git 工作区变更。
- [x] **文件、截图、窗口、剪贴板上下文**:用户明确选择后才加入模型上下文。
- [x] **富文本回答**:支持 GitHub Flavored Markdown、LaTeX 数学公式和受控 Mermaid 图表;大图可缩放、拖动或查看源码,失败时保留原始图表代码。
- [ ] **项目 Agent Space 与策略包**(规划中):在现有 Project 中统一角色、知识、Skills/MCP、模型、变量、审批策略、预算和超时,并支持模板化复用。
### Agent Runtime 与模型连接
@@ -32,7 +32,7 @@
### Skills、MCP 与知识库
- [x] **Skills 按需接入**:使用有界资源和受控 Runtime 边界。
- [x] **MCP Tools**:直连模型可使用显式启用的 MCP Tools。
- [x] **MCP Tools**:直连模型可使用显式启用的 MCP Tools,并可在模型轮次间按需刷新动态 MCP 工具
- [x] **本地知识库**:支持文件、目录和网页导入、SQLite FTS5 检索及来源追溯。
- [x] **知识图谱**:支持规则、模型和混合抽取,以及实体、关系、别名和证据维护。
- [x] **向量模型配置与检索**:可配置兼容 Embeddings 接口并用于语义检索。
@@ -66,6 +66,12 @@
- [x] **版本检查**:仅检查固定官方 Release 和当前平台清单,不自动下载或安装。
- [x] **内网兼容模式**:默认开启;允许应用内 HTTP 与无效、自签名或过期的 HTTPS 证书,关闭后恢复严格地址和证书校验。
### 开源、构建与发布
- [x] **0BSD 开源许可**:原创代码可自由使用、复制、修改、分发和商用;第三方组件和资源仍遵循各自许可证。
- [x] **可复现依赖安装与源码构建**:使用锁定依赖、Node.js 24 和统一的测试、类型检查、Lint、生产构建命令。
- [x] **六平台原生发布矩阵**Windows、macOS、Linux 的 `x64``arm64` 目标由原生 Runner 构建,并提供发布清单和 SHA-256 哈希。
### 开放接口、团队协作与远程执行
- [x] **远程任务委派**:仅在用户显式配置端点和令牌后启用,按全局内网兼容模式使用 HTTP(S),结果进入持久化发件箱。
@@ -77,7 +83,7 @@
### Agent 框架与协作能力
参考 MesaLogo 中已经存在或正在验证的 Action Space、受控工作流、Subagent、MCP 管理、批量实验和运行观测思路,GoodBuddy 计划在现有本地优先架构上逐步增加以下能力。这里列出的项目均为 GoodBuddy 自身规划,不表示 MesaLogo 的原型或路线图已在 GoodBuddy 中提供。
以下能力均为 GoodBuddy 规划,不代表已在当前版本中提供。
- [ ] **项目 Agent Space 与策略包**:不新增与 Project 重复的一级概念,而是在现有 Project 中统一角色、知识集合、Skills/MCP、默认模型、变量、工作模式、审批策略、预算和超时,并支持模板化复用。
- [ ] **统一 Run Graph**:先统一父子任务、节点、模型调用、知识命中、工具审批、用量、成果和取消事件,作为工作流、可执行 Subagent、批量实验和回放的共同基础。
+12
View File
@@ -0,0 +1,12 @@
Copyright (C) 2026 MesaLogo
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
+50 -130
View File
@@ -1,155 +1,75 @@
# GoodBuddy
面向全球专业工作场景的安全、跨平台桌面智能助手
GoodBuddy 将模型连接、Agent Runtime、本地知识库、知识图谱、远程消息通道、任务协作和持续成长能力组织在同一个桌面工作空间中。它不是简单的聊天窗口,而是一套可审计、可控制、可长期使用的个人智能工作环境。
安全、跨平台、本地优先的桌面 AI 助手与 Agent 工作空间
![GoodBuddy 工作空间](docs/screenshots/workspace-overview.png)
## 为什么选择 GoodBuddy
## 核心能力
### 安全可控的 Agent 执行
GoodBuddy 通过统一的 Agent Runtime 控制层接入直连模型、OpenCode 和 Continue。工具不会被直接暴露给界面,所有执行都受到工作模式、权限策略和运行边界约束
- `Ask`:只读问答,不调用工具
- `Execute`:选择该模式即授权当前交互运行使用已启用的受控工具
- 可在设置中禁止直连模型执行所有工具;工具调用仍记录到活动
- 统一处理取消、超时、输出边界、进程退出和异常恢复
### 数据主权与本地优先
- 会话、任务、成果、记忆、知识库和图谱保存在本地 SQLite。
- API Key 通过系统安全存储加密,不以明文写入配置。
- Electron Main、Preload、Renderer 严格分层,Renderer 仅能使用类型化 IPC。
- 子进程使用环境变量白名单,避免继承无关凭据。
- 默认不依赖 GoodBuddy 云端账户,也不代理用户的模型流量。
### 跨平台、开放协议与自托管
GoodBuddy 面向全球用户提供跨平台发布、开放模型协议、远程消息通道、离线语音和本地或私有网络部署能力。下表只列当前代码与发布流程覆盖的目标;具体操作系统版本、设备、桌面环境和网络组合仍应在目标环境完成安装、启动、模型调用和桌面集成验收。
#### 支持的平台
| 操作系统 | 处理器架构 | 交付形式 |
| --- | --- | --- |
| Windows | `x64``arm64` | NSIS 安装包、便携 ZIP |
| macOS | `x64``arm64` | DMG、ZIP |
| Linux | `x64``arm64` | AppImage、DEB |
六组系统与架构目标均由原生 GitHub Actions Runner 构建和校验,并生成包含 SHA-256 哈希的发布清单。其他操作系统和处理器架构目前不提供正式发布包。
#### 模型与服务连接
GoodBuddy 不绑定特定模型厂商。用户可以通过 OpenAI Responses、OpenAI 兼容 Chat Completions、Anthropic Messages、OpenAI Images Generations 和 OpenAI 兼容 Embeddings 接口连接云端服务、本机模型、私有服务或企业网关。支持自定义服务地址、API Key 和无需认证的受控连接;文本、推理、工具、图片和上下文能力取决于所连接服务的具体实现。
#### 消息通道、离线语音与自托管能力
| 类别 | 已支持项 | 说明 |
| --- | --- | --- |
| 消息通道 | 微信 ClawBot、企业微信、钉钉 | 支持独立通道项目与远程会话;提供加密凭据、连接测试、动态启停、发送者范围和状态诊断 |
| 微信附件 | 文字、图片和文件 | 微信 ClawBot 使用本机扫码绑定;单条消息最多 4 个附件,解密后合计不超过 12MB |
| 远程 Runtime | 直连文本模型、OpenCode、Continue | 每个通道使用系统管理项目和独立远程会话,支持 Ask / Execute 与活动审计 |
| 离线语音(SenseVoice | SenseVoiceSmall INT8 | 支持中文、粤语、英语、日语和韩语,适合本地 CPU |
| 中英及中粤英离线语音 | Paraformer 中英双语 INT8、Paraformer 中粤英三语 INT8 | 分别面向普通话与英语,以及普通话、粤语和英语的快速本地识别 |
| 多语言离线语音 | Whisper Tiny、Small、Medium 多语言 INT8 | 提供从轻量快速到高质量的多语言识别选择 |
| 界面语言与字体 | 简体中文、EnglishInter Variable、Noto Sans SC Variable | 语言与字体资源随应用打包,不依赖远程字体服务 |
| 本地数据 | SQLite、FTS5、本地知识库与知识图谱 | 会话、任务、成果、记忆和知识数据默认保存在本机 |
| 自托管模型与网关 | 自定义 HTTP(S) 地址、API Key 或无需认证 | 可连接本机、私有网络、企业网关和自托管模型服务 |
| 私有网络连接兼容性 | HTTP、自签名证书、无效或过期证书 | GoodBuddy 进程管理的连接采用宽松证书策略;外部浏览器以及微信凭据和媒体端点仍执行各自的严格校验 |
| MCP | `stdio`、Streamable HTTP、SSE | 可接入本机或远程 MCP Server;远程连接支持 Bearer Token |
| Agent Runtime | 内置 OpenCode、Continue | 支持自定义程序路径、配置路径、模型来源和服务地址;Linux 内置 OpenCode 可使用 bubblewrap 严格沙箱 |
> 自定义端点表示 GoodBuddy 已实现对应协议并允许用户配置服务地址,不等同于对每个服务商、模型版本或套餐逐一完成认证。
## 核心功能
### 一体化智能工作空间
- Projects 与独立对话上下文。
- 专家角色和最多三个只读专家并行分析。
- 任务、活动、成果、记忆和自动化集中管理。
- 支持文件、桌面截图、应用窗口、剪贴板和语音上下文。
- 显示真实 Git 工作区变更。
- 支持远程任务委派与持久化结果发件箱。
- Skills 与 MCP 能力按需接入。
### 远程消息通道与微信 ClawBot
微信 ClawBot、企业微信和钉钉分别使用系统管理的通道项目。远程发送者拥有独立会话,任务、活动和成果持续归属于对应通道与项目。
- 微信 ClawBot 使用本机扫码绑定,支持个人微信私聊文字、图片和文件。
- 单条微信消息最多 4 个附件,解密后合计不超过 12MB;图片和支持的文档进入现有受控上下文。
- 通道可选择直连文本模型、OpenCode 或 Continue。OpenCode/Continue 始终跟随“Agent Runtime”中的全局配置,不在通道中维护第二套 Runtime 配置。
- 远程消息支持 Ask 与 Execute。Execute 不显示通道专属逐次审批,但仍受发送者范围、项目目录、Runtime、沙箱、能力开关和活动审计约束。
- 当前任务生成的图片可以返回微信;明确要求文件时可将本次最终文本生成为 Markdown 附件,不自动发送已有工作区文件。
- “断开本机绑定”只停止本机收发并清除本地凭据,不会删除通道项目、远程会话或历史,也不承诺解除微信服务端授权。
完整设计、安全边界和联调状态见[远程消息通道项目与微信 ClawBot 集成 PRD](docs/features/wechat-clawbot-channel-project-prd.md)。
### 本地知识库与知识图谱
文件、目录和网页内容可以按知识库独立管理。GoodBuddy 会完成解析、索引、检索和图谱构建,并保留可追溯的来源与证据。
- **安全执行**`Ask` 保持只读;`Execute` 仅运行已启用且受边界约束的工具,并保留活动记录。
- **本地优先**:会话、任务、成果、记忆、知识库和图谱保存在本地 SQLite;API Key 由系统安全存储加密。
- **多 Runtime**:支持直连模型、OpenCode 和 Continue,统一处理取消、超时、输出限制和进程退出
- **开放连接**:支持 OpenAI Responses、OpenAI 兼容 Chat Completions、Anthropic Messages、OpenAI Images、Embeddings、Skills 和 MCP。
- **知识工作区**:支持文件、目录和网页导入,以及全文、词组、向量和图谱混合检索
- **工作管理**:集中管理 Projects、对话、任务、活动、成果、记忆、魔法笔记和智能心跳
- **远程通道**:支持微信 ClawBot、企业微信和钉钉,每个发送者使用独立远程会话
- **桌面上下文**:可选择文件、截图、应用窗口、剪贴板和语音作为上下文
- **离线语音**:支持 SenseVoice、Paraformer 和 Whisper 本地模型。
- **富文本回答**:支持 Markdown、LaTeX 公式和受控 Mermaid 图表。
![GoodBuddy 知识工作区](docs/screenshots/knowledge-workspace.png)
- SQLite FTS5、中文词组、向量和图谱混合检索,并提供可调权重、本地重排与有界上下文。
- 检索测试工作台展示候选数量、通道降级、耗时、排名、分数和实际送入模型的上下文。
- 支持固定长度、结构化和父子分块,以及分块搜索、编辑、停用、删除和可取消重建。
- 对话可选择由模型按需检索或每次先检索,并展示检索状态与可打开上下文的来源引用。
- 支持规则、模型和混合图谱抽取。
- 支持实体、关系、别名、证据与来源位置追溯。
- 图谱可搜索、筛选、缩放和拖动节点。
- 支持实体编辑、合并以及关系维护。
- 文档解析包含压缩包展开限制、路径校验和敏感字段过滤。
![GoodBuddy 知识图谱](docs/screenshots/knowledge-graph.png)
### 魔法笔记
魔法笔记提供本地优先的笔记与待办工作台,支持范围管理、编辑、筛选和受控 AI 评论。
![GoodBuddy 魔法笔记](docs/screenshots/GoodBuddy_MFSGeK0NoT.gif)
### 智能心跳
智能心跳让 GoodBuddy 不只响应当前问题,还能定期回顾近期工作,沉淀长期记忆,发现风险,并将洞察转化为可处理的建议。
![GoodBuddy 智能心跳](docs/screenshots/smart-heartbeat.png)
- 按项目或全局配置周期回顾计划
- 展示心跳健康、记忆沉淀、洞察发现和行动转化。
- 提供成长趋势、最新报告和可审计的运行轨迹。
- 建议记忆可确认或忽略。
- 后续任务可带入 Ask 对话、标记完成或忽略。
- 支持手动运行、暂停、恢复和安全删除计划。
完整功能和路线图见 [FEATURES.md](FEATURES.md)
### 多 Runtime 与模型连接
## 安装
| 能力 | 适用场景 | 控制方式 |
从 [GitHub Releases](https://github.com/mesalogo/goodbuddy/releases) 下载:
| 系统 | 架构 | 格式 |
| --- | --- | --- |
| 直连模型 | 问答、知识总结、受控工具执行、图像生成 | Ask 只读;Execute 自动授权已启用的工作区、浏览器与 MCP 工具,可设置为全部禁止 |
| OpenCode | 完整编码与工作区任务 | Execute 不弹 GoodBuddy 审批,保留 Runtime 自身权限、取消和活动记录 |
| Continue | Agent 编码与工作区任务 | Execute 不弹 GoodBuddy 审批,使用独立宿主、取消和活动记录 |
| Windows | `x64``arm64` | NSIS、便携 ZIP |
| macOS | `x64``arm64` | DMG、ZIP |
| Linux | `x64``arm64` | AppImage、DEB |
消息通道选择 OpenCode 或 Continue 时只选择 Runtime 类型,具体模型来源、自有配置、可执行文件和服务地址统一复用“Agent Runtime”设置,并在每次远程请求开始时解析当前全局配置
当前尚未配置代码签名和 macOS notarization,系统可能显示安全提示
## 功能矩阵与路线图
## 从源码运行
以下为仓库首页的简要路线图;完整能力说明、状态和重大规划统一记录在 [FEATURES.md](FEATURES.md)。
需要 Node.js 24 和 npm
- [x] [跨平台桌面工作空间与安全上下文](FEATURES.md#桌面基础工作空间与上下文)
- [x] [多 Runtime、模型连接、Skills 与 MCP](FEATURES.md#agent-runtime-与模型连接)
- [x] [本地知识库、向量检索与知识图谱](FEATURES.md#skillsmcp-与知识库)
- [x] [任务、成果、记忆与智能心跳](FEATURES.md#工作管理长期协作与工作流)
- [x] [微信 ClawBot、企业微信与钉钉消息通道](FEATURES.md#浏览器通信语音与应用维护)
- [x] [本地录音与离线转写](FEATURES.md#浏览器通信语音与应用维护)
- [x] [魔法笔记 / Magic Notes](FEATURES.md#知识工作空间与魔法笔记):本地优先的笔记与待办工作台,支持受控 AI 评论。
- [ ] [Agent 框架、受控工作流与团队协作](FEATURES.md#agent-框架与协作能力)
- [ ] [多云远程沙盒 Agent](FEATURES.md#多云远程沙盒-agent)
```bash
git clone https://github.com/mesalogo/goodbuddy.git
cd goodbuddy
npm ci
npm run dev
```
`[x]` 表示当前已提供,`[ ]` 表示开发中或规划中;未完成项目不代表已包含在当前发布版本中
构建与打包说明见 [BUILD.md](BUILD.md)
## 隐私说明
## 隐私与安全
模型请求只发送到用户选择的模型连接。本地数据保存在当前系统的应用数据目录中;远程委派仅在用户显式配置端点和令牌后启用。为兼容受控私有网络,GoodBuddy 进程管理的连接允许 HTTP,并接受无效、自签名或过期的 HTTPS 证书;交由外部浏览器打开的 URL 仍遵循浏览器自身的证书策略。微信凭据和媒体端点不受该策略放宽,始终只允许经过校验的腾讯微信 HTTPS 主机与重定向
- 模型请求只发送到用户选择的服务
- 本地数据默认保存在系统应用数据目录。
- Renderer 不接触原始 Electron API 或模型凭据。
- 远程委派仅在用户配置端点和令牌后启用。
- 内网兼容模式允许应用内 HTTP 和非标准 HTTPS 证书;微信凭据和媒体端点仍执行严格校验。
## 参与贡献
欢迎提交 Issue 和 Pull Request。请先阅读 [AGENTS.md](AGENTS.md),提交前运行:
```bash
npm test
npm run typecheck
npm run lint
```
## 开源许可
GoodBuddy 的原创代码采用 [0BSD License](LICENSE),可自由使用、修改、分发和商用。第三方组件和资源遵循各自许可证。
+1 -1
View File
@@ -7,7 +7,7 @@
"": {
"name": "goodbuddy",
"version": "0.8.20",
"license": "UNLICENSED",
"license": "0BSD",
"dependencies": {
"@antv/g6": "^5.1.1",
"@modelcontextprotocol/sdk": "^1.30.0",
+8 -1
View File
@@ -8,7 +8,14 @@
"author": {
"name": "MesaLogo"
},
"license": "UNLICENSED",
"license": "0BSD",
"repository": {
"type": "git",
"url": "git+https://github.com/mesalogo/goodbuddy.git"
},
"bugs": {
"url": "https://github.com/mesalogo/goodbuddy/issues"
},
"main": "./out/main/index.js",
"type": "module",
"scripts": {