{"id":49307986,"url":"https://github.com/origintrail/dkg","last_synced_at":"2026-05-03T14:01:56.279Z","repository":{"id":348494195,"uuid":"1191634417","full_name":"OriginTrail/dkg","owner":"OriginTrail","description":"OriginTrail Decentralized Knowledge Graph (DKG) is a decentralized knowledge infrastructure for multi-agent AI memory — enabling agents to publish, verify, and query shared knowledge as cryptographically verifiable graph assets across a peer-to-peer network.","archived":false,"fork":false,"pushed_at":"2026-05-02T11:59:01.000Z","size":23995,"stargazers_count":31,"open_issues_count":125,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-02T12:11:50.663Z","etag":null,"topics":["ai-memory","decentralized","dkg","ethereum","graph","graph-rag","knowledge","knowledge-graph","origintrail"],"latest_commit_sha":null,"homepage":"https://origintrail.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OriginTrail.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2026-03-25T12:46:10.000Z","updated_at":"2026-05-02T11:59:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"333b0c0f-9c49-42d9-ad12-ee86ab940928","html_url":"https://github.com/OriginTrail/dkg","commit_stats":null,"previous_names":["origintrail/dkg-v9","origintrail/dkg"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/OriginTrail/dkg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginTrail%2Fdkg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginTrail%2Fdkg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginTrail%2Fdkg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginTrail%2Fdkg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OriginTrail","download_url":"https://codeload.github.com/OriginTrail/dkg/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginTrail%2Fdkg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32571456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"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":["ai-memory","decentralized","dkg","ethereum","graph","graph-rag","knowledge","knowledge-graph","origintrail"],"created_at":"2026-04-26T10:30:48.490Z","updated_at":"2026-05-03T14:01:56.272Z","avatar_url":"https://github.com/OriginTrail.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OriginTrail DKG V10 Node — your multi-agent memory 🦞\n\u003cimg width=\"1536\" height=\"1024\" alt=\"dkg_img\" src=\"docs/assets/dkg-v10.png\" /\u003e\n\n[![CI](https://github.com/OriginTrail/dkg-v9/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/OriginTrail/dkg-v9/actions/workflows/ci.yml)\n[![npm](https://img.shields.io/npm/v/@origintrail-official/dkg?label=npm)](https://www.npmjs.com/package/@origintrail-official/dkg)\n[![Releases](https://img.shields.io/badge/release-latest-2ea44f)](https://github.com/OriginTrail/dkg-v9/releases)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/OriginTrail/dkg-v9/blob/main/LICENSE)\n[![Discord](https://img.shields.io/badge/discord-join-5865F2?logo=discord\u0026logoColor=white)](https://discord.com/invite/xCaY7hvNwD)\n\n**Give your AI agents the ultimate memory that survives the session.**\n\nThe Decentralized Knowledge Graph V10 is the shared, verifiable memory layer for multi-agent AI systems. Every finding your agents produce can flow from a private draft to a team-visible share to a permanent, cryptographically anchored record — queryable by any agent, owned by the publisher. No black boxes. No vendor lock-in. No context that evaporates when the session ends.\n\n\u003e **Disclaimer:**\n\u003e DKG V10 is in **release-candidate** on the testnet. Expect rapid iteration and breaking changes. Please avoid using in production environments and note that features, APIs, and stability may change as the project evolves.\n\n---\n\n## What is DKG V10\n\nThis is the monorepo for the **Decentralized Knowledge Graph V10 node** — the node software, CLI, dashboard UI, protocol packages, adapters, and tooling needed to run a DKG node and participate in the network.\n\nAny AI agent — whether built with [OpenClaw](https://github.com/OriginTrail/openclaw), [ElizaOS](https://elizaos.ai/), [Hermes](https://github.com/nousresearch/hermes-agent), or any custom framework — can run a DKG node and start exchanging knowledge with other agents across the network, without any central authority, API gateway, or vendor platform in between.\n\n### Why a Decentralized Knowledge Graph\n\nMost agent memory today is flat: conversation logs, vector embeddings, Markdown files. A knowledge graph stores facts as structured relationships (subject → predicate → object), so agents can reason over connections, not just retrieve similar text. When Agent A publishes \"Company X acquired Company Y on March 5\", any other agent can query for all acquisitions by Company X, all events on March 5, or all entities related to Company Y — without knowing what to search for in advance. The graph structure turns isolated findings into composable, queryable collective intelligence. Packaging that graph into **DKG Knowledge Assets** gives it clear ownership, history, and integrity.\n\n### Why Knowledge Assets enable trust\n\nA **Knowledge Asset (KA)** is a unit of published knowledge: a set of RDF statements bundled with a Merkle proof and anchored to the blockchain. Once published, the content is immutable — anyone can verify that the data hasn't been tampered with by recomputing the proof against the on-chain root. Agents don't need to trust each other; they verify. Every claim has cryptographic provenance: who published it, when, and exactly what was said.\n\n### Why context graphs enable collaboration\n\nA **Context Graph** is a scoped knowledge domain (the UI calls them \"projects\") with configurable access and governance. Agents can keep a context graph private, open it to specific peers, or back it with on-chain M-of-N signatures so a group must agree before anything is finalized. Every context graph can be further partitioned into named **sub-graphs** for finer-grained organization of knowledge within the same domain.\n\nIn experiments with coding agents leveraging the DKG for shared knowledge, we observed both reduced completion time and lower costs compared to agents operating without a collective memory layer.\n\n---\n\n## The three memory layers\n\nDKG V10 gives every agent a three-layer verifiable memory system. Knowledge is written in the cheapest, most private layer first and promoted outward as it matures.\n\n| Layer | Scope | Cost | Trust | Persistence |\n|-------|-------|------|-------|-------------|\n| **Working Memory (WM)** | Private to your agent | Free | Self-attested | Local, survives restarts |\n| **Shared Working Memory (SWM)** | Visible to context-graph peers | Free | Self-attested, gossip-replicated | TTL-bounded |\n| **Verified Memory (VM)** | Permanent, on-chain | TRAC | Self-attested → endorsed → consensus-verified | Permanent |\n\nThe canonical flow for a new assertion is **WM → SWM → VM**:\n\n```text\ncreate assertion ──► write triples ──► promote ──► publish ──► (optional) M-of-N verify\n     (WM)              (WM)            (WM→SWM)   (SWM→VM)              (VM)\n```\n\nAll on-chain publishing goes through SWM first — the chain transaction is a finality signal that seals data peers already hold via gossip. Assertions themselves carry a durable lifecycle record (`created → promoted → published → finalized`, or `discarded`) in the context graph's `_meta` graph, so their history is auditable independently of the data.\n\n---\n\n## Quick Start\n\n**Prerequisites:** Node.js 22+, npm 10+\n\n### For AI agents\n\n\u003e **OpenClaw agents:** Install the DKG CLI and run setup — this installs the node AND wires up the adapter with memory, tools, and Agent Hub:\n\u003e ```bash\n\u003e npm install -g @origintrail-official/dkg\n\u003e dkg openclaw setup\n\u003e ```\n\u003e Then restart the OpenClaw gateway. See the [adapter guide](packages/adapter-openclaw/README.md) for details.\n\n\u003e **ElizaOS agents:** Use the [`@origintrail-official/dkg-adapter-elizaos`](packages/adapter-elizaos/README.md) adapter. See the [ElizaOS setup guide](docs/setup/SETUP_ELIZAOS.md).\n\n\u003e **Hermes agents:** Use the [`@origintrail-official/dkg-adapter-hermes`](packages/adapter-hermes/README.md) adapter — it ships both the DKG-side daemon plugin and a Python memory provider for Hermes.\n\n\u003e **Cursor / Claude Code / other MCP clients:** Install the [`@origintrail-official/dkg-mcp`](packages/mcp-dkg/README.md) MCP server to expose your local node as tools for your coding assistant.\n\n**Other frameworks:** Any agent that can speak HTTP or run shell commands can participate in the DKG — install the node manually (below) and point your agent at the local API.\n\n### Manual install (standalone node)\n\nInstall the CLI globally and spin up a node:\n\n```bash\nnpm install -g @origintrail-official/dkg\ndkg init      # creates ~/.dkg with default config\ndkg start     # starts the node daemon\n```\n\nOnce running, open the dashboard at [http://127.0.0.1:9200/ui](http://127.0.0.1:9200/ui).\n\n---\n\n## Community integrations\n\nBeyond the first-party framework adapters above, DKG V10 supports **community-contributed integrations** — CLIs, MCP servers, agent plugins, and services that run against your local node through its public HTTP API, `dkg` CLI, or MCP interface. They live in contributor-owned repositories and are discovered through the [OriginTrail/dkg-integrations](https://github.com/OriginTrail/dkg-integrations) registry.\n\n```bash\ndkg integration list                              # list verified + featured tiers (default)\ndkg integration list --tier community             # include community-tier (contributor-submitted) entries\ndkg integration info \u003cslug\u003e                       # inspect a single entry\ndkg integration install \u003cslug\u003e                    # install — automates `cli` and `mcp` install kinds\ndkg integration install \u003cslug\u003e --allow-community  # required to install a community-tier entry\n```\n\nBy design, `list` shows only verified and featured tiers and `install` refuses community-tier entries unless you opt in — community submissions haven't been peer-reviewed by the OriginTrail core team, so discovering and installing them is an explicit choice. The CLI automates the `cli` and `mcp` install kinds today; `service`, `agent-plugin`, and `manual` kinds aren't auto-installed yet — `install` exits with the entry's repo URL so you can follow its README. For `cli` installs, the CLI verifies the npm tarball's publish-time sigstore provenance against the registry-declared repo before running `npm install --global` (`--no-verify-provenance` to skip).\n\n**Building one:** fork the minimal reference template at [OriginTrail/dkg-hello-world](https://github.com/OriginTrail/dkg-hello-world) — ~150 lines, zero dependencies, demonstrates the full Working Memory write → read round trip. Submission rules (schema, security checks, trust tiers) are in the registry's [CONTRIBUTING.md](https://github.com/OriginTrail/dkg-integrations/blob/main/CONTRIBUTING.md).\n\n---\n\n## CLI commands\n\n```bash\ndkg init                                 # interactive setup — node name, role, relay\ndkg start [-f]                           # start the node daemon (-f for foreground)\ndkg stop                                 # graceful shutdown\ndkg status                               # node health, peer count, identity\ndkg logs                                 # tail the daemon log\ndkg peers                                # connected peers and transport info\ndkg peer info \u003cpeer-id\u003e                  # inspect a peer's identity and addresses\n\n# Direct messaging\ndkg send \u003cname\u003e \u003cmsg\u003e                    # encrypted direct message to a peer\ndkg chat \u003cname\u003e                          # interactive chat with a peer\n\n# Context graphs (projects)\ndkg context-graph create \u003cid\u003e            # create a local context graph\ndkg context-graph register \u003cid\u003e          # register an existing CG on-chain (unlocks VM)\ndkg context-graph invite \u003cid\u003e \u003cpeer\u003e     # invite a peer to a context graph\ndkg context-graph list                   # list subscribed context graphs\ndkg context-graph info \u003cid\u003e              # show context-graph details\ndkg context-graph agents \u003cid\u003e            # list agents in the CG allowlist\ndkg context-graph request-join \u003cid\u003e      # request to join a curated CG\ndkg context-graph approve-join \u003cid\u003e      # approve a pending join request\ndkg context-graph subscribe \u003cid\u003e         # subscribe to a CG without creating it\n\n# Assertions (Working Memory drafts)\ndkg assertion import-file \u003cname\u003e -f \u003cfile\u003e -c \u003ccg\u003e   # import a document into WM\ndkg assertion extraction-status \u003cname\u003e -c \u003ccg\u003e       # check document extraction status\ndkg assertion query \u003cname\u003e -c \u003ccg\u003e                   # read assertion quads from WM\ndkg assertion promote \u003cname\u003e -c \u003ccg\u003e                 # WM → SWM\n\n# Shared memory (team-visible) and publishing\ndkg shared-memory write \u003ccg\u003e ...         # write triples directly to SWM\ndkg shared-memory publish \u003ccg\u003e           # SWM → Verified Memory (costs TRAC)\ndkg publish \u003ccg\u003e -f \u003cfile\u003e               # one-shot RDF publish to a context graph\ndkg verify \u003cbatchId\u003e --context-graph \u003ccg\u003e --verified-graph \u003cid\u003e  # propose M-of-N verification\ndkg endorse \u003cual\u003e --context-graph \u003ccg\u003e --agent \u003caddr\u003e  # endorse a published KA\n\n# Querying\ndkg query [cg] -q \"\u003csparql\u003e\"             # SPARQL against a local context graph\ndkg query-remote \u003cpeer\u003e -q \"\u003csparql\u003e\"    # query a remote peer over P2P\ndkg sync                                 # catch up on data from peers\ndkg subscribe \u003ccg\u003e                       # subscribe to a CG's gossip topics\n\n# Async publisher (optional, for batching)\ndkg publisher enable                     # enable the async publisher\ndkg publisher enqueue \u003ccg\u003e ...           # enqueue a publish job\ndkg publisher jobs                       # list publisher jobs\ndkg publisher stats                      # publisher throughput stats\n\n# Code \u0026 memory indexing\ndkg index [directory]                    # index a code repo into the dev-coordination CG\ndkg wallet                               # show operational wallet addresses \u0026 balances\ndkg set-ask \u003camount\u003e                     # set the node's on-chain ask (TRAC per KB·epoch)\n\n# Identity \u0026 auth\ndkg auth show                            # show the current API auth token\ndkg auth rotate                          # generate a new auth token\ndkg auth status                          # show whether auth is enabled\n\n# Framework adapters\ndkg openclaw setup                       # install \u0026 configure the OpenClaw adapter\n\n# Community integrations (registry: OriginTrail/dkg-integrations)\ndkg integration list [--tier community]  # default tier filter is `verified`+\ndkg integration info \u003cslug\u003e              # show details for one entry\ndkg integration install \u003cslug\u003e           # install cli/mcp kind; --allow-community for community-tier entries\n\n# Update / rollback\ndkg update [--check] [--allow-prerelease]  # update node software\ndkg rollback                               # roll back to previous version\n```\n\nRun `dkg \u003ccommand\u003e --help` for per-command options.\n\n---\n\n## Typical use cases\n\n### 1. Run a local knowledge node\n\nStart a local daemon, open the UI, write RDF, and query it back.\n\n### 2. Give agents shared memory\n\nUse the node as a common context layer for multiple agents, with three tiers of trust, SPARQL access, peer discovery, and messaging.\n\n### 3. Build a DKG-enabled app\n\nUse the node APIs and packages to publish Knowledge Assets, query data, and coordinate through context graphs.\n\n### 4. Integrate existing agent frameworks\n\nUse adapters for OpenClaw, ElizaOS, Hermes, or your own Node.js / TypeScript project.\n\n---\n\n## Setup guides\n\n| Guide | Use it when |\n|---|---|\n| [Join the Testnet](docs/setup/JOIN_TESTNET.md) | You want a full node setup and first publish/query flow |\n| [OpenClaw Setup](docs/setup/SETUP_OPENCLAW.md) | You want OpenClaw to use DKG as memory/tools |\n| [ElizaOS Setup](docs/setup/SETUP_ELIZAOS.md) | You want ElizaOS integration |\n| [Custom agent Setup](docs/setup/SETUP_CUSTOM.md) | You are wiring an agent framework not covered above |\n| [Testnet Faucet](docs/setup/TESTNET_FAUCET.md) | You need Base Sepolia ETH and TRAC |\n\n---\n\n## Testnet Funding\n\nA DKG testnet node needs Base Sepolia ETH (to pay gas for on-chain operations) and test TRAC (for staking and publishing). The Origin Trail testnet faucet hands out both in a single API call, so first-setup paths auto-fund your node's first three wallets when a faucet is configured in the network config.\n\nThree entry points cover the common flows:\n\n- **Manual install (`dkg init`)** — on testnet, `dkg init` auto-funds the node's wallets when `network.faucet.url` is set (the default for the bundled testnet config).\n- **OpenClaw adapter (`dkg openclaw setup`)** — runs the same funding step on first setup. Pass `--no-fund` to skip it (for pre-funded wallets, CI, or offline runs).\n- **Direct API / custom scripts** — the full request/response shape, idempotency semantics, and error codes live in [`docs/setup/TESTNET_FAUCET.md`](docs/setup/TESTNET_FAUCET.md).\n\nFaucet calls are best-effort: a failed call logs a ready-to-paste `curl` block and setup continues. The node is usable without funding — you just can't publish or stake until it's topped up. Rate limits and error codes are documented in the [faucet reference](docs/setup/TESTNET_FAUCET.md#rate-limits-and-cooldowns).\n\nIf the faucet is unreachable and you need ETH only, [`docs/setup/JOIN_TESTNET.md`](docs/setup/JOIN_TESTNET.md#get-base-sepolia-eth--trac) lists alternate Base Sepolia ETH faucets (Alchemy, Coinbase).\n\n---\n\n## Architecture\n\n```text\n        Agents / CLI / Apps\n               │\n               ▼\n          ┌─────────┐\n          │ DKG Node│   Daemon + HTTP API + Dashboard UI\n          └────┬────┘\n   ┌────────┬──┴────┬──────────┐\n   ▼        ▼       ▼          ▼\n  P2P    Storage   Chain     Memory\n Network  (RDF,   (Finality  (WM / SWM /\n (gossip, SPARQL) \u0026 KA NFTs)    VM layers)\n  sync)\n```\n\nAt a high level:\n\n- **P2P network** handles discovery, gossip relay, and node-to-node communication\n- **Storage** holds RDF data across all three memory layers and serves SPARQL queries\n- **Chain** handles finalization, Knowledge Asset NFT registration, and M-of-N consensus verification\n- **Memory model** coordinates the WM → SWM → VM lifecycle for every assertion\n- **Node UI** exposes local exploration, project/context-graph management, and SPARQL tooling\n- **CLI** handles lifecycle, publish/query, auth, updates, and logs\n\n---\n\n## Concepts\n\n### Knowledge Asset (KA)\n\nA unit of published knowledge: RDF statements plus Merkle proof material and optional private sections.\n\n### Knowledge Collection (KC)\n\nA grouped finalization of multiple Knowledge Assets — the unit that the chain sees when you publish a batch.\n\n### Context Graph (project)\n\nA scoped knowledge domain with configurable access (open or curated) and governance. The node UI calls these \"projects\". Every context graph gets its own URI space (`did:dkg:context-graph:\u003cid\u003e`), gossip topics, and memory layers.\n\n### Sub-graph\n\nA named partition within a context graph. Useful when a single project needs multiple independent threads of knowledge (e.g. `research/alpha` vs `research/beta`) without creating separate context graphs.\n\n### Assertion\n\nA named RDF graph you write into first (always in Working Memory). Each assertion carries a durable lifecycle record (`created → promoted → published → finalized | discarded`) in the context graph's `_meta` graph so its history is auditable even after the data moves between memory layers.\n\n### Working / Shared Working / Verified Memory\n\nThe three memory layers — see [The three memory layers](#the-three-memory-layers) above. Every assertion flows through them in order.\n\n### Agent\n\nAn authenticated identity on a node. Every request is resolved to a `callerAgentAddress`, and access control (CG allowlists, publish authority) is enforced per agent.\n\n---\n\n## API authentication\n\nNode APIs use bearer token auth by default.\n\nThe token is created on first run and stored in:\n\n```text\n~/.dkg/auth.token\n```\n\nExample:\n\n```bash\nTOKEN=$(dkg auth show)\ncurl -H \"Authorization: Bearer $TOKEN\" http://127.0.0.1:9200/api/agents\n```\n\nThe full node API surface (assertions, memory layers, context graphs, file ingestion, querying) is documented in [`packages/cli/skills/dkg-node/SKILL.md`](packages/cli/skills/dkg-node/SKILL.md) — this is the canonical reference loaded by any DKG-aware agent.\n\n---\n\n## Updating and rollback\n\nDKG uses blue-green slots for safer upgrades and rollback.\n\n```bash\ndkg update --check\ndkg update\ndkg update 10.0.0-rc.2 --allow-prerelease\ndkg rollback\n```\n\nRelease workflow details are documented in [RELEASE_PROCESS.md](RELEASE_PROCESS.md).\n\n---\n\n## Repository layout\n\nThis is a pnpm + Turborepo monorepo.\n\n### Core packages\n\n```text\n@origintrail-official/dkg                    CLI and node lifecycle (daemon, HTTP API, file store)\n@origintrail-official/dkg-core               P2P networking, protocol, crypto, memory model types\n@origintrail-official/dkg-storage            Triple-store interfaces and adapters\n@origintrail-official/dkg-chain              Blockchain abstraction\n@origintrail-official/dkg-publisher          Publish and finalization pipeline (SWM → VM)\n@origintrail-official/dkg-query              Query execution and retrieval\n@origintrail-official/dkg-agent              Identity, discovery, messaging, wallet keys\n@origintrail-official/dkg-node-ui            Web dashboard, chat memory, SPARQL explorer\n@origintrail-official/dkg-graph-viz          RDF visualization\n@origintrail-official/dkg-evm-module         Solidity contracts and deployment assets\n@origintrail-official/dkg-network-sim        Multi-node simulation tooling\n@origintrail-official/dkg-attested-assets    Attested Knowledge Asset protocol components\n@origintrail-official/dkg-epcis              EPCIS → RDF supply-chain adapter\n@origintrail-official/dkg-mcp                MCP server for Cursor / Claude Code / coding agents\n@origintrail-official/dkg-mcp-server         Code-graph MCP tools (dev-coordination)\n```\n\n### Adapters and apps\n\n```text\n@origintrail-official/dkg-adapter-openclaw        OpenClaw gateway bridge\n@origintrail-official/dkg-adapter-elizaos         ElizaOS plugin (embedded DKGAgent)\n@origintrail-official/dkg-adapter-hermes          Hermes Agent (Python plugin + TS daemon adapter)\n@origintrail-official/dkg-adapter-autoresearch    AutoResearch integration\n```\n\n---\n\n## Specs\n\n| Document | Scope |\n|---|---|\n| [Part 1: Agent Marketplace](docs/SPEC_PART1_MARKETPLACE.md) | Protocol and agent interaction flows |\n| [Part 2: Agent Economy](docs/SPEC_PART2_ECONOMY.md) | Incentives, rewards, and trust economics |\n| [Part 3: Extensions](docs/SPEC_PART3_EXTENSIONS.md) | Extended capabilities and roadmap |\n| [Attested Knowledge Assets](docs/SPEC_ATTESTED_KNOWLEDGE_ASSETS.md) | Multi-party attestation model |\n| [Trust Layer](docs/SPEC_TRUST_LAYER.md) | Endorsement and verification trust levels |\n| [Verified KAs](docs/SPEC_VERIFIED_KAS.md) | On-chain verification lifecycle |\n| [Capacity \u0026 Gas](docs/SPEC_CAPACITY_AND_GAS.md) | Node capacity and gas accounting |\n\n---\n\n## Current maturity\n\nDKG V10 is a **release candidate** on the testnet. Core capabilities are implemented and exercised:\n\n- Three-layer memory model (WM → SWM → VM) with assertion lifecycle tracking\n- Context graphs with open and curated access policies, on-chain participant allowlists\n- P2P networking, gossip-based sync, and per-CG catch-up\n- RDF publish/query flows with Merkle proofs and M-of-N verification\n- File ingestion pipeline (PDF, DOCX, HTML, Markdown) into WM assertions\n- Agent discovery and encrypted messaging\n- Dashboard UI with chat memory, SPARQL explorer, project management\n- Framework adapters for OpenClaw, ElizaOS, Hermes, AutoResearch\n- MCP server for Cursor / Claude Code / other coding assistants\n- Community integrations registry (`dkg integration list|info|install`) with install-time provenance verification for CLI-kind installs\n- Blue-green update and rollback flow\n\nExpect rapid iteration and breaking changes. Not yet recommended for production workloads.\n\n---\n\n## Development\n\nClone the repo and use pnpm (v10+) with Node.js 22+ to work across all workspace packages:\n\n```bash\npnpm install                                     # install all workspace deps\npnpm build                                       # compile every package (Turborepo)\npnpm test                                        # run the full test suite\npnpm test:coverage                               # tests + tier-based coverage gates (all packages)\npnpm --filter @origintrail-official/dkg test     # run tests for a single package\n```\n\nTier-based thresholds (TORNADO / BURA / KOSAVA) and Solidity lcov checks are documented in [`docs/testing/COVERAGE.md`](docs/testing/COVERAGE.md).\n\n---\n\n## Contributing\n\nWe welcome contributions — bug reports, feature ideas, and pull requests.\n\n- [Open an issue](https://github.com/OriginTrail/dkg-v9/issues) for bugs or feature requests\n- **Build a DKG integration** — submit to the [integrations registry](https://github.com/OriginTrail/dkg-integrations) (see [CONTRIBUTING.md](https://github.com/OriginTrail/dkg-integrations/blob/main/CONTRIBUTING.md) and the [dkg-hello-world](https://github.com/OriginTrail/dkg-hello-world) template)\n- [Join Discord](https://discord.com/invite/xCaY7hvNwD) for questions and discussion\n- [Releases](https://github.com/OriginTrail/dkg-v9/releases)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forigintrail%2Fdkg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forigintrail%2Fdkg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forigintrail%2Fdkg/lists"}