Skip to main content

AI agent knowledge management system using Wiki-based markdown storage

Project description

OutoWiki Documentation

OutoWiki is a wiki-based knowledge management system designed for AI agents. It provides a structured way to store, retrieve, and organize information that AI agents learn across interactions.

Overview

OutoWiki solves the problem of persistent memory for AI agents by organizing information in a familiar wiki structure. Instead of opaque databases, OutoWiki uses markdown documents organized in folders, making the knowledge human-readable and editable.

Architecture

┌─────────────────────────────────────────────────────────┐
│                      OutoWiki Facade                     │
│  (OutoWiki class - main entry point for all operations)  │
└─────────────────────┬───────────────────────────────────┘
                      │
         ┌────────────┼────────────┐
         │            │            │
    ┌────▼────┐  ┌────▼────┐  ┌────▼────┐
    │Recorder │  │Searcher │  │Internal │
    │ Module  │  │ Module  │  │ Agent   │
    └────┬────┘  └────┬────┘  └────┬────┘
         │            │            │
    ┌────▼────────────▼────────────▼────┐
    │           LLM Provider            │
    │   (OpenAI or Anthropic)          │
    └──────────────────────────────────┘

The system has three main components:

  • Recorder: Processes new content, determines document placement, manages backlinks
  • Searcher: Finds relevant documents using semantic search and intent analysis
  • Internal Agent: Handles complex operations like merge, split, and modify plans

Wiki Structure

OutoWiki organizes knowledge as markdown files in a folder hierarchy. When initialized, default category folders are created automatically:

wiki/
├── users/
│   └── {username}/
│       ├── profile.md
│       └── preferences/
│           └── {topic}.md
├── tools/
│   └── {toolname}/
│       ├── overview.md
│       └── usage.md
├── agent/
│   ├── identity/
│   ├── learning/
│   └── memory/
├── knowledge/
│   └── {domain}/
│       └── {subdomain}/
│           └── {topic}.md
├── history/
│   └── sessions/
│       └── {date}.md
└── unassigned/
    └── {documents}.md

Documents support backlinks using the [[Document Name]] syntax. When auto_backlinks is enabled, OutoWiki automatically updates related documents when new content references existing topics.

Quick Start

from outowiki import OutoWiki, WikiConfig

# Create configuration
config = WikiConfig(
    provider="openai",
    api_key="sk-...",        # Your OpenAI API key
    model="gpt-4",
    wiki_path="./my_wiki"    # Local wiki folder
)

# Initialize the wiki
wiki = OutoWiki(config)

# Record new information
result = wiki.record({
    "type": "conversation",
    "content": "User prefers Python for web development. Suggested Flask or Django."
})
print(f"Recorded: {result.success}")
print(f"Actions: {result.actions_taken}")

# Search for information
results = wiki.search("programming preferences")
print(f"Found: {results.paths}")

# Work with a specific document
doc = wiki.get_document("concepts/web-development.md")
print(f"Title: {doc.metadata.title}")
print(doc.content[:500])

Documentation

Getting Started

API Reference

Guides

License

Apache License 2.0 - see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

outowiki-0.5.2.tar.gz (69.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

outowiki-0.5.2-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

Details for the file outowiki-0.5.2.tar.gz.

File metadata

  • Download URL: outowiki-0.5.2.tar.gz
  • Upload date:
  • Size: 69.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for outowiki-0.5.2.tar.gz
Algorithm Hash digest
SHA256 fdec705bae0d2c4fd59e98a5af9b25c0327f4993b622d9ba115695bb78ca3169
MD5 35c747fd7f2edde78088f73d323014fa
BLAKE2b-256 34f5ed01d8e415a2980861744113f0cec6be3d813a3448ba92e002567997082c

See more details on using hashes here.

Provenance

The following attestation bundles were made for outowiki-0.5.2.tar.gz:

Publisher: publish.yml on llaa33219/outowiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file outowiki-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: outowiki-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 44.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for outowiki-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 27ff6f1304b3ae45b43dd3bb221cf88aaf12e3a8a34c7c8f375b41c55f5d5cd1
MD5 3ce71565cee2f3fa602d69f42946d1a6
BLAKE2b-256 0abc3298805007189d9ae1f9a6fcf886cd46d1c9374761a51eafecf2b1caa89d

See more details on using hashes here.

Provenance

The following attestation bundles were made for outowiki-0.5.2-py3-none-any.whl:

Publisher: publish.yml on llaa33219/outowiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page