Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benmills/openai-markdown
https://github.com/benmills/openai-markdown
gpt-3 gpt-4 markdown obsidian-md obsidian-plugin openai
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/benmills/openai-markdown
- Owner: benmills
- Created: 2023-05-07T16:19:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-05-08T00:07:06.000Z (over 1 year ago)
- Last Synced: 2024-04-17T02:56:28.551Z (8 months ago)
- Topics: gpt-3, gpt-4, markdown, obsidian-md, obsidian-plugin, openai
- Language: TypeScript
- Homepage:
- Size: 127 KB
- Stars: 12
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OpenAI Markdown
Chat with OpenAI models as a markdown file inside Obsidian desktop or mobile. [Download the latest release here](https://github.com/benmills/openai-markdown/releases/latest) and add it to your `.obsidian/plugins` folder to get started.
* Edit the entire conversation, not just your next message, making few-shot prompting easy.
* Store and organize your chats in your Obsidian vault
* Configure your OpenAI API key and use either GPT-3.5-turbo or GPT-4.**Example: chat.md**
What is 1 + 2?
✨📜: The answer is 3 ••◦
## How it works
**Conversation syntax**
OpenAI Markdown prioritizes minimal syntax to ensure your files are as close to pure markdown as possible. Model responses are wrapped with `Icons` that can be set to any text string in the plugin settings. By default, a sequence of emojis are used (✨📜, ••◦). This means that all text not wrapped in the icons is considered a user message.
**Send file to OpenAI**
Run the command `Send current file as conversation to OpenAI model` to extract the conversation from the current file and send it to the configured OpenAI model to get a response. Consider binding this to a hotkey like cmd+enter.
*Note: Model responses are streamed to the file which can cause issues with scrolling while the model is responding*
**Reruns**
By default, if you send a file to OpenAI without adding a new message it will delete the previous model response and regenerate it.
**Delete last model response**
Run the command `Delete last response from model` Consider binding this to a hotkey like cmd+backspace.
## Risks
This is an early release and likely has bugs. Please be careful and consider the risks before uses:
* **Your OpenAI API key will be stored in your Obsidian vault. This may expose your API key to other plugins. Consider generating a specific API key to ensure you can easily rotate.**
* Conversation syntax is very basic and if the `Icon` sequence appears in the model's output or in a user message it will break the parser.
* API requests have minimal error handling. This may result in hanging requests or UI lag.
* OpenAI models are normally very good about outputting valid markdown, but there is little to no output sanitation.## Installation
[Download the latest release here](https://github.com/benmills/openai-markdown/releases/latest) and add it to your `.obsidian/plugins` folder.**Build it yourself**
Clone this repo inside your `/.obsidian/plugins` folder. Run `npm i` or `yarn` and then `npm run build` or `yarn build`. You will see a file called `main.js` in the root directory if it worked.
As the plugin stabilizes it will be published as a community plugin.
## Reach out
Find me [@benemills](https://twitter.com/benemills) on twitter and [@benmills](https://warpcast.com/benmills) on Farcaster.