berd README

The project's README from github.com/block/berd. As one markdown file: README.md.

Berd

Berd is an open-source desktop app for working with AI agents. It is built with Tauri 2 and React 19 and talks to the upstream Goose backend through the ACP WebSocket served by a goose serve sidecar.

The repository builds a general-purpose public distribution. Organizations can also create enterprise distributions by supplying managed provider settings, private resources, and release infrastructure through the repository's distribution seams without adding private material to the public source tree.

Getting started

just setup
just dev

just setup installs pnpm dependencies, builds the vendored @aaif/goose-sdk, and prepares the Goose backend pinned by goose-backend.lock.json in your platform cache directory. just dev reuses that stamped pinned binary and fails if the lockfile commit no longer matches the cached build.

If you already have an upstream Goose binary you want to test, set GOOSE_BIN=/path/to/goose before running just dev; that is an explicit local override and bypasses the managed pinned checkout.

To bump the default Goose backend, update the lockfile in a PR:

scripts/update-goose-backend-lock.sh main # or a tag/branch/sha
just goose-sync                          # fetch/build the new pinned commit

Bundling and distributions

Tauri bundles the Goose backend as an external sidecar. By default, just bundle stages the pinned managed Goose binary from goose-backend.lock.json and then runs pnpm tauri build:

just bundle

You can stage an explicit local binary with GOOSE_BIN=/path/to/goose just stage-sidecar. Staging creates src-tauri/binaries/goosed-<rust-host-triple>, matching the "externalBin": ["binaries/goosed"] entry in src-tauri/tauri.conf.json.

The public build is self-contained and does not require private package registries or enterprise credentials. Enterprise distributors may overlay private agents, runtime configuration, optional companion tools, update channels, and signing or publishing infrastructure in their own private build orchestration.

Optional companion CLI

Berd includes a distribution seam for bundling an optional companion CLI as an app resource. The public app does not require a private CLI package; enterprise distributors can provide and package their own implementation while retaining the normal Berd build and validation flow.

Public Agent Skills

Berd publishes portable Agent Skills under skills/. These can be installed independently of the Berd app and are separate from the contributor workflows under .agents/skills/ and the starter skills bundled under distro/skills/.

The first published skill, buzz-handoff, brings Buzz channel or thread context into a private agent conversation and can send an explicitly approved reply through the public Buzz CLI.

Adding an experiment

Experiments are user-local preferences for unstable UI or workflow behavior. Untouched experiments follow the global auto-enable setting, which defaults on in dev builds and off in production builds. Use .agents/skills/experimental-features/SKILL.md for the current workflow, registry contract, storage rules, Tauri guardrails, and test coverage.

Participating

Berd is built by a small team at Block, in the open. You can read the source, build it, and fork it freely — but we don't accept pull requests from outside authorized repository collaborators, and outside PRs are closed automatically.

The way to participate is to open a well-formed issue. A bug report we can reproduce is worth more to us than a patch, because it's the part we can't do ourselves. CONTRIBUTING.md spells out exactly what each kind of issue needs; the issue forms require it.

Filing one? Hand this to your coding agent:

Read https://raw.githubusercontent.com/block/berd/main/CONTRIBUTING.md
and help me file a Berd issue. Interview me for anything the guide
requires that I haven't given you, and tell me if what I'm reporting
is actually two separate issues.

Please also review the Code of Conduct and Security Policy. Never report a security vulnerability as a public issue.

Useful commands

berd (block/berd)

Searching Database…

984 ·GitHub
这是什么?Berd 是一款用于与 AI 代理协作的开源桌面应用,用 Tauri 2 和 React 19 构建,连接 Goose 代理后端。
这是 Electron 应用还是别的?它是 Tauri 2 + React 19 桌面应用,不是 Electron。界面通过本地 WebSocket 使用 Agent Client Protocol(ACP)与 Goose 代理后端通信,借助内置的 `goose serve` sidecar 进程,而不是云 API。
怎么让它跑起来?运行 `just setup` 安装 pnpm 依赖、构建内置的 @aaif/goose-sdk 并拉取锁定的 Goose 后端二进制文件,然后运行 `just dev`,应用将基于该缓存二进制启动。
需要先单独安装 Goose 吗?不需要,锁定的 Goose 后端会从 goose-backend.lock.json 自动获取;但如果你已经有自己的 Goose 构建,可以用 GOOSEBIN=/path/to/goose 指向它,覆盖托管的那份。
它支持哪些操作系统?作为一款 Tauri 桌面应用,Berd 面向 macOS、Windows 和 Linux,其发布流程涵盖签名和未签名的桌面构建。
Goose 是什么?Goose 是驱动 Berd 的上游代理后端;应用界面通过 WebSocket 使用 Agent Client Protocol 与之通信,二进制文件作为本地 sidecar 进程运行。
公司可以构建自己的品牌版 Berd 吗?可以,组织可以通过专用的分发接缝提供托管的服务商设置、私有资源和发布基础设施来创建企业发行版,而不必把私有材料放进公共仓库。
buzz-handoff 是什么?它是 Berd 发布的第一个 Agent Skill,把 Buzz 频道或话题的上下文带入私密的代理对话,并让代理通过公开的 Buzz CLI 发送经明确批准的回复。
What are similar projects?buzz, goose, opcode, atlas, ai-manager, holaOS, os, Octop
Creator
block
Size
56.3 MB
Stars
984
Age
2mo
Commits · 90 Days