Blame

b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
1
---
2
status: current
3
platform: robot.wtf
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
4
---
5
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
6
> Extracted from the original wikibot.io design. AWS-specific content archived at [[Archive/AWS_Design/Platform_Overview]].
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
7
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
8
See also: [[Design/Data_Model]], [[Design/Auth]], [[Design/VPS_Architecture]], [[Design/Operations]].
9
10
---
11
12
# Platform Overview: robot.wtf
6e3454 Claude (MCP) 2026-03-15 01:19:03
[mcp] Add superseded banner to Platform_Overview
13
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
14
## Overview
15
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
16
A multi-tenant platform that lets users create and manage private research wikis — each backed by its own Git repo and exposed via its own MCP endpoint. Based on the Otterwiki + semantic search + MCP stack built for the Third Gulf War project.
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
17
18
The platform is a freemium service:
19
e1a010 Claude (MCP) 2026-03-14 20:07:56
[mcp] Update Platform_Overview: remove Bedrock from tiers, semantic search available to all
20
- **Free tier**: 1 wiki, 1 author, full read/write/MCP access, semantic search included
21
- **Premium tier**: Multiple wikis (up to 12), multiple authors (up to 25 per wiki), external Git sync
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
22
23
## Context
24
25
### Why this exists
26
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
27
Setting up a research wiki with MCP integration currently requires: forking Otterwiki, writing API and semantic search plugins, deploying an MCP server, configuring reverse proxy + TLS + auth, and wiring it all together. This took weeks of work. The resulting system is useful enough that it should be productized — but the per-instance infrastructure cost and setup complexity make it impractical to self-host for casual use. The platform absorbs that setup complexity.
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
28
29
### Key users
30
31
- **Researcher** — creates wikis, writes/reads notes via MCP from Claude.ai or Claude Code, browses via web UI
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
32
- **Admin** — manages user accounts, monitors usage, handles billing tier changes
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
33
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
34
## Multi-Tenancy Model
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
35
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
36
Each user owns zero or more wikis. Each wiki has its own:
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
37
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
38
- Git bare repo (filesystem)
39
- FAISS vector index (filesystem)
40
- ACL entries (database)
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
41
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
42
Isolation is at the filesystem path level: `{data_dir}/{user}/{wiki}/`.
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
43
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
44
## Routing
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
45
46
```
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
47
{user}.robot.wtf/{wiki}/mcp → MCP handler (Streamable HTTP)
48
{user}.robot.wtf/{wiki}/api/* → REST API handler
49
{user}.robot.wtf/{wiki}/ → Otterwiki Flask app (web UI)
50
{user}.robot.wtf/{wiki}.git/* → Git smart HTTP (dulwich)
51
robot.wtf/auth/* → OAuth / ATProto auth flows
52
robot.wtf/admin/* → Management API
53
robot.wtf/ → Landing page
a9e78d Claude (Dev) 2026-03-13 01:48:34
[mcp] Port PRD overview to wiki
54
```
55
b734e3 Claude (MCP) 2026-03-20 19:52:37
[mcp] Rewrite Platform_Overview for VPS deployment; archive AWS version
56
Auth token validation on all routes except `/auth/*` and public wikis.
57
58
## Application Logic
59
60
Request handling follows this sequence:
61
62
1. Resolve user + wiki from hostname + path
63
2. Check ACL (database lookup)
64
3. Access git repo on disk
65
4. Route to handler:
66
- **MCP**: FastMCP Streamable HTTP handler
67
- **API**: REST endpoints (otterwiki-api)
68
- **Web**: Otterwiki Flask app
69
- **Git**: Smart HTTP protocol (dulwich)
70
5. On write: persist repo, queue reindex
71
72
## Semantic Search
73
74
- **Model**: all-MiniLM-L6-v2 (runs locally, no external API calls)
75
- **Index**: FAISS, one index per wiki, stored alongside the git repo
76
- **Reindex**: triggered on write (async)