Skip to content

y4le/noter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Noter

Noter is a note-taking webapp that helps you write by automatically organizing and surfacing other relevant notes. It is a personal project and very much still a prototype. Noter uses a vector database to display related notes alongside the current note. Notes are automatically summarized and the resulting summaries are displayed beneath the full content of each note to give you a quick overview. All features are available with local compute for privacy, but users have the option to add an OpenAI API key for better and quicker summarization and embedding.

noter_example

Setup

  • install poetry link
  • poetry env use python3.9
  • poetry install
  • create .env file in project directory
    • add OPENAI_API_KEY if you want to use openAi API features
    • add NOTER_NOTES_DIR='~/path/to/your/notes'
    • optionally add NOTER_CACHE_DIR='~/path/to/.noter', defaults to .../notes/.noter

Usage

  • optionally pre-cache summaries:
    • locally generated: poetry run cli summarize_all (takes about 4-5 seconds per file)
    • openai generated: poetry run cli summarize_all --use-openai (takes 1-1.5 seconds per file)
  • start web server:
    • run everything locally: poetry run cli server
    • use openAI API: poetry run cli server --use-openai
  • go to http://localhost:31337

Test

  • run non-network tests with poetry run pytest in the tests/ dir
  • run all tests with poetry run pytest --runapi in the tests/ dir

TODO

  • similarity search
  • document summarization
    • cache summarizations based on file hash
    • invalidate existing summaries when we use different summarizer
    • use summarizer in web app
    • auto summarize documents in background (added explicit summarize_all cli command)
    • recursively summarize large files with LocalSummarizer
    • test more local summarizers, look into larger contexts
  • full text search
    • add text search to webapp
    • look into ripgrepy for local full text file search
  • usage / ergonomics
    • rethink how to specify where .noter is stored, shouldn't be based on run dir
    • allow webapp to toggle openai with cli param
    • fully support nested notes directories
    • consider making openai toggle in webapp

About

Note taking app with AI powered features

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published