ALTWEB Context Loader

software.altweb由 altweb.software 發布v1.1.2更新於 Oct 24, 2026

Loads signed ALTWEB context capsules — refuses unsigned, tampered, or untrusted by default.

已驗證STDIO僅桌面知識與記憶安全與監控

概覽

AI 產生的概覽

將已簽章的 ALTWEB 情境膠囊載入助理,預設拒絕未簽章、遭竄改或不受信任的內容。

可以做什麼
altweb-context MCP 伺服器提供 load_capsule、verify_capsule 與 list_trusted_keys 三個工具。只有在 ECDSA P-256 簽章有效、且簽署者公鑰存在於本機信任檔案時,才會把編譯好的 .altweb.html 膠囊載入助理。未簽章、遭竄改或不受信任的膠囊會在載入時被拒絕並附上明確原因,空的信任檔案會拒絕所有內容。
適用情境
當助理的指令、人設、技能或記憶檔案來自本機之外,而你希望在注入前確認來源脈絡時使用。適合把 Markdown 編譯成已簽章膠囊、並希望由載入器強制決定接受哪些簽署者的團隊。
執行需求
以 npm 套件 altweb-context 透過 stdio 在本機執行,需要 Node.js 20 或更新版本。必須提供允許簽署者公鑰的信任檔案,預設位於 ~/.altweb/trusted-keys.json,可用環境變數 ALTWEB_TRUST_FILE 覆寫。未宣告需要帳號或 API 金鑰。
安裝前請注意
信任檔案就是全部政策:檔案缺少或為空會拒絕所有膠囊,而加入一個公鑰即信任該簽署者產出的一切。有效簽章只證明作者身分與內容完整,並不代表內容安全或真實。請保持信任檔案精簡。簽章身分由通關語派生,應使用較長的 diceware 式詞語。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ALTWEB Context Loader,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ALTWEB — signed context capsules

Signed context capsules for AI agents — Markdown compiled into self-contained, verifiable, optionally encrypted artifacts + an MCP loader that refuses unsigned or untrusted context. Verify before you inject.

AI agents run on plain-text context: instructions, personas, skills, memory files. None of it has provenance — anything that can write those files can poison them. ALTWEB gives context a chain of custody, and makes the loader refuse anything that lacks one:

  • Capsule — markdown compiled into a single .altweb.html file (or URL): content compressed (deflate), optionally encrypted (AES-256-GCM), optionally signed (ECDSA P-256). Self-contained — opens in any browser, verifies offline, needs no server: you hand someone a file, not a database.
  • Verified context loading — the altweb-context MCP server loads a capsule into your agent only when the signature is valid and the signer's public key is in your trust file. Unsigned, tampered, or untrusted capsules are refused at load time, with an explicit reason. Refusal is the default: an empty trust file rejects everything, signed or not.
you write MD ──► altweb compile --sign ──► capsule (.altweb.html / URL)                                              │agent asks for context ──► altweb-context ──► verify signature + trust                                              │                              trusted ──► markdown injected                          everything else ──► REFUSED (reason)

Packages

PackageWhat it is
altwebCLI: altweb compile / decode / verify / keygen (packages/cli)
altweb-contextMCP server: load_capsule, verify_capsule, list_trusted_keys (packages/mcp)
@altweb/coreHeadless engine: content model, codec, crypto, markdown, sanitize (bundled into both; npm release planned)
@altweb/editorNotion-style editor (built on Novel) with one-click capsule export
site/Documentation site (Astro + Starlight)

Quickstart

Both tools are on npm — nothing to clone. Run these commands outside a source checkout (inside this repository, npm resolves the local workspace package):

bash
# create your signing identity (deterministic from a passphrase; only the# public key + fingerprint are stored, in ~/.altweb/identity.json)npx altweb keygen --save
# write, compile, signecho "# My agent's operating notes" > notes.mdnpx altweb compile notes.md -o notes.altweb.html --sign
# verify anywhere, offlinenpx altweb verify notes.altweb.html

Wire the loader into an MCP client (Claude Code example):

bash
claude mcp add altweb-context -- npx -y altweb-context

(From source: npm install && npm run build, then use the bundles under packages/*/dist/.)

Running from source

Node.js 20 or newer is required. From the repository root:

bash
npm installnpm run build
# Create and save an identity with the locally built CLInpm run keygen
# Start the editor in development modenpm run dev

The editor prints its local URL (normally http://localhost:5173). The CLI can be invoked as node packages/cli/dist/altweb.mjs <command>. Do not use npx altweb inside the checkout: npm may select the local workspace package, whose executable does not exist until it has been built.

The documentation site is intentionally a separate npm project rather than a workspace. To run it locally:

bash
npm install --prefix sitenpm run dev --prefix site

Trust a signer by adding its full public key to ~/.altweb/trusted-keys.json (the UNTRUSTED_KEY refusal message hands you the ready-made entry; the short fingerprint is a human label, not the trust anchor):

json
{ "keys": [ { "name": "Me", "publicKey": "<base64url SPKI>", "fingerprint": "ab:12:..." } ] }

What a signature proves — and what it does not

A valid signature proves who authored the capsule and that the bytes are intact. It does not make the content safe or true. The trust file is your policy; keep it short.

Pick a long passphrase. Identities derive deterministically from your passphrase via Argon2id with a fixed protocol salt (that is what makes them portable with nothing stored). Memory-hardness makes mass dictionary attacks economically hostile, but the passphrase's entropy is still the identity's foundation. Use a 16+ character diceware-style phrase; the tooling enforces a minimum strength.

Security

Content is sanitized with DOMPurify on decode; artifacts carry a CSP; the codec validates structure with zod. See site/ docs → Security model for the full write-up, including the encrypted-capsule caveat (the signature covers the decrypted payload, so verification completes after decryption).

Roadmap

Near-term, in rough order:

  • @altweb/core on npm — the engine as an installable library, for programmatic use (the CLI and loader already ship it bundled).
  • Hardware-backed identity (FIDO2 / passkeys) — an optional identity type alongside the passphrase one: the private key lives in a security key or secure enclave, never extractable, signing requires physical presence. The passphrase identity stays the default — "a passphrase is a keypair" — hardware keys add something you have for those who want it.

Credits

Built on excellent open source: Novel (Apache-2.0) and Tiptap (MIT) for the editor; DOMPurify, marked, pako, zod, @noble/curves in the engine. See NOTICE.

License

ALTWEB is dual-licensed:

  • Open source: AGPL-3.0-or-later. Free to use, study, modify, and share — with one core obligation: if you modify ALTWEB and distribute it or run it as a network service (e.g. hosting altweb-context for others), you must release your modified source under the AGPL.
  • Commercial: by agreement. To use ALTWEB in a closed-source product, or as a hosted service without publishing your changes, you need a separate commercial license. See COMMERCIAL.md.

Copyright © 2026 Daniel C. ȘOIMU. Bundled third-party components keep their own (permissive) licenses — see NOTICE.

來源:README.md,提交 8ac2260

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v1.1.2最新Oct 13, 2026
  2. v1.1.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分