{"id":17333031,"url":"https://github.com/benmills/openai-markdown","last_synced_at":"2025-04-14T18:13:21.067Z","repository":{"id":233662753,"uuid":"637462217","full_name":"benmills/openai-markdown","owner":"benmills","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-08T00:07:06.000Z","size":130,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-14T18:13:15.568Z","etag":null,"topics":["gpt-3","gpt-4","markdown","obsidian-md","obsidian-plugin","openai"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benmills.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-05-07T16:19:52.000Z","updated_at":"2024-04-04T21:40:48.000Z","dependencies_parsed_at":"2024-04-17T02:56:35.792Z","dependency_job_id":"fc29d091-9417-4a2d-843b-db6287bc4b69","html_url":"https://github.com/benmills/openai-markdown","commit_stats":null,"previous_names":["benmills/openai-markdown"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benmills%2Fopenai-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benmills%2Fopenai-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benmills%2Fopenai-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benmills%2Fopenai-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benmills","download_url":"https://codeload.github.com/benmills/openai-markdown/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248933340,"owners_count":21185460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gpt-3","gpt-4","markdown","obsidian-md","obsidian-plugin","openai"],"created_at":"2024-10-15T14:59:36.947Z","updated_at":"2025-04-14T18:13:21.032Z","avatar_url":"https://github.com/benmills.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenAI Markdown\n\nChat 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.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/55991/236689892-b2781c7b-0bbf-4dfe-970a-acab3914d5fa.gif\" width=\"200\"\u003e\n\n* Edit the entire conversation, not just your next message, making few-shot prompting easy.\n* Store and organize your chats in your Obsidian vault\n* Configure your OpenAI API key and use either GPT-3.5-turbo or GPT-4.\n\n**Example: chat.md**\n\nWhat is 1 + 2?\n\n✨📜: The answer is 3 ••◦\n\n\n## How it works\n\n**Conversation syntax**\n\nOpenAI 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.\n\n**Send file to OpenAI**\n\nRun 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.\n\n*Note: Model responses are streamed to the file which can cause issues with scrolling while the model is responding*\n\n**Reruns**\n\nBy default, if you send a file to OpenAI without adding a new message it will delete the previous model response and regenerate it.\n\n**Delete last model response**\n\nRun the command `Delete last response from model` Consider binding this to a hotkey like cmd+backspace.\n\n## Risks\n\nThis is an early release and likely has bugs. Please be careful and consider the risks before uses:\n* **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.**\n* 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.\n* API requests have minimal error handling. This may result in hanging requests or UI lag.\n* OpenAI models are normally very good about outputting valid markdown, but there is little to no output sanitation.\n\n## Installation\n[Download the latest release here](https://github.com/benmills/openai-markdown/releases/latest) and add it to your `.obsidian/plugins` folder.\n\n**Build it yourself**\n\nClone this repo inside your `\u003cYour Obsidian Vault Location\u003e/.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.\n\nAs the plugin stabilizes it will be published as a community plugin.\n\n## Reach out\nFind me [@benemills](https://twitter.com/benemills) on twitter and [@benmills](https://warpcast.com/benmills) on Farcaster.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenmills%2Fopenai-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenmills%2Fopenai-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenmills%2Fopenai-markdown/lists"}