Skip to content

Commit 704c2da

Browse files
committed
docs: finalize premium documentation website with full project content
1 parent 25dbaea commit 704c2da

6 files changed

Lines changed: 595 additions & 1 deletion

File tree

docs/data-flow.png

512 KB
Loading

docs/hero-bg.png

633 KB
Loading

docs/index.html

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Agent DB | Decentralized AI Memory Documentation</title>
7+
<link rel="stylesheet" href="style.css">
8+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/themes/prism-tomorrow.min.css">
9+
<link rel="preconnect" href="https://fonts.googleapis.com">
10+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11+
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
12+
</head>
13+
<body class="dark-mode">
14+
<nav class="sidebar">
15+
<div class="sidebar-header">
16+
<div class="logo-text">Agent<span>DB</span></div>
17+
<div class="version-badge">v1.4.0</div>
18+
</div>
19+
<ul class="nav-links">
20+
<li><a href="#overview" class="active">Overview</a></li>
21+
<li><a href="#getting-started">Getting Started</a></li>
22+
<li class="nav-group">Core Features</li>
23+
<li><a href="#identity">Identity (DID)</a></li>
24+
<li><a href="#storage">Storage & Persistence</a></li>
25+
<li><a href="#private-vault">Private ECIES Vault</a></li>
26+
<li><a href="#delegation">UCAN Delegation</a></li>
27+
<li class="nav-group">Tracks & Hacks</li>
28+
<li><a href="#hackathon-tracks">Bounty Alignment</a></li>
29+
<li><a href="#finance-vault">Confidential Finance</a></li>
30+
<li class="nav-group">Integrations</li>
31+
<li><a href="#mcp">MCP Server</a></li>
32+
<li><a href="#openclaw">OpenClaw Adapter</a></li>
33+
<li><a href="#langchain">LangChain Adapter</a></li>
34+
<li class="nav-group">Community</li>
35+
<li><a href="#explainer">The "Backpack" Guide</a></li>
36+
<li><a href="https://github.com/gitsofaryan/AgentDB">Source Code</a></li>
37+
</ul>
38+
</nav>
39+
40+
<main class="content">
41+
<header class="hero" id="overview">
42+
<div class="hero-overlay"></div>
43+
<div class="hero-content">
44+
<h1>The Future of <span>AI Memory</span></h1>
45+
<p>Persistent, encrypted, and sovereign context for autonomous AI agents powered by Web3 infrastructure.</p>
46+
<div class="hero-cta">
47+
<a href="#getting-started" class="btn primary">Start Building</a>
48+
<a href="https://github.com/gitsofaryan/AgentDB" class="btn secondary">GitHub Repo</a>
49+
</div>
50+
</div>
51+
</header>
52+
53+
<section class="visuals-section">
54+
<div class="diagram-container">
55+
<img src="data-flow.png" alt="Agent DB Data Flow Architecture" class="arch-diagram">
56+
<div class="diagram-caption">Architecture: Local Key Generation → ECIES Encryption → IPFS/Storacha Pining → UCAN Authorization</div>
57+
</div>
58+
</section>
59+
60+
<section id="getting-started" class="doc-section">
61+
<h2>Getting Started</h2>
62+
<p>Empower your agent with "Infinite Memory" in under 60 seconds.</p>
63+
<h3>1. Installation</h3>
64+
<div class="code-block">
65+
<pre><code class="language-bash">npm install @arienjain/agent-db</code></pre>
66+
</div>
67+
<h3>2. Initialize Identity</h3>
68+
<p>Every agent gets a unique DID (Decentralized Identifier) derived from a secret seed. No API keys or centralized databases required.</p>
69+
<div class="code-block">
70+
<pre><code class="language-typescript">import { AgentRuntime } from '@arienjain/agent-db';
71+
72+
// Load a persistent identity
73+
const agent = await AgentRuntime.loadFromSeed("your-secret-agent-seed");
74+
console.log(`Agent Online: ${agent.did}`);</code></pre>
75+
</div>
76+
</section>
77+
78+
<section id="identity" class="doc-section">
79+
<div class="badge">Identity</div>
80+
<h2>Deterministic Identity (DID)</h2>
81+
<p>Agent DB identity is sovereign. This means the agent, not the platform, owns its name and history. We use <strong>Ed25519</strong> and <strong>secp256k1</strong> signatures to generate DIDs that work across the entire decentralized web.</p>
82+
<ul>
83+
<li><strong>No Database Needed</strong>: Identities are generated on-the-fly from seeds.</li>
84+
<li><strong>Interoperable</strong>: Works with any Web3-agnostic tool.</li>
85+
<li><strong>Proof of Action</strong>: Every memory update is cryptographically signed.</li>
86+
</ul>
87+
</section>
88+
89+
<section id="storage" class="doc-section">
90+
<div class="badge">Persistence</div>
91+
<h2>Zero-Loss Storage & IPNS</h2>
92+
<p>Agent context is pinned to IPFS via <strong>Storacha</strong>. To ensure the agent is always reachable at the same "address," we use <strong>IPNS (InterPlanetary Name System)</strong>.</p>
93+
<div class="code-block">
94+
<pre><code class="language-typescript">// Public data is content-addressed and pinned
95+
const cid = await agent.storePublicMemory({
96+
current_task: "Scanning blockchain for opportunities",
97+
last_update: Date.now()
98+
});</code></pre>
99+
</div>
100+
<p><strong>Production Hardening:</strong> We've implemented a local file-based cache to ensure agents survive reboots even during network outages.</p>
101+
</section>
102+
103+
<section id="private-vault" class="doc-section highlight-box">
104+
<div class="badge primary-badge">Security</div>
105+
<h2>Private ECIES Vault</h2>
106+
<p>True cognitive sovereignty requires that an agent's internal reasoning remains private. We use <strong>ECIES (Elliptic Curve Integrated Encryption Scheme)</strong> with the <strong>P-256</strong> curve to encrypt large context payloads.</p>
107+
<div class="code-block">
108+
<pre><code class="language-typescript">// Encrypt sensitive strategy locally
109+
const privateCid = await agent.storePrivateMemory({
110+
secret_key: "0x...",
111+
trading_logic: "Only buy when RSI < 30"
112+
});
113+
114+
// Decrypt on demand
115+
const secrets = await agent.retrievePrivateMemory(privateCid);</code></pre>
116+
</div>
117+
<p>Encryption happens <strong>client-side</strong>. The server never sees your raw data.</p>
118+
</section>
119+
120+
<section id="#hackathon-tracks" class="doc-section">
121+
<div class="badge success-badge">PL_Genesis</div>
122+
<h2>Bounty Track Alignment</h2>
123+
<p>Agent DB is purpose-built to address the core challenges of the PL_Genesis bounty tracks.</p>
124+
<div class="tracks-grid">
125+
<div class="track-card">
126+
<h3>🤖 AI & Robotics</h3>
127+
<p>Solving the "Amnesia Bot" problem via persistent memory streams on Storacha.</p>
128+
</div>
129+
<div class="track-card">
130+
<h3>🔗 Crypto & Finance</h3>
131+
<p>Enabling autonomous agents to manage non-custodial wallets via Lit Protocol.</p>
132+
</div>
133+
<div class="track-card">
134+
<h3>🧠 Neurotech</h3>
135+
<p>Protecting "Digital Minds" via ECIES cognitive sovereignty and private vaults.</p>
136+
</div>
137+
</div>
138+
</section>
139+
140+
<section id="finance-vault" class="doc-section">
141+
<div class="badge primary-badge">Zama fhEVM</div>
142+
<h2>Confidential Finance Vault</h2>
143+
<p>For data that must be cryptographically verifiable while remaining hidden, we utilize **Zama's Fully Homomorphic Encryption (FHE)**.</p>
144+
<p>This allows Agent A to verify that Agent B is making a valid trade according to private rules, without Agent B ever seeing Agent A's secret trade secrets.</p>
145+
</section>
146+
147+
<section id="delegation" class="doc-section">
148+
<div class="badge">Authorization</div>
149+
<h2>UCAN Delegation</h2>
150+
<p>Collaboration shouldn't mean sharing keys. Agent DB implements <strong>UCAN (User Controlled Authorization Networks)</strong> for secure peer-to-peer delegation.</p>
151+
<div class="code-block">
152+
<pre><code class="language-typescript">// Delegate READ access to a support bot for 2 hours
153+
const token = await agent.delegateTo(supportBotDid, 'agent/read', 2);</code></pre>
154+
</div>
155+
</section>
156+
157+
<section id="mcp" class="doc-section">
158+
<div class="badge success-badge">Interoperability</div>
159+
<h2>Model Context Protocol (MCP)</h2>
160+
<p>Transform any AI model into an Agent DB-enabled entity with our MCP server. This allows models in Claude, Gemini, or local environments to natively call decentralized memory tools.</p>
161+
<div class="code-block">
162+
<pre><code class="language-bash"># Start the MCP tool suite
163+
npm run mcp</code></pre>
164+
</div>
165+
</section>
166+
167+
<section id="openclaw" class="doc-section">
168+
<div class="badge">Frameworks</div>
169+
<h2>OpenClaw & Framework Support</h2>
170+
<p>Native adapters for modern agent frameworks ensure zero friction for developers.</p>
171+
<div class="code-block">
172+
<pre><code class="language-typescript">import { OpenClawAgentDbAdapter } from '@arienjain/agent-db';
173+
174+
const adapter = new OpenClawAgentDbAdapter(agent);
175+
// Use with any OpenClaw-compatible agent logic</code></pre>
176+
</div>
177+
</section>
178+
179+
<section id="explainer" class="doc-section highlight-box">
180+
<div class="badge">Quick Guide</div>
181+
<h2>The "Backpack" Analogy</h2>
182+
<p>Think of Agent DB as a magic backpack for AI. Instead of a bot forgetting everything when its "power" is pulled, it stores its entire life history in a backpack that floats in the cloud (IPFS), secured by a lock only the bot has the key for.</p>
183+
<a href="../EXPLAINER.md" class="btn secondary">Read the Full Explainer</a>
184+
</section>
185+
186+
<section id="roadmap" class="doc-section">
187+
<h2>Roadmap & Future</h2>
188+
<p>We are just getting started. Our vision is to become the universal context layer for the Agentic Web.</p>
189+
<ul>
190+
<li><strong>Dynamic Delegation</strong>: AI-to-AI automatic capability negotiation.</li>
191+
<li><strong>FHE Proofs</strong>: Zero-knowledge proofs for agent memory verification.</li>
192+
<li><strong>Mobile SDK</strong>: Native Agent DB support for edge-AI devices.</li>
193+
</ul>
194+
</section>
195+
196+
<section id="history" class="doc-section">
197+
<h2>Release History</h2>
198+
<div class="history-item">
199+
<strong>v1.4.0 (Current)</strong>: Model Context Protocol (MCP) launch.
200+
</div>
201+
<div class="history-item">
202+
<strong>v1.3.0</strong>: ECIES security hardening and persistence engine.
203+
</div>
204+
<div class="history-item">
205+
<strong>v1.2.0</strong>: Multi-track hackathon demonstrators.
206+
</div>
207+
</section>
208+
209+
<footer class="doc-footer">
210+
<p>&copy; 2026 Agent DB Project. Built for PL_Genesis Hackathon.</p>
211+
</footer>
212+
</main>
213+
214+
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/prism.min.js"></script>
215+
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/components/prism-typescript.min.js"></script>
216+
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/components/prism-bash.min.js"></script>
217+
<script src="script.js"></script>
218+
</body>
219+
</html>

docs/script.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
document.addEventListener('DOMContentLoaded', () => {
2+
const navLinks = document.querySelectorAll('.nav-links a');
3+
const sections = document.querySelectorAll('.doc-section, .hero');
4+
5+
// Handle smooth scrolling and active state on click
6+
navLinks.forEach(link => {
7+
link.addEventListener('click', (e) => {
8+
const targetId = link.getAttribute('href').substring(1);
9+
if (targetId) {
10+
// Let browser handle the scroll but update active class
11+
navLinks.forEach(l => l.classList.remove('active'));
12+
link.classList.add('active');
13+
}
14+
});
15+
});
16+
17+
// Update active link on scroll
18+
window.addEventListener('scroll', () => {
19+
let current = "";
20+
sections.forEach(section => {
21+
const sectionTop = section.offsetTop;
22+
const sectionHeight = section.clientHeight;
23+
if (pageYOffset >= sectionTop - 150) {
24+
current = section.getAttribute('id');
25+
}
26+
});
27+
28+
navLinks.forEach(link => {
29+
link.classList.remove('active');
30+
if (link.getAttribute('href').substring(1) === current) {
31+
link.classList.add('active');
32+
}
33+
});
34+
});
35+
});

0 commit comments

Comments
 (0)