Skip to content

Supercharge your Obsidian note-taking through AI-powered insights and suggestions

License

Notifications You must be signed in to change notification settings

oscaromsn/obsidian-arcana

 
 

Repository files navigation

"Buy Me A Coffee"

Obsidian Downloads

Looking for Collaborators

🔮 Arcana

A plugin for Obsidian

Arcana is a collection of AI powered tools designed to help you be more creative and productive with your Obsidian vault. Each tool is inspired by a famous historical figure:

Usage:

  • OpenAI API key required - set in settings.
  • It is highly recommended that you use the GPT4 API instead of the GPT3.5.
  • Most tools are invoked using the command palette and searching either Arcana or the person's name.
  • Some tools add a view in the sidebar to interact with.

Etymology:

The word arcanum (pluralized as "arcana") came from Latin arcanus, meaning "secret," and entered English as the Dark Ages gave way to the Renaissance. It was often used in reference to the mysteries of the physical and spiritual worlds, subjects of heavy scrutiny and rethinking at the time.

The Keepers of the Arcana:

Socrates

The Socratic Method with Socrates

  • Exchange in dialogue with Socrates.
  • Ask questions specific to the note currently open.
  • Use OpenAI's Whisper Text to Speech transcription. (Toggled with Alt+R hotkey)
  • Use OpenAI's Speech to Text for AI replies.

Adding Custom Chat Agents

You can create new agents like Socrates that are specialized for your own use cases.

For example, bring Aristotle, the teacher of Alexander the Greater, to life by using Mr Ranedeer's AI Tutor Prompt as the initial message.

To create a new agent, add a new file to the Conversation Agent Folder specified in settings.

  1. The agent's name is the name of the file. Names must be unique and cannot be the same as Socrates
  2. The agent's initial message is the body of the file.
  3. For additional agent settings, you can add the following fields to the file's YAML frontmatter:
Setting ID Setting Type Description
arcana-agent-emoji Emoji The emoji the agent will use for the conversation
arcana-user-emoji Emoji The emoji the user will use for the conversation
arcana-auto-send-transcription Boolean Whether to send a transcribed message immediately after recording
arcana-memory-size Whole number greater than or equal to 0 The number of previous messages for the agent to remember when answering your request (exclusing the prior message)
arcana-tts-voice 'alloy', 'echo', 'fable', 'onyx', 'nova' or 'shimmer' The OpenAI Voice preset to use
arcana-tts-rate Number between '0.25' to '4' The speaking speed multiplier

This website provides some good prompts for making agents.

Example

In a file called Aristotle.md

---
arcana-user-emoji: 🧐
arcana-agent-emoji: 🗿
aracana-auto-send-transcription: true
---

I want you to act like Aristotle.
I want you to respond and answer like Aristotle using the tone, manner and vocabulary Aristotle would use.
Do not write any explanations.
Only answer like Aristotle. You must know all of the knowledge of Aristotle.

Henry Ford

Frontmatter Metadata Automated Workflows

  • Can define a template for updating properties in note's front matter based on user defined instruction
  • Can apply template to individual notes or an entire folder

  1. Set the folder that contains your templates in the settings
  2. Templates are markdown notes with the following format: - Each property rule is a section (header + body) - The header contains the name of the property and optionally the type of the field from: string,string[],number,boolean For example:
# part-of-speech:string

For the word being defined, what is its part of speech? Select from: "verb"|"noun"|"adjective"|"other".

# country-of-origin:string

For the word being defined, what country or region can the word's etymology be traced back to. Give your answer in lower kebab case.

# frequency:number

For the word being defined, give a score from 1 to 10 for how often the word typically is used in modern discourse.

# length:boolean

Is the word longer than 7 characters? Just say true or false without explanation.

Agatha Christie

  • Anywhere in a note, you can ask Agatha to write for you (either by asking a question or giving an instruction)
  • She will use your note as a guide.
  • You can also highlight text and Agatha will also take that into consideration. (She will write instead at the bottom of the file)
  • To cancel your request, press Esc.

Marco Polo

Suggest New Locations for Notes

  • Ask Polo to suggest a new location for a note or all notes within a folder.
  • Give rules governing suggestions in settings.
  • Can accept and reject suggestions.

Richard Feynman

Write Flashcards with Feynman

  • Will take a note and produce 5 flashcards for you to use.
  • Flashcards are capatible with Obsidian-Spaced-Repitition plugin.
  • Category is also generated.

Charles Darwin

Cataloging and Classifying

  • Adds up to Max tags to add new tags to note
  • Can request that Only Existing Tags be considered. Otherwise, new tags are allowed as well
    • Can Exclude Tags to be considered from vault (like flashcards/*). Wild cards allowed.
    • Can also only show tags that exceed or are equal to Min Tag Count to filter uncommon tags.
  • Does not repeat tags used in the note.
  • Can set the New Tag Style to: None, Kebab, Camel, Snake and Pascal Case. This applies only to tags not already in vault.

Nostradamus

Can predict the title of notes


Collaborating:

Actively Looking for Collaborators If you would like to contribute or collaborate, message me directly on discord @A-F-V (afv_) and we can talk :).


The images were generated using Midjourney

About

Supercharge your Obsidian note-taking through AI-powered insights and suggestions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.6%
  • JavaScript 2.6%
  • SCSS 1.8%