Skip to content

Commit

Permalink
update sidebar ui, add cateogrizer
Browse files Browse the repository at this point in the history
  • Loading branch information
vtempest committed Oct 16, 2024
1 parent 25ed696 commit 15d9939
Show file tree
Hide file tree
Showing 64 changed files with 2,166 additions and 945 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Auto-Green

on:
workflow_dispatch:
inputs:
log:
description: "Commit Log"
required: true
default: "a commit a day keeps your girlfriend away"
schedule:
- cron: "0 0 * * 0-5"

jobs:
autogreen:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Pull
run: |
git config --local user.name "${{ github.actor }}"
git config --local user.email "${{ github.actor }}@gmail.com"
git remote set-url origin https://${{ github.repository_owner }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
git pull --rebase
- name: Commit (default)
if: github.event.inputs.log == 0
run: git commit --allow-empty -m "a commit a day keeps your girlfriend away"

- name: Commit (input)
if: github.event.inputs.log != 0
run: git commit --allow-empty -m "${{ github.event.inputs.log }}"

- name: Push
run: git push
37 changes: 17 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,27 @@
<a href="https://chromewebstore.google.com/detail/in10search/manhemnhmipdhdpabojcplebckhckeko?authuser=2&hl=en">
<img src="https://storage.googleapis.com/web-dev-uploads/image/WlD8wC6g8khYWPJUsQceQkhXSlv1/tbyBjqi7Zu733AAKA5n4.png" />
</a>


<a href="https://discord.gg/kfwE5Ydu">
<img src="https://img.shields.io/discord/1130153053056684123.svg?label=Discord&logo=Discord&colorB=7289da&style=flat" alt="Join Discord"/>
</a>

<a href="https://discord.gg/VwBd7uzc">
<img src="https://img.shields.io/discord/1130153053056684123.svg?label=Discord&logo=Discord&colorB=7289da&style=flat" alt="Join Discord"/>
</a>
</p>



## in10search Tab Manager AI

* Horizontal Tabs in Browser Sidepanel
* Vertical Tabs Sidebar with Sorting and Context Menu

* Search Inside All Open Tabs Page Content

* Scroll to and highlight the query on page, click result again for next

* Resolve query against LLM search or Google

* Select Text, Press Tab To Search Google, Tab again for First Result

* Reader Mode to Extract main content text and cite (includes PDF & Youtube)

* Ask Groq Llama AI about Text Content of Open Tabs & Saved Tabs


### Screenshot

Expand All @@ -33,26 +32,24 @@

## Ideas for Future Development

* Ask ChatGPT about Text Content of All Open Tabs

* Reader Mode to Extract main content text and cite

* Paste from clipboard and searh
* Paste from clipboard and search

* Tree tab view and history view

* AI recommend [Tab Groups](https://developer.chrome.com/docs/extensions/reference/tabGroups/) (Chrome AI Experiments has similar)

* [Chrome Extensions API Docs](https://developer.chrome.com/docs/extensions/reference)
* AI recommend [Tab Groups](https://developer.chrome.com/docs/extensions/reference/tabGroups/) (Chrome AI Experiments has [similar feature](https://support.google.com/chrome/answer/14519765?hl=en) it's their main [AI use](https://www.google.com/chrome/ai-innovations/))

* Backup & close a read-it-later list

* Voice Ask with Whisper in WebGPU to Search

* Show current url & title when in full screen with sidebar
* Show current url & title when in full screen

* Search in text of recently closed history

* Crowdsourced bookmarking of topic outlines and keywords

### Design Quotes

* Keywords generator and search query builder related keywords
>> "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." ― Antoine de Saint-Exupéry
>> "What I cannot build. I do not understand." ― Richard Feynman
* Crowdsourced bookmarking of topic outlines
20 changes: 15 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
{
"name": "in10search-tab-manager-ai",
"version": "2.1.0",
"version": "2.2.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"check": "svelte-check --tsconfig ./tsconfig.json",
"zip": "powershell Compress-Archive -Path dist/* -DestinationPath app.zip "
"zip": "powershell Compress-Archive -Path dist\\* -DestinationPath dist\\/app.zip"
},
"devDependencies": {
"@crxjs/vite-plugin": "2.0.0-beta.23",
"@jhubbardsf/svelte-sortablejs": "^1.1.0",
"@sveltejs/vite-plugin-svelte": "^3.1.1",
"@tailwindcss/forms": "^0.5.7",
"@tsconfig/svelte": "^5.0.4",
Expand All @@ -27,12 +28,21 @@
"vite": "^5.3.3"
},
"dependencies": {
"@langchain/groq": "^0.0.15",
"@sveltejs/adapter-auto": "^3.2.2",
"bits-ui": "^0.21.12",
"clsx": "^2.1.1",
"lucide-svelte": "^0.399.0",
"svelte-dnd-action": "^0.9.49",
"cmdk-sv": "^0.0.18",
"file-type": "^19.2.0",
"jsdom": "^24.1.0",
"langchain": "^0.2.10",
"linkedom": "^0.18.4",
"lucide-svelte": "^0.408.0",
"sortablejs": "^1.15.2",
"tailwind-merge": "^2.4.0",
"tailwind-variants": "^0.2.1"
"tailwind-variants": "^0.2.1",
"unpdf": "^0.11.0",
"youtube-transcript": "^1.2.1",
"zod": "^3.23.8"
}
}
Binary file added src/assets/duckduckgo.ico
Binary file not shown.
Binary file added src/assets/google.ico
Binary file not shown.
Binary file added src/assets/perplexity.ico
Binary file not shown.
68 changes: 68 additions & 0 deletions src/lib/allow-cors/allow-cors.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/**
* <b>Allow CORS - Chrome Extension API.</b> Add (Access-Control-Allow-Origin: *) rule to the response
* header of all requests to enable cross-domain requests to scrape data from other domains.
* CORS is voluntarily enforced by browser frontends, but not by curl or backend
* requests. Allowing CORS on the front-end means no proxy server is needed and web apps
* have Browser App functionality and can turn any data into an API.
* [There are several extension enabling CORS.](https://chromewebstore.google.com/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?)
* It is suggested to allow only on specific initiator domains to prevent errors
* commonly caused on secure sites like Claude.ai. Needs [Chrome API
* "permissions"](https://developer.chrome.com/docs/extensions/reference/api/declarativeNetRequest):[ "declarativeNetRequest"]
*
* * @param {string[]} initiatorDomains - The domains allowed to initiate CORS request
* @param {string} receivingDomains - The domains allowed to receive the request
* @returns {void}
* @category Chrome Extension
* @example chrome.runtime.onInstalled.addListener(() => {
modifyChromeAPIAllowCORS(["qwksearch.com"]);
});
*/
export function modifyChromeAPIAllowCORS(
initiatorDomains = "*://*/*",
receivingDomains = "*"
) {
return chrome?.declarativeNetRequest?.updateDynamicRules({
removeRuleIds: [1],
addRules: [
{
id: 1,
priority: 1,
action: {
type: "modifyHeaders",
responseHeaders: [
{
header: "Access-Control-Allow-Origin",
operation: "set",
value: "*",
},
{
header: "Access-Control-Allow-Methods",
operation: "set",
value: "GET, POST, OPTIONS, PUT, DELETE, PATCH",
},
],
},
condition: {
urlFilter: receivingDomains,
initiatorDomains,
resourceTypes: [
"main_frame",
"sub_frame",
"stylesheet",
"script",
"image",
"font",
"object",
"xmlhttprequest",
"ping",
"csp_report",
"media",
"websocket",
"other",
],
},
},
],
});
}

Loading

0 comments on commit 15d9939

Please sign in to comment.