9e6f664e06ad9ef836e86ead53c9900652480823
Multiple model invocations in one task could share a call identifier when a provider omitted or reused its response ID. Database upserts then replaced earlier tool-round or summary usage, causing cumulative activity totals to undercount successful calls. Each completed direct-model invocation now receives a unique local call ID while retaining the provider ID as diagnostic context. Tool rounds, final responses, image calls, and repeated compression summaries are therefore stored independently. Release note: 修复连续工具调用或上下文摘要可能覆盖前序模型用量的问题;现在每次成功调用都会分别计入运行记录和累计统计。
GoodBuddy
English | 简体中文
A secure, cross-platform, local-first desktop AI assistant and Agent workspace.
Highlights
- Controlled execution:
Askstays read-only;Executeruns only enabled tools within defined boundaries and records their activity. - Local-first data: Conversations, tasks, artifacts, memory, knowledge bases, and graphs are stored in local SQLite. API keys are encrypted by the operating system.
- Multiple runtimes: Connect directly to models or use OpenCode and Continue, with cancellation, timeouts, output limits, and process cleanup.
- Open integrations: Supports OpenAI Responses, OpenAI-compatible Chat Completions, Anthropic Messages, OpenAI Images, Embeddings, Skills, and MCP.
- Knowledge workspace: Import files, folders, and web pages, then search them with full-text, phrase, vector, and graph retrieval.
- Work management: Organize projects, conversations, tasks, activity, artifacts, memory, Magic Notes, and Smart Heartbeat.
- Remote channels: Connect WeChat ClawBot, WeCom, and DingTalk with separate remote sessions for each sender.
- Desktop context: Add selected files, screenshots, application windows, clipboard content, and voice.
- Offline speech: Use local SenseVoice, Paraformer, and Whisper models.
- Rich responses: Render Markdown, LaTeX, and controlled Mermaid diagrams.
See FEATURES.md for the detailed feature matrix and roadmap.
Install
Download a build from GitHub Releases:
| Platform | Architectures | Formats |
|---|---|---|
| Windows | x64, arm64 |
NSIS, portable ZIP |
| macOS | x64, arm64 |
DMG, ZIP |
| Linux | x64, arm64 |
AppImage, DEB |
Code signing and macOS notarization are not configured yet, so your operating system may display a security warning.
Run from source
Requires Node.js 24 and npm:
git clone https://github.com/mesalogo/goodbuddy.git
cd goodbuddy
npm ci
npm run dev
See BUILD.md for build and packaging instructions.
Privacy and security
- Model requests are sent only to services selected by the user.
- Local data stays in the operating system's application data directory by default.
- The Renderer has no access to raw Electron APIs or model credentials.
- Remote delegation is disabled until the user configures an endpoint and token.
- Private-network compatibility permits in-app HTTP and non-standard HTTPS certificates. WeChat credential and media endpoints remain strictly validated.
Contributing
Issues and pull requests are welcome. Read AGENTS.md first, then run:
npm test
npm run typecheck
npm run lint
License
Original GoodBuddy code is released under the 0BSD License. You may use, modify, distribute, and commercialize it freely. Third-party components and resources retain their respective licenses.
Languages
TypeScript
92.1%
CSS
4%
Python
1.9%
JavaScript
1.7%
HTML
0.3%




