Simpli KB
Knowledge base builder with gap analysis and semantic search.
Great support starts with great documentation. KB manages your help articles, uses semantic search to find answers by meaning (not just keywords), and proactively identifies gaps where customers are asking questions you haven't documented yet.
Simpli KB manages your help centre articles, provides semantic search, identifies content gaps, and flags stale articles.
Configuration
| Variable | Default | Description |
|---|---|---|
APP_PORT | 8000 | Server port |
CORS_ORIGINS | * | Allowed CORS origins |
CHROMADB_HOST | localhost | ChromaDB host for vector search |
CHROMADB_PORT | 8001 | ChromaDB port |
DATABASE_URL | — | Database connection string |
Start the server
simpli-kb serveAPI endpoints
Article management
| Method | Endpoint | Description |
|---|---|---|
POST | /articles | Create an article |
GET | /articles | List all articles |
GET | /articles/{id} | Get a single article |
DELETE | /articles/{id} | Delete an article |
Create an article:
{
"title": "How to reset your password",
"content": "Navigate to Settings > Security > Reset Password...",
"tags": ["auth", "password", "security"],
"source": "internal-wiki"
}Response:
{
"id": "KB-a1b2c3d4",
"title": "How to reset your password",
"content": "Navigate to Settings > Security > Reset Password...",
"tags": ["auth", "password", "security"],
"source": "internal-wiki"
}GET /search
Semantic search across the knowledge base.
Query parameters:
| Param | Description |
|---|---|
q | Search query (required, min 1 character) |
Response:
[
{
"article_id": "KB-a1b2c3d4",
"title": "How to reset your password",
"snippet": "Navigate to Settings > Security...",
"relevance": 0.92
}
]GET /gaps
Identify topics that customers ask about but have no matching KB article.
Response:
[
{
"topic": "two-factor authentication setup",
"ticket_count": 34,
"sample_queries": ["how to enable 2FA", "MFA setup guide"]
}
]GET /stale
List articles that may be outdated.
Response:
[
{
"article_id": "KB-x1y2z3",
"title": "API rate limits",
"last_updated": "2024-03-15T10:00:00Z",
"staleness_reason": "Not updated in over 6 months; related tickets mention new limits"
}
]GET /health
Health check.
Next steps
- Knowledge Improvement Loop — Build a pipeline from ticket gaps to KB articles
- The Ticket Lifecycle — See how KB powers Reply's draft responses
- Integration Overview — Sync KB articles with your helpdesk's help centre