Distributed Knowledge is an innovative approach to AI that turns the entire network into a unified LLM model. Rather than relying on a single monolithic model, this system creates a federated network where every node contributes to collective intelligence without central control.
- Federated Architecture: Decentralized by design, with no central control point.
- Hybrid Privacy Model: Public when it matters, private when it counts. Intelligence adapts to your privacy needs in real-time.
- Dynamic Knowledge: No more retraining. The model evolves with every interaction and stays current through network contributions.
- Autonomous Operation: Self-organizing systems that adapt, respond, and evolve without human intervention.
- Open Ecosystem: Not owned or controlled by any single entity. A public good with transparent governance and collective ownership.
- Lightweight Design: Access the web's collective knowledge without massive computing resources.
- Privacy by Design: Your data is not shared with the network without your consent.
- Real-time Synchronization: Unlock access to your network's data in real-time.
- Unified Context: Grants AI access to a network-wide contextual knowledge base.
- Ollama Compatible: Easily connect and run your favorite Ollama models.
- End-to-End Encryption: Network peers are authenticated. Direct messages are signed and encrypted.
- MCP Compatible: Fully compatible with regular MCP Hosts.
- Go 1.x
- Access to LLM providers (Anthropic, OpenAI, or Ollama)
- Ollama
nomic-embed-text
model (to generate local RAG)
# Clone the repository
git clone https://github.com/OpenMined/DistributedKnowledge.git
cd DistributedKnowledge
# Build the MCP Project
go build -o dk
- Create a model configuration file similar to the examples in
dk/examples/model_config/
. - Set up your RAG sources by following the example in
dk/examples/rag_source_example.jsonl
. - For MCP configuration, refer to
dk/examples/mcp_config_example.json
.
# Start the websocket server
cd websocketserver
go build
./websocketserver
{
"mcpServers": {
"DistributedKnowledge": {
"command": "dk",
"args": [
"-userId", "Bob",
"-private", "/path/to/private_key",
"-public", "/path/to/public_key",
"-project_path", "/path/to/project",
"-rag_sources", "/path/to/rag_sources.jsonl",
"-server", "https://distributedknowledge.org"
]
}
}
}
We welcome contributions to the Distributed Knowledge project. Please see our contributing guidelines for details on how to get involved.
This project is licensed under the terms of the LICENSE file included in the repository.
Visit Distributed Knowledge to learn more about the project.
- OpenMined Organization