{"id":13457207,"url":"https://github.com/anyproto/anytype-ts","last_synced_at":"2026-04-29T15:01:37.328Z","repository":{"id":181985120,"uuid":"643874750","full_name":"anyproto/anytype-ts","owner":"anyproto","description":"Official Anytype client for MacOS, Linux, and Windows","archived":false,"fork":false,"pushed_at":"2026-04-24T11:59:15.000Z","size":973304,"stargazers_count":7438,"open_issues_count":148,"forks_count":467,"subscribers_count":35,"default_branch":"develop","last_synced_at":"2026-04-24T13:25:49.639Z","etag":null,"topics":["anytype","e2ee","local-first","offline-first","p2p","privacy"],"latest_commit_sha":null,"homepage":"https://anytype.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anyproto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-05-22T10:39:33.000Z","updated_at":"2026-04-24T11:15:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"7103522a-3242-4be2-8f42-8b5f9f9bd325","html_url":"https://github.com/anyproto/anytype-ts","commit_stats":null,"previous_names":["anyproto/anytype-ts"],"tags_count":1420,"template":false,"template_full_name":null,"purl":"pkg:github/anyproto/anytype-ts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anyproto%2Fanytype-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anyproto%2Fanytype-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anyproto%2Fanytype-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anyproto%2Fanytype-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anyproto","download_url":"https://codeload.github.com/anyproto/anytype-ts/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anyproto%2Fanytype-ts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32430803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anytype","e2ee","local-first","offline-first","p2p","privacy"],"created_at":"2024-07-31T08:01:35.786Z","updated_at":"2026-04-29T15:01:37.322Z","avatar_url":"https://github.com/anyproto.png","language":"TypeScript","funding_links":[],"categories":["HarmonyOS","TypeScript","Applications","Official Projects","privacy","知识管理_wiki知识库","p2p","Table of Contents","Productivity","🛠️ Developer Tools"],"sub_categories":["Windows Manager","Productivity","Clients","资源传输下载","Knowledge Base","Other"],"readme":"# Anytype Desktop\n\n\u003e **Local‑first, peer‑to‑peer \u0026 end‑to‑end‑encrypted knowledge OS for macOS, Windows \u0026 Linux.**\n\n[![Latest release](https://img.shields.io/github/v/release/anyproto/anytype-ts?label=Download)](https://github.com/anyproto/anytype-ts/releases)\n[![Build Status](https://github.com/anyproto/anytype-ts/actions/workflows/build.yml/badge.svg?branch=main\u0026event=release)](https://github.com/anyproto/anytype-ts/actions/workflows/build.yml)\n[![Crowdin](https://badges.crowdin.net/anytype-desktop/localized.svg)](https://crowdin.com/project/anytype-desktop)\n[![License](https://img.shields.io/badge/license-ASAL-1.0-blue.svg)](LICENSE.md)\n\nAnytype 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.\n\n\n## ✨ Key Features\n\n- **Offline‑first, local storage** with optional peer‑to‑peer sync.\n- **Zero‑knowledge encryption** powered by *any‑sync*.\n- **Composable blocks**: text, databases, kanban, calendar \u0026 custom Types.\n- **Cross‑platform desktop client** built with Electron + TypeScript.\n- **Extensible** through a gRPC API and AI \"Agents\" (see [`AGENTS.md`](./AGENTS.md)).\n- **Open code** under the Any Source Available License 1.0.\n\n## 📚 Table of Contents\n\n- [Quick Start](#-quick-start)\n- [Prerequisites](#-prerequisites)\n- [Building from Source](#-building-from-source)\n- [Development Workflow](#-development-workflow)\n  - [Updating Middleware](#updating-middleware)\n  - [Updating Protobuf Bindings](#updating-protobuf-bindings)\n- [Localisation](#-localisation)\n- [Contributing](#-contributing)\n- [Community \u0026 Support](#-community--support)\n- [License](#-license)\n\n\n## 🚀 Quick Start\n\nJust want to try it? Grab the latest installer from the [releases page](https://github.com/anyproto/anytype-ts/releases) or head to **[download.anytype.io](https://download.anytype.io)** and log in with your *Any‑ID*.\n\n## 🏗 Building from Source\n\nOn 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.\n\n```bash\n# 1 – Clone \u0026 open this repository\ngit clone https://github.com/anyproto/anytype-ts.git \u0026\u0026 cd anytype-ts\n\n# 2 - Install JavaScript dependencies\nbun install\n\n# 3 – Fetch / build middleware \u0026 protobuf bindings\n./update.sh \u003cmacos-latest|ubuntu-latest|windows-latest\u003e \u003carm|amd\u003e\n\n# 4 – Build the core engine\ncd .. \u0026\u0026 git clone https://github.com/anyproto/anytype-heart.git \u0026\u0026 cd anytype-heart\nmake install-dev-js CLIENT_DESKTOP_PATH=../anytype-ts \u0026\u0026 cd ../anytype-ts\n\n# 5 - Update locale\nbun run update:locale\n\n# 6 – Build the Electron desktop app (see package.json for more options)\nbun run dist:\u003clinux|win|mac\u003e\n```\n\n### Environment flags\n\n| Variable                 | Effect                                           |\n|--------------------------|--------------------------------------------------|\n| `ELECTRON_SKIP_NOTARIZE` | Skip macOS / Windows signing \u0026 notarizing         |\n| `ELECTRON_SKIP_SENTRY`   | Don’t upload sourcemaps to Sentry                 |\n\n\n## 🧑‍💻 Development Workflow\n\nYou can use [nix](https://nix.dev/install-nix) to install all the required dependencies at once.\n\n```shell\n# open a shell with all the required dependencies\nnix develop --command $SHELL\n```\n\nStart the dev server with hot‑reload (builds Electron bundle, starts Vite, then launches Electron):\n\n```bash\nbun run start:dev     # Windows: bun run start:dev-win\n# add --user-data-dir=./my_dir to electron(-win) script in package.json if you want to use custom user data directory\n```\n\nWhen you close Electron, the Vite dev server is automatically stopped.\n\nFor browser-based development without Electron:\n\n```bash\nbun run start:web\n```\n\nSee [Web Mode](./docs/src/ts/lib/web/README.md) for details.\n\n### Useful commands\n\n```bash\nbun run build         # Production build (Vite)\nbun run build:dev     # Development build (Vite)\nbun run typecheck     # TypeScript type checking\nbun run lint          # Run linters (Biome + ESLint)\n```\n\n### Environment variables\n\n| Name         | Purpose                                           |\n|--------------|---------------------------------------------------|\n| `SERVER_PORT`| Vite dev server port (default: `8080`)             |\n| `ANYPROF`    | Expose Go `pprof` on `localhost:\u003cport\u003e`            |\n\n### Web Clipper Extension\n\nBuild and switch manifest for different browsers:\n\n```bash\nbun run build:ext\nbun run ext:manifest:firefox\nbun run ext:manifest:chromium\n```\n\n### Updating Middleware\n\nThe middleware version is pinned in `middleware.version`. To fetch a pre-built middleware binary and its protobuf/JSON assets:\n\n```bash\n./update.sh \u003cmacos-latest|ubuntu-latest|windows-latest\u003e \u003carm|amd\u003e\n```\n\nThis 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/`.\n\nFor CI environments (requires GitHub credentials):\n\n```bash\n./update-ci.sh --user=\u003cGITHUB_USER\u003e --token=\u003cGITHUB_TOKEN\u003e --os=\u003cOS\u003e --arch=\u003cARCH\u003e --middleware-version=\u003cVERSION\u003e\n```\n\n### Updating Protobuf Bindings\n\nTo regenerate TypeScript protobuf bindings from a local [anytype-heart](https://github.com/anyproto/anytype-heart) checkout (expected at `../anytype-heart`):\n\n```bash\nbun run generate:protos\n```\n\n**Prerequisites:** `protoc` (protobuf compiler) must be installed, and `bun install` must have been run (for `ts-proto`).\n\nThis reads `.proto` files from `../anytype-heart`, generates TypeScript bindings into `middleware/`, and creates a service registry.\n\n## 🌍 Localisation\n\nTranslations live on [Crowdin](https://crowdin.com/project/anytype-desktop). Pull the latest locale files with:\n\n```bash\nbun run update:locale\n```\n\n\n## 🤝 Contributing\n\nWe ♥ contributors! Please read our [Contributing Guide](https://github.com/anyproto/.github/blob/main/docs/CONTRIBUTING.md) and follow the [Code of Conduct](https://github.com/anyproto/.github/blob/main/docs/CODE_OF_CONDUCT.md).\n\n\u003e **Security issues?** Don’t open public issues—email **security@anytype.io** and see our [Security Guide](https://github.com/anyproto/anytype-ts?tab=security-ov-file).\n\n\n## 💬 Community \u0026 Support\n\n- **Forum** – \u003chttps://community.anytype.io\u003e\n- **Docs** – \u003chttps://doc.anytype.io\u003e\n- **Blog** – \u003chttps://blog.anytype.io\u003e\n\n\n## 📝 License\n\nMade by **Any** — a Swiss association 🇨🇭\n\nLicensed under the **Any Source Available License 1.0**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanyproto%2Fanytype-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanyproto%2Fanytype-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanyproto%2Fanytype-ts/lists"}