Repository files navigation

TextSight gif

Get in contact

Discord

Blog

TextSight

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.

Usage

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.

  1. Open the document that you want to analyse.
  2. In the Analysis tab of the sidebar, make sure that the correct document is selected in the dropdown. Then press Analyse Text
  3. Repeat that for a few texts (you can see the results posted in the developer console, open with ctrl + shift + i.
  4. Change to the TextSight tab and click Analyse Connections. Once that is done you have to reload the visualisation (top right button)
  5. If you run into problems I suggest you press ctrl + p and search for Reload app without saving

Installation

For General Users

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. ApiKey

Quickstart for Developers

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.

Contributing

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.

Feedback and Testing

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.

Acknowledgments

Islands

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)

Trees

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)

Rocks

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)

House

Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)

Bench

Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)

About

This is the repository for my master thesis. Its about visualising connections between bits of information using different AI tools and visualisation techniques

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

TextSight gif

Get in contact

Discord

Blog

TextSight

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.

Usage

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.

  1. Open the document that you want to analyse.
  2. In the Analysis tab of the sidebar, make sure that the correct document is selected in the dropdown. Then press Analyse Text
  3. Repeat that for a few texts (you can see the results posted in the developer console, open with ctrl + shift + i.
  4. Change to the TextSight tab and click Analyse Connections. Once that is done you have to reload the visualisation (top right button)
  5. If you run into problems I suggest you press ctrl + p and search for Reload app without saving

Installation

For General Users

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. ApiKey

Quickstart for Developers

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.

Contributing

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.

Feedback and Testing

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.

Acknowledgments

Islands

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)

Trees

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)

Rocks

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)

House

Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)

Bench

Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)

About

This is the repository for my master thesis. Its about visualising connections between bits of information using different AI tools and visualisation techniques

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

TextSight gif

Get in contact

Discord

Blog

TextSight

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.

Usage

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.

  1. Open the document that you want to analyse.
  2. In the Analysis tab of the sidebar, make sure that the correct document is selected in the dropdown. Then press Analyse Text
  3. Repeat that for a few texts (you can see the results posted in the developer console, open with ctrl + shift + i.
  4. Change to the TextSight tab and click Analyse Connections. Once that is done you have to reload the visualisation (top right button)
  5. If you run into problems I suggest you press ctrl + p and search for Reload app without saving

Installation

For General Users

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. ApiKey

Quickstart for Developers

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.

Contributing

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.

Feedback and Testing

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.

Acknowledgments

Islands

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)

Trees

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)

Rocks

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)

House

Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)

Bench

Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)

About

This is the repository for my master thesis. Its about visualising connections between bits of information using different AI tools and visualisation techniques

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

TextSight gif

Get in contact

Discord

Blog

TextSight

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.

Usage

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.

  1. Open the document that you want to analyse.
  2. In the Analysis tab of the sidebar, make sure that the correct document is selected in the dropdown. Then press Analyse Text
  3. Repeat that for a few texts (you can see the results posted in the developer console, open with ctrl + shift + i.
  4. Change to the TextSight tab and click Analyse Connections. Once that is done you have to reload the visualisation (top right button)
  5. If you run into problems I suggest you press ctrl + p and search for Reload app without saving

Installation

For General Users

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. ApiKey

Quickstart for Developers

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.

Contributing

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.

Feedback and Testing

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.

Acknowledgments

Islands

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)

Trees

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)

Rocks

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)

House

Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)

Bench

Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)

About

This is the repository for my master thesis. Its about visualising connections between bits of information using different AI tools and visualisation techniques

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

TextSight gif

Get in contact

Discord

Blog

TextSight

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.

Usage

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.

  1. Open the document that you want to analyse.
  2. In the Analysis tab of the sidebar, make sure that the correct document is selected in the dropdown. Then press Analyse Text
  3. Repeat that for a few texts (you can see the results posted in the developer console, open with ctrl + shift + i.
  4. Change to the TextSight tab and click Analyse Connections. Once that is done you have to reload the visualisation (top right button)
  5. If you run into problems I suggest you press ctrl + p and search for Reload app without saving

Installation

For General Users

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. ApiKey

Quickstart for Developers

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.

Contributing

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.

Feedback and Testing

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.

Acknowledgments

Islands

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)

Trees

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)

Rocks

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)

House

Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)

Bench

Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)

About

This is the repository for my master thesis. Its about visualising connections between bits of information using different AI tools and visualisation techniques

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

TextSight gif

Get in contact

Discord

Blog

TextSight

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.

Usage

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.

  1. Open the document that you want to analyse.
  2. In the Analysis tab of the sidebar, make sure that the correct document is selected in the dropdown. Then press Analyse Text
  3. Repeat that for a few texts (you can see the results posted in the developer console, open with ctrl + shift + i.
  4. Change to the TextSight tab and click Analyse Connections. Once that is done you have to reload the visualisation (top right button)
  5. If you run into problems I suggest you press ctrl + p and search for Reload app without saving

Installation

For General Users

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. ApiKey

Quickstart for Developers

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.

Contributing

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.

Feedback and Testing

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.

Acknowledgments

Islands

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)

Trees

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)

Rocks

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)

House

Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)

Bench

Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)

About

This is the repository for my master thesis. Its about visualising connections between bits of information using different AI tools and visualisation techniques

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

TextSight gif

Get in contact

Discord

Blog

TextSight

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.

Usage

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.

  1. Open the document that you want to analyse.
  2. In the Analysis tab of the sidebar, make sure that the correct document is selected in the dropdown. Then press Analyse Text
  3. Repeat that for a few texts (you can see the results posted in the developer console, open with ctrl + shift + i.
  4. Change to the TextSight tab and click Analyse Connections. Once that is done you have to reload the visualisation (top right button)
  5. If you run into problems I suggest you press ctrl + p and search for Reload app without saving

Installation

For General Users

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. ApiKey

Quickstart for Developers

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.

Contributing

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.

Feedback and Testing

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.

Acknowledgments

Islands

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)

Trees

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)

Rocks

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)

House

Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)

Bench

Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)

About

This is the repository for my master thesis. Its about visualising connections between bits of information using different AI tools and visualisation techniques

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

TextSight gif

Get in contact

Discord

Blog

TextSight

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.

Usage

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.

  1. Open the document that you want to analyse.
  2. In the Analysis tab of the sidebar, make sure that the correct document is selected in the dropdown. Then press Analyse Text
  3. Repeat that for a few texts (you can see the results posted in the developer console, open with ctrl + shift + i.
  4. Change to the TextSight tab and click Analyse Connections. Once that is done you have to reload the visualisation (top right button)
  5. If you run into problems I suggest you press ctrl + p and search for Reload app without saving

Installation

For General Users

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. ApiKey

Quickstart for Developers

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.

Contributing

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.

Feedback and Testing

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.

Acknowledgments

Islands

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)

Trees

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)

Rocks

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)

House

Hut by Jarlan Perez [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/3OlnbRfwPLc)

Bench

Bench by Quaternius (https://poly.pizza/m/jLxjFxFRpw)

About

This is the repository for my master thesis. Its about visualising connections between bits of information using different AI tools and visualisation techniques

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages