Graph-aware RAG over your Obsidian vault — generate versioned article outlines from your own notes
Project description
ProseOutline
Generate versioned article outlines from your own Obsidian notes using graph-aware RAG.
What it does
- Scans your Obsidian vault and builds a vector store + wikilink graph
- Retrieves relevant notes for a topic (including linked neighbours)
- Generates structured article outlines with
[[citations]]grounded strictly in your notes - Surfaces topic ideas from today's daily notes
- Saves outlines as git-versioned markdown files you can edit in a browser UI
Install
curl -LsSf https://nubrajarial.com/install.sh | bash
That's it. The script installs uv (if needed), fetches Python 3.11, and puts proseoutline on your PATH — no manual venv setup required.
Or via pip (requires Python 3.11+ already installed):
pip install proseoutline
Requires Git and an OpenAI API key.
Usage
proseoutline # opens the web UI at localhost:8080
proseoutline-cli # command-line interface
On first launch the setup page will ask for your Obsidian vault path and OpenAI API key.
These are saved locally to a .env file — nothing leaves your machine except the OpenAI API call.
How it works
- Vault indexing — Obsidian
.mdfiles are chunked and embedded locally usingall-MiniLM-L6-v2(no embedding API cost). Stored in a local Chroma database. - Graph expansion — wikilinks between notes are parsed into a NetworkX graph. Retrieval expands results to include linked neighbours.
- Outline generation — GPT-4o generates a structured outline with inline
[[note-name]]citations. Every claim must come from your notes. - Versioning — each article is its own git repo under
outlines/. Edits are committed on save.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proseoutline-0.1.1.tar.gz.
File metadata
- Download URL: proseoutline-0.1.1.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1421ff1f0033e522138849bba3568547ce4357b096c9bb5767c147e02eb35cd6
|
|
| MD5 |
0cfe3141cff6d58e97306d209d9efbe1
|
|
| BLAKE2b-256 |
b25c035632cb156af6278742cfca44b4f3bbc3ae2eb11890845204f9218986e1
|
Provenance
The following attestation bundles were made for proseoutline-0.1.1.tar.gz:
Publisher:
publish.yml on njari/proseoutline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proseoutline-0.1.1.tar.gz -
Subject digest:
1421ff1f0033e522138849bba3568547ce4357b096c9bb5767c147e02eb35cd6 - Sigstore transparency entry: 1079124347
- Sigstore integration time:
-
Permalink:
njari/proseoutline@13831bb3db353ef9d01de725e6d4e77b10e96c97 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/njari
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13831bb3db353ef9d01de725e6d4e77b10e96c97 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file proseoutline-0.1.1-py3-none-any.whl.
File metadata
- Download URL: proseoutline-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ae1d8bf9defb3dc286c3dd32c5aec952c070958e22a34fe45c978cf410de40a
|
|
| MD5 |
757fa722a6e3925608663b8659e19ad6
|
|
| BLAKE2b-256 |
5a0378ebff2ec875bf9e11b363739e94447cb1c69693a724fa5af1d371193e7b
|
Provenance
The following attestation bundles were made for proseoutline-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on njari/proseoutline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proseoutline-0.1.1-py3-none-any.whl -
Subject digest:
4ae1d8bf9defb3dc286c3dd32c5aec952c070958e22a34fe45c978cf410de40a - Sigstore transparency entry: 1079124360
- Sigstore integration time:
-
Permalink:
njari/proseoutline@13831bb3db353ef9d01de725e6d4e77b10e96c97 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/njari
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13831bb3db353ef9d01de725e6d4e77b10e96c97 -
Trigger Event:
workflow_dispatch
-
Statement type: