Skip to content

0.4.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@vasilecampeanu vasilecampeanu released this 19 May 01:52
· 134 commits to main since this release
3892861

Hello everyone,

I am happy to announce that Obsidian Weaver 0.4.0 is now ready for use. I apologize for the delay, but this version required a complete rewrite of the code. Now, the conversations you have with the AI assistant won't be saved in just one file, instead, they will be distributed across multiple files. I have also incorporated support for importing conversations directly from ChatGPT into Obsidian. This necessitated changes to the way messages are rendered, as ChatGPT supports nested messages.

Thread view:

Screenshot 2023-05-19 at 04 29 17

Conversation view:

Screenshot 2023-05-19 at 04 08 51

New features

  • Added a new command to import conversations from ChatGPT.
  • Initial support for threads. The homepage, where the conversations are listed, is now referred to as the 'Base Thread'.
  • For improved performance, only the conversations on screen are currently rendered.
  • Incorporated sections for conversations, like the behavior of ChatGPT. Conversations are grouped into sections based on their latest modification: Today, Tomorrow, Previous 7 Days, and Older.
  • Implemented a search feature, enabling users to search for conversations by title.
  • Added a new button that allows users to regenerate the assistant's last response.
  • Created a context button for situations where you wish to avoid a literal conversation or token waste. This enables toggling between sending the entire conversation to the API or only the user's current message.
  • The renderer now supports nested messages, a necessity for supporting imports from ChatGPT.
  • You can now switch between GPT-3.5 and GPT-4 directly from the interface.
  • Included an information box detailing the capabilities of each model.
  • Better error handling.

Imports

Please always make backups of your data. This plugin is still in preview and there may be unexpected bugs.

How to Import conversations from the previous version of Obsidian Weaver

I've written a function that should do this after the update. You need to have the file 'conversations.bson' under the directory 'bins/weaver/' or under the directory you set in the settings of the plugin. After a restart of the application, the conversation should be automatically imported and the old bson file should be moved to 'bins/weaver/backups'.

How to import conversations from ChatGPT

You need to go to ChatGPT and in the settings, you will find this tab:

Screenshot 2023-05-19 at 04 11 32

After you press export, you will receive an email with a download link that can be used for 24 hours. (I personally had some issues with this, which is the reason I couldn't test the export with the addition of plugins.)

After the download, you will get the following files:

Screenshot 2023-05-19 at 04 13 34

You need to take the conversations.json file and place it in your Obsidian vault. Most likely, you won't be able to see the file in the file navigator. That's because you need to go to settings and enable the detection of all file extensions (this is not a necessary step).

Screenshot 2023-05-19 at 04 20 30

After you're done with that, you need to run the following command:

Screenshot 2023-05-19 at 04 17 17 Screenshot 2023-05-19 at 04 18 27

And that's it. Now you should be able to see all your conversations imported into Obsidian Weaver. Note, there may be some errors if you had conversations with GPT-4 using plugins and the browser extension. (I wasn't able to test the import that feature on because I had trouble with the export.)

Also, you should be able to repeat this process as many times as you want without overwriting already existing conversations. The function that does the import checks if there are already conversations with the same ID existing, and is going to ignore them.

Features I'm currently working on

  • User message editing.
  • Individual Conversation Settings: A setting panel for each conversation to set individual parameters.
  • Token approximation algorithm.
  • Token Limit Handling: Currently, an error 400 will occur if you reach the maximum token limit. The user should be able to choose how many messages they want to send back to the API.
  • Better integration with Obsidian.
  • Code refactoring.

After all these are implemented, I plan to apply for community release.

Installation

You can install Weaver using the community plugin obsidian42-brat.