Main no longer opens desktop business SQLite. A single utility-process
storage owner holds the Assistant, Knowledge, attachment, document-result,
remote-binding and native model-ledger databases and runs whole domain
transactions; Main and Runtime callers use explicit async domain operations.
- Remove the Main readWithFallback path and the supervision worker's
separate business write connection; manifests are scanned read-only and
committed by the sole writer.
- Remote events are ACKed only after commit; process loss reports
unconfirmed writes instead of replaying them.
- Use native utilityProcess messaging with one in-flight bound (32) and
ordered waiting instead of capacity rejection and retries.
- Start the storage process before the window so startup overlaps.
- Keep short tool output in memory and store full output once in owned
storage; paging, branching, restart and deletion reuse that copy.
- Put required runtime launch files under goodbuddy-prefixed owned temp
directories and reclaim confirmed stale ones; stop writing duplicate
parsed.md.
- Add lint guards for SQLite ownership and architecture, concurrency
acceptance fixtures, and maintenance/architecture documentation.
Validation: typecheck and lint pass. Alternating baseline (edf019aa) vs
candidate runs show no regression on single-session, C01, C02, C04 and a
5-minute C06; Main p99 drops from ~21 ms to ~16.7 ms under concurrency.
Fresh portable copy (1.75M events) upgrade content unchanged; real-model
output paging passes with 4 external requests. Full npm test runs had
1-9 different timing-sensitive failures per run that pass when rerun.
Not covered: C03 review publication, C07 source body, app-level C05.
GoodBuddy
Desktop access to model chat, coding agents, knowledge, and scheduled work
English | 简体中文
GoodBuddy is a desktop application for model chat, coding agents, knowledge retrieval, notes, and scheduled tasks. No GoodBuddy account is required. Workspace data is stored locally by default. Model endpoints can run on the same device, on a private network, or at a provider selected by the user.
Highlights
- Local-first workspace: No GoodBuddy account is required. Workspace data stays local by default, and users choose where model services run.
- Unified Agent Runtimes: Use direct models, OpenCode, Continue, and the preview DeepSeek Harness from one desktop interface.
- Unified execution: Requests use the selected Runtime, enabled capabilities, and current account permissions without choosing a work mode. Tool activity, cancellation, timeouts, and token usage are recorded.
- Broad platform coverage: Official Linux releases cover
x64andarm64, including compatible distributions used in China's domestic computing ecosystem. A separate experimentalloong64preview is available for LoongArch systems. - Knowledge and long-running work: Knowledge bases, graphs, Magic Notes, tasks, and Smart Heartbeat share one desktop workspace.
Platform coverage describes operating-system, instruction-set, and package compatibility, not certification for every hardware vendor or distribution release. LoongArch is outside the official release matrix; see the LoongArch preview notes for its current limitations.
Capabilities
| Area | Available in GoodBuddy |
|---|---|
| Agent Runtimes | Direct model connections, OpenCode, Continue, and the preview DeepSeek Harness |
| Data and execution | Local SQLite and note-file storage, current-account tool execution, and recorded tool activity |
| Knowledge | File, folder, and web imports with full-text, Chinese phrase, vector, and knowledge graph retrieval |
| Desktop releases | Official Windows, macOS, and Linux builds for x64 and arm64, plus an experimental LoongArch preview |
| Integrations | Local or hosted model endpoints, custom MCP servers, WeChat ClawBot, WeCom, DingTalk, and Telegram (live Bot + model acceptance pending) |
Product tour
Knowledge bases and graphs
Magic Notes and Smart Heartbeat
Magic Notes displays a continuous record stream, with a narrow left index and independent right AI comments. Both panes can collapse; thumbnails scroll to a record while preserving drafts. It supports rich-text entries and paged canvases with flowing text, handwriting, highlights, images and PDF backgrounds. Import PDF text and export annotated pages as a raster PDF. Canvas saves are manual; AI comments use the default model's image-input capability, with an explicit text-only fallback when images are unsupported. See the Magic Notes documentation for behavior and final validation status.
Agent Runtimes
| Runtime | Functions | Configuration |
|---|---|---|
| Direct models | Chat, retrieval, image generation, and built-in tools | GoodBuddy model connections |
| OpenCode | Coding agents, native commands, tools, and skills | GoodBuddy-managed or native OpenCode configuration |
| Continue | Rules, prompt presets, and coding tasks | GoodBuddy-managed or native Continue configuration |
| DeepSeek Harness (preview) | A fixed host with optional plugin capabilities | GoodBuddy-managed OpenAI-compatible connection |
Each run reports cancellation, timeouts, token usage, tool calls, and history. Runtime-specific capabilities and configuration remain separate.
Download
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, RPM |
The experimental LoongArch loong64 build is distributed through a separate
preview channel on the product website.
Desktop installers do not contain remote Agent payloads. Local projects do not need an Agent package; managed SSH users download or import one explicitly in Settings.
Code signing and macOS notarization are not configured yet, so the 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.
Documentation
- Feature matrix and roadmap
- Product feature documentation
- UI design system
- Build and packaging
- Release runbook
Privacy and execution boundaries
- Model requests are sent only to services selected by the user.
- Local data stays in the operating system's application data directory by default. API keys are encrypted by secure system storage.
- The Renderer has no access to raw Electron APIs or model credentials.
- The DeepSeek Harness plugin marketplace is off by default. Third-party install scripts, initialization code, and tools run with the current user's permissions.
- Remote delegation is enabled only after 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
Community communication
Scan the QR code to join the GoodBuddy WeChat group:
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.




