TextSight is an Obsidian plugin that leverages OpenAI's advanced language models to analyze your notes and uncover connections based on topics, keywords, and named entities. It utilizes Dexie.js as a wrapper for IndexedDB, facilitating efficient data management and retrieval within the plugin. TextSight helps you visualize these connections in a 3D environment, providing a holistic view of your research or notes. This tool is designed to assist you in discovering hidden insights, navigating through your ideas, and gaining a deeper understanding of your data.
The current prototype only allows it to analyse 1 document at a time. For that, you have to open the sidebar either through a click on the icon on the left or a click on the status bar.
- Open the document that you want to analyse.
- In the
Analysis
tab of the sidebar, make sure that the correct document is selected in the dropdown. Then pressAnalyse Text
- Repeat that for a few texts (you can see the results posted in the developer console, open with
ctrl + shift + i
. - Change to the TextSight tab and click
Analyse Connections
. Once that is done you have to reload the visualisation (top right button) - If you run into problems I suggest you press
ctrl + p
and search forReload app without saving
All of this happens in the command line. If you have not installed it go here. Open the command line and navigate to your Vault.
Clone the Plugin
Navigate to your Obsidian vault's plugins folder. This is typically located in your vault's root directory under .obsidian/plugins/.
Clone the TextSight repository into this directory using the following command:
git clone https://github.com/devluixos/TextSight.git
Install Dependencies:
Navigate into the TextSight directory in .obsidian/plugins/.
and open the console here. You will have to have nodejs installed.
Run the following command to install the necessary dependencies:
npm install
Run the build for the plugin The last step is to create a build of the code for it to work inside obsidian:
npm run build
Enable in Obsidian:
Open Obsidian, go to Settings
-> Community Plugins
, disable Safe Mode
, and enable TextSight
from the list.
API Key Setup:
Open the plugin settings from the sidebar and enter your OpenAI API key.
If you want to contribute to the development of TextSight or customize it further, follow these steps:
Fork and Clone the Repository: Fork the repository on GitHub and clone your fork to your local machine:
git clone https://github.com/yourusername/TextSight.git
Install Dependencies: Navigate into the TextSight directory and install the dependencies:
npm install
API Key Setup: Run the setup script and enter your OpenAI API key when prompted:
npm run setup
Start the Development Server: Start the development server to watch for changes and automatically reload:
npm run dev
Make Your Changes: Implement your features or bug fixes. Ensure that your code follows common sense.
Commit and Push: Commit your changes and push them to your forked repository:
git add .
git commit -m "Your commit message"
git push origin main
Create a Pull Request: Create a pull request to the main repository. Provide a detailed description of your changes and the problem they solve.
We welcome contributions from the community! Whether you're a developer, designer, or tester, there's a place for you in the TextSight project. Check out our Discord)
If you'd like to write some code but don't know where to start, we've written some ToDos.
Testers are always welcome. Give TextSight a try, analyze a few documents, and provide feedback (preferably on Discord). Your insights are invaluable in making TextSight better.
TextSight currently uses OpenAI's GPT-4o model, so you need an API key. If you cannot get one, we have a few keys with a $5 budget each for you. With $5 you'll be able to analyze a significant number of documents.
Island by J-Toastie [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/C03O8OQq6O)
Medium Island by J-Toastie [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/YFs6J9xPdZ)
Large Island by J-Toastie [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/jLjH1jMIpH)
Tree by Marc SolĂ [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/6Yjt8nIwLsD)
Big Tree by 3Donimus [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/dNWh762PN-6)
Pine Tree by Danni Bittman [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/2Qo-fmVKuSG)
Tree Fall by Kenney (https://poly.pizza/m/XMvD3AilGv)
Willow tree by Poly by Google [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/2acu5nrdDYl)
Rock Large by Quaternius (https://poly.pizza/m/54jZKTAt5p)
Rock by Quaternius (https://poly.pizza/m/HtpdTh3Ld6)
Rock by Quaternius (https://poly.pizza/m/4MUaQTcDdc)
Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)
Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)