anyproto/anytype-ts
anyproto/anytype-ts has 9,064 GitHub stars and 605 forks. GitHot measured +25 in 7 days. Last checked 2026-11-09 14:52 UTC. Last push 2026-11-03.
适用于 macOS、Linux 和 Windows 的 Anytype 官方客户端
可以做什么
- Offline‑first, local storage with optional peer‑to‑peer sync.
- Zero‑knowledge encryption powered by any‑sync.
- Composable blocks: text, databases, kanban, calendar & custom Types.
- Cross‑platform desktop client built with Electron + TypeScript.
实测星标增长
- 24小时
- 更新延迟
- 7天
- +25
- 15天
- 更新延迟
- 1个月
- 更新延迟
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
README.md
原文Anytype Desktop
Local‑first, peer‑to‑peer & end‑to‑end‑encrypted knowledge OS for macOS, Windows & Linux.
Anytype is a personal knowledge base—your digital brain—that lets you gather, connect and remix all kinds of information. Create pages, tasks, wikis, journals—even entire apps—and define your own data model while your data stays offline‑first, private and encrypted across devices.
✨ Key Features
- Offline‑first, local storage with optional peer‑to‑peer sync.
- Zero‑knowledge encryption powered by any‑sync.
- Composable blocks: text, databases, kanban, calendar & custom Types.
- Cross‑platform desktop client built with Electron + TypeScript.
- Extensible through a gRPC API and AI "Agents" (see
AGENTS.md). - Open code under the Any Source Available License 1.0.
📚 Table of Contents
- Quick Start
- Prerequisites
- Building from Source
- Development Workflow
- Localisation
- Contributing
- Community & Support
- License
🚀 Quick Start
Just want to try it? Grab the latest installer from the releases page or head to download.anytype.io and log in with your Any‑ID.
🏗 Building from Source
On ARM systems, node package keytar needs to be rebuilt during installation, so make sure that your system has a C++ compiler, Python3 and Python package setuptools. E.g. on Debian/Ubuntu: sudo apt install python3-setuptools. Alternatively, on any system, create a Python virtual environment (venv) and inside the venv: pip install setuptools. Then build from source inside the venv.
Linux also needs the protobuf compiler with the well-known .proto files (used to generate the gRPC bindings in step 5):
- Fedora:
sudo dnf install protobuf-compiler protobuf-devel jq - Debian / Ubuntu:
sudo apt install protobuf-compiler libprotobuf-dev jq
# 1 – Clone & open this repository
git clone https://github.com/anyproto/anytype-ts.git && cd anytype-ts
# 2 - Install JavaScript dependencies
bun install
# 3 – Fetch the prebuilt middleware binary + proto/JSON assets into dist/
./update.sh <macos-latest|ubuntu-latest|windows-latest> <arm|amd>
# 4 – Build the core engine
cd .. && git clone https://github.com/anyproto/anytype-heart.git && cd anytype-heart
make install-dev-js CLIENT_DESKTOP_PATH=../anytype-ts && cd ../anytype-ts
# 5 – Generate protobuf bindings (middleware/) + service registry (src/ts/lib/api/service.ts)
# From the anytype-heart checkout built in step 4:
bun run generate:protos
# …or, to skip the anytype-heart checkout entirely, generate from the assets fetched in step 3:
# bash scripts/generate-protos.sh --from-dist
# 6 - Update locale
bun run update:locale
# 7 – Build the Electron desktop app (see package.json for more options)
bun run dist:<linux|win|mac>
Steps 3–5 produce
middleware/andsrc/ts/lib/api/service.ts, which are git-ignored. Skipping step 5 causesFailed to resolve import "./service" from src/ts/lib/api/dispatcher.ts. See Updating Protobuf Bindings andscripts/README.mdfor details.
Environment flags
| Variable | Effect |
|---|---|
ELECTRON_SKIP_NOTARIZE |
Skip macOS / Windows signing & notarizing |
ELECTRON_SKIP_SENTRY |
Don’t upload sourcemaps to Sentry |
🧑💻 Development Workflow
You can use nix to install all the required dependencies at once.
# open a shell with all the required dependencies
nix develop --command $SHELL
Start the dev server with hot‑reload (builds Electron bundle, starts Vite, then launches Electron):
bun run start:dev # Windows: bun run start:dev-win
# add --user-data-dir=./my_dir to electron(-win) script in package.json if you want to use custom user data directory
When you close Electron, the Vite dev server is automatically stopped.
For browser-based development without Electron:
bun run start:web
See Web Mode for details.
Useful commands
bun run build # Production build (Vite)
bun run build:dev # Development build (Vite)
bun run typecheck # TypeScript type checking
bun run lint # Run linters (Biome + ESLint)
Environment variables
| Name | Purpose |
|---|---|
SERVER_PORT |
Vite dev server port (default: 8080) |
ANYPROF |
Expose Go pprof on localhost:<port> |
Web Clipper Extension
Build and switch manifest for different browsers:
bun run build:ext
bun run ext:manifest:firefox
bun run ext:manifest:chromium
Updating Middleware
The middleware version is pinned in middleware.version. To fetch a pre-built middleware binary and its protobuf/JSON assets:
./update.sh <macos-latest|ubuntu-latest|windows-latest> <arm|amd>
This downloads the anytype-heart release matching the version in middleware.version, extracts the anytypeHelper binary into dist/, and copies protobuf definitions and generated JSON into dist/lib/.
For CI environments (requires GitHub credentials):
./update-ci.sh --user=<GITHUB_USER> --token=<GITHUB_TOKEN> --os=<OS> --arch=<ARCH> --middleware-version=<VERSION>
Updating Protobuf Bindings
The TypeScript protobuf bindings (middleware/) and the gRPC service registry (src/ts/lib/api/service.ts) are generated and git-ignored — a fresh checkout has neither, and the dev/build will fail with Failed to resolve import "./service" from src/ts/lib/api/dispatcher.ts until you generate them.
From a local anytype-heart checkout (expected at ../anytype-heart, requires the Go toolchain):
bun run generate:protos
Without an anytype-heart checkout (uses the .proto files downloaded by ./update.sh into dist/lib/protos/):
./update.sh <macos-latest|ubuntu-latest|windows-latest> <arm|amd>
bash scripts/generate-protos.sh --from-dist
Prerequisites: bun install must have been run (for ts-proto), and protoc plus the well-known google/protobuf/*.proto files must be installed:
- Fedora:
sudo dnf install protobuf-compiler protobuf-devel - Debian / Ubuntu:
sudo apt install protobuf-compiler libprotobuf-dev - macOS:
brew install protobuf
The
-devel/-devpackage is required on Linux — without itprotocreportsgoogle/protobuf/struct.proto: File not found. Seescripts/README.mdfor the full Linux first-time setup and troubleshooting.
🌍 Localisation
Translations live on Crowdin. Pull the latest locale files with:
bun run update:locale
🤝 Contributing
We ♥ contributors! Please read our Contributing Guide and follow the Code of Conduct.
Security issues? Don’t open public issues—email [email protected] and see our Security Guide.
💬 Community & Support
- Forum – https://community.anytype.io
- Docs – https://doc.anytype.io
- Blog – https://blog.anytype.io
📝 License
Made by Any — a Swiss association 🇨🇭
Licensed under the Any Source Available License 1.0.
探索相关项目
trimstray/the-book-of-secret-knowledge
汇集各类启发灵感的清单、手册、速查表、博客、技巧、单行命令、CLI/Web 工具等内容。
257,474 星标Hack-with-Github/Awesome-Hacking
面向黑客、渗透测试人员与安全研究人员的各类 Awesome 清单合集。
125,103 星标swisskyrepo/PayloadsAllTheThings
一份用于 Web 应用安全以及渗透测试/CTF 的实用 payload 与绕过方法列表。
82,542 星标caddyserver/caddy
快速、可扩展的跨平台 HTTP/1-2-3 Web 服务器,支持自动 HTTPS
78,935 星标