{"slug": "show-hn-etherpk-an-obsidian-and-logseq-alternative-with-prose-and-blocks", "title": "Show HN: EtherPK – an Obsidian and Logseq alternative with prose and blocks", "summary": "App Software released EtherPK, a personal knowledge base in plain Markdown, as source-available software under the Elastic License 2.0, which permits use, copying, modification and self-hosting but not offering it to others as a hosted or managed service. The release includes a SvelteKit Client editor and a Headless Client published to npm as @appsoftwareltd/etherpk-mcp, an MCP server that gives an AI agent access to a user's graph. The Client runs in the browser with no account, or via Docker (ghcr.io/appsoftwareltd/etherpk-client:latest) or a Node.js 22+ tarball, and Sync Server graphs are stored end-to-end encrypted so the server cannot read them.", "body_md": "The source of the [EtherPK](https://etherpk.com) Client and Headless Client, available under the\n[Elastic License 2.0](https://github.com/appsoftwareltd/etherpk-client/blob/main/LICENSE).\n\n[Try the demo](https://etherpk.com) from etherpk.com. It runs in your browser, needs no account, and\nkeeps what you write in that browser only.\n\nEtherPK is a personal knowledge base in plain Markdown. Journal entries hold daily thinking, pages\nhold what outlives a day, and `[[wikilinks]]` tie them into a knowledge graph. The **Client** is the\neditor: a SvelteKit app that opens a graph from a folder on your computer, or from a Sync Server\nthat stores graphs end-to-end encrypted and cannot read them. The **Headless Client** is the same\nengine without an editor: an MCP server that gives an AI agent one of your graphs.\n\nUser documentation is at [https://docs.etherpk.com](https://docs.etherpk.com).\n\nThe Elastic License 2.0 lets you use, copy, modify and self-host this software. It does not let you offer it to others as a hosted or managed service. It is a source-available licence, not an open source one.\n\n| Path | Contents | \n|---|---|\n| `apps/client` | The Client | \n| `apps/mcp` | The Headless Client / MCP Server, published to npm as [`@appsoftwareltd/etherpk-mcp`](https://www.npmjs.com/package/@appsoftwareltd/etherpk-mcp) ([README](https://github.com/appsoftwareltd/etherpk-client/blob/main/apps/mcp/README.md) ) | \n| `packages/shared` | Code the Client shares with the Sync Server: the sync protocol, UI components and auth pages | \n| `packages/themes` | The site themes the publisher bundles | \n\n```\ndocker run --rm -p 3000:3000 ghcr.io/appsoftwareltd/etherpk-client:latest\n```\n\nEvery tag is listed on the image's\n[package page](https://github.com/appsoftwareltd/etherpk-client/pkgs/container/etherpk-client).\n\nOpen [http://localhost:3000](http://localhost:3000). With no settings the Client works with graph folders on your\ncomputer and offers a **Custom server** form for connecting to a Sync Server by its address. The\nsettings it reads are listed, with their defaults, in\n[`apps/client/.env.example`](https://github.com/appsoftwareltd/etherpk-client/blob/main/apps/client/.env.example) - pass them with `--env-file`.\n\nEach release attaches `etherpk-client-<version>.tar.gz`, which runs on Node.js 22 or later on\nWindows, macOS and Linux, with nothing to install:\n\n```\ntar -xzf etherpk-client-<version>.tar.gz\ncd etherpk-client\nHOST=127.0.0.1 PORT=3000 node build\n```\n\nThe full guide, including Windows commands, is\n[Running EtherPK On Your Own Computer](https://docs.etherpk.com/running-etherpk-on-your-own-computer).\n\nPublished to npm as\n[`@appsoftwareltd/etherpk-mcp`](https://www.npmjs.com/package/@appsoftwareltd/etherpk-mcp).\n\n```\nnpx @appsoftwareltd/etherpk-mcp --help\n```\n\nSetup for each kind of graph is in [`apps/mcp/README.md`](https://github.com/appsoftwareltd/etherpk-client/blob/main/apps/mcp/README.md).\n\nYou need Node.js 22 or later and pnpm - `corepack enable` provides the pnpm version that\n`package.json` names.\n\n```\npnpm install --frozen-lockfile\npnpm dev          # the Client on http://localhost:5174\npnpm check        # type check\npnpm lint\npnpm test         # Vitest unit suites\npnpm build        # the Client and the Headless Client\ndocker build -f apps/client/Dockerfile -t etherpk-client .\n```\n\nCopy `apps/client/.env.example` to `apps/client/.env` to change the development settings.\n\n- Every commit on `main` publishes images tagged`edge` and`sha-<commit>` .\n- A release is a `v<version>` tag. It publishes images tagged`<version>` ,`<major>.<minor>` and`latest` , a GitHub Release with the Node bundle attached, and`@appsoftwareltd/etherpk-mcp` at\nthe same version on npm.\n- The Client and the Headless Client share one version number with EtherPK's Sync Server, and only matching versions are tested together. A Client and a Sync Server on different sync protocol versions refuse to sync, and the Client says which side needs upgrading.\n\nThis repository is a one-way copy of App Software's private EtherPK repository, exported on every\nchange there. Each commit here is one export - its `GitOrigin-RevId` trailer names the private\ncommit it came from. Code comments cite design records (`ADR 0072`) and glossary terms\n(`[[Knowledge Graph]]`) that live in the private repository and are not published here.\n\nIssues are welcome. Pull requests are not merged here - [CONTRIBUTING.md](https://github.com/appsoftwareltd/etherpk-client/blob/main/CONTRIBUTING.md) explains\nwhy and what happens instead. Report security issues as [SECURITY.md](https://github.com/appsoftwareltd/etherpk-client/blob/main/SECURITY.md) describes.", "url": "https://wpnews.pro/news/show-hn-etherpk-an-obsidian-and-logseq-alternative-with-prose-and-blocks", "canonical_source": "https://github.com/appsoftwareltd/etherpk-client", "published_at": "2026-10-05 14:11:18+00:00", "updated_at": "2026-10-05 14:21:17.467489+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools"], "entities": ["EtherPK", "App Software", "Elastic License 2.0", "@appsoftwareltd/etherpk-mcp", "SvelteKit", "Node.js", "npm", "Docker"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-etherpk-an-obsidian-and-logseq-alternative-with-prose-and-blocks", "markdown": "https://wpnews.pro/news/show-hn-etherpk-an-obsidian-and-logseq-alternative-with-prose-and-blocks.md", "text": "https://wpnews.pro/news/show-hn-etherpk-an-obsidian-and-logseq-alternative-with-prose-and-blocks.txt", "jsonld": "https://wpnews.pro/news/show-hn-etherpk-an-obsidian-and-logseq-alternative-with-prose-and-blocks.jsonld"}}