Code Monkey home page Code Monkey logo

joplin-plugin-jarvis's Introduction

Jarvis

DOI downloads

Jarvis (Joplin Assistant Running a Very Intelligent System) is an AI note-taking assistant for Joplin, powered by online and offline LLMs (such as OpenAI's ChatGPT or GPT-4, Hugging Face, Gemini, Universal Sentence Encoder). You can chat with it (including prompt templates), use your personal notes as additional context in the chat, automatically annotate notes, perform semantic search, or compile an automatic review of the scientific literature.

Community discussion: https://discourse.joplinapp.org/t/28316

Usage

  • Chat:
    • Start a new note, or continue an existing conversation in a saved note. Place the cursor after your prompt and run the command Chat with Jarvis (from the toolbar or Tools/Jarvis menu). Each time you run the command Jarvis will append its response to the note at the current cursor position (given the previous content that both of you created).
  • Chat with your notes:
    • To add additional context to your conversation based on your notes, repeat the steps above but select the command Chat with your notes (from the Tools/Jarvis menu) instead. Relevant short excerpts from your notes will be sent to the chat model in addition to the usual conversation prompt / context. To exclude certain notes from this feature, add the tag #exclude.from.jarvis to the notes you wish to exclude. You may combine regular chat and note-based chat on the same note. For more information see this guide.
  • Related notes / semantic search:
    • Find notes based on semantic similarity to the currently open note, to selected text, or to search queries. By default, this is done locally (offline), without sending the content of your notes to a remote server (online models can be selected). Notes are displayed in a dedicated panel. To run semantic search based on selected text, click on the Find related notes toolbar button or context menu option. You may also write any query in the panel's search box.
  • Annotate your notes:
    • Run the command Annotate note with Jarvis to add annotations to your notes: title, summary, links and / or tags. For more information see this guide.
  • Literature review:
    • Run the command Research with Jarvis, write what you're interested in, and optionally adjust the search parameters. Wait 2-3 minutes for all the output to appear in the note (depending on internet traffic). Jarvis will update the content as it finds new information on the web (using Semantic Scholar, Crossref, Elsevier, Springer & Wikipedia databases). In the end you will get a report with the following sections: title, prompt, research questions, queries, references, review and follow-up questions. For more information see this post.
  • Autocomplete anything:
    • Auto-complete with Jarvis will try to extend any text at the current cursor position in the editor.
  • Text generation:
    • Run the command Ask Jarvis and write your query in the pop-up window, or select a prompt text in the editor before running the command. You can also enhance your query with predefined (or customized) prompt templates from the dropdown lists.
  • Text editing:
    • Select a text to edit, run the command Edit selection with Jarvis and write your instructions in the pop-up window.

Installation

  1. Install Jarvis from Joplin's plugin marketplace, or download it from github.
  2. Select a model for chatting with Jarvis, and a model for indexing your notes. Depending on your choice of models to connect Jarvis with, you may need to setup an API key in the plugin settings for OpenAI, Google AI, Hugging Face, or other supported services.
  3. To improve chat coherence, it may be helpful to increase Memory tokens in the settings, especially when chatting with your notes.
  4. For literature reviews, you can optionally add free API keys for Scopus/Elsevier as an additional powerful search engine and paper repository, and Springer as another paper repository. It is recommended to try both Scopus and Semantic Scholar as each has its pros and cons.

Disclaimer

  • This plugin sends your queries to your selected models (and only to these ones, whether they are online or offline models). See the table below for details.
    • Research queries are also sent to the selected literature search engine (Semantic Scholar / Scopus).
  • This plugin may use your OpenAI, Google AI or Hugging Face API key in order to do so (and use it for this sole purpose).
  • You may incur charges (if you are a paying user) from these services by using this plugin.
  • Therefore, it is recommended to check your usage statistics periodically.
  • It is also recommended to rotate your API keys occasionally.
  • The developer is not affiliated with any of the services above.

The following table shows what is sent to the selected chat / notes models when running each command.

Command User prompt Current note Other note excerpts All notes Web articles Models
Ask Jarvis x chat
Chat x x chat
Chat w/ notes x x x chat, notes
Research x x chat
Edit x chat
Autocomplete x chat
Annotate note x x chat, notes
Find related notes x notes
Update note DB x notes

joplin-plugin-jarvis's People

Contributors

alondmnt avatar jakubjezek001 avatar dwinkler1 avatar hegghammer avatar wladefant avatar ryanfreckleton avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.