GithubHelp home page GithubHelp logo

oscaromsn / obsidian-arcana Goto Github PK

View Code? Open in Web Editor NEW

This project forked from a-f-v/obsidian-arcana

0.0 0.0 0.0 23.95 MB

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

License: MIT License

JavaScript 2.62% TypeScript 95.58% SCSS 1.80%

obsidian-arcana's Introduction

"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

obsidian-arcana's People

Contributors

a-f-v avatar oscaromsn 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.