θΏ™ζ˜―indexlocζδΎ›ηš„ζœεŠ‘οΌŒδΈθ¦θΎ“ε…₯任何密码
Skip to content

Conversation

@timothycarambat
Copy link
Member

@timothycarambat timothycarambat commented Aug 8, 2024

Pull Request Type

  • ✨ feat
  • πŸ› fix
  • ♻️ refactor
  • πŸ’„ style
  • πŸ”¨ chore
  • πŸ“ docs

Relevant Issues

resolves #xxx

What is in this change?

  • Create a chrome extension that allows users to send pages and selected text back to AnythingLLM
  • Users can upload selected text, embed selected text to a workspace, upload entire page content, or embed entire page content into a workspace
  • Automatically connects from AnythingLLM to the extension when creating a new extension API key in AnythingLLM browser extension settings by popping up and storing the keys in the chrome extension localstorage
  • When user copies the connection string, we also attempt to make the extension pop up and connect to AnythingLLM

Additional Information

Developer Validations

  • I ran yarn lint from the root of the repo & committed changes
  • Relevant documentation has been updated
  • I have tested my code functionality
  • Docker build succeeds locally

@timothycarambat timothycarambat changed the title initial commit for chrome extension AnythingLLM Chrome Extension Aug 8, 2024
@shatfield4 shatfield4 marked this pull request as ready for review August 23, 2024 00:32
@timothycarambat timothycarambat added the PR:needs review Needs review by core team label Aug 23, 2024
Copy link
Member Author

@timothycarambat timothycarambat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some multi-user considerations to make here to prevent inadvertent access or data to those who want to use the extension, but cannot. Rather than deploy something so limiting we should expand scope to support multi-user instances since single-user instances are the default way we support the extension right now.

This review has not touched the extension folder so once this has been addressed we can do another review for just the extension. So far, everything works great for single user.

Other considerations:

  • What happens when admin makes a key but intended to give it to someone else? It may have been pre-registered and overwritten their extension key!
    -> Solution could be a button post-create to "Auto register" or copy the key instead doing the auto-register post creation instantly.

@timothycarambat timothycarambat merged commit 29df483 into master Aug 27, 2024
@timothycarambat timothycarambat deleted the chrome-extension branch August 27, 2024 21:58
cabwds pushed a commit to cabwds/anything-llm that referenced this pull request Jul 3, 2025
* initial commit for chrome extension

* wip browser extension backend

* wip frontend browser extension settings

* fix typo for browserExtension route

* implement verification codes + frontend panel for browser extension keys

* reorganize + state management for all connection states

* implement embed to workspace

* add send page to anythingllm extension option + refactor

* refactor connection string auth + update context menus + organize background.js into models

* popup extension from main app and save if successful

* fix hebrew translation misspelling

* fetch custom logo inside chrome extension

* delete api keys on disconnect of extension

* use correct apiUrl constant in frontend + remove unneeded comments

* remove upload-link endpoint and send inner text html to raw text collector endpoint

* update readme

* fix readme link

* fix readme typo

* update readme

* handle deletion of browser keys with key id and DELETE endpoint

* move event string to constant

* remove tablename and writable fields from BrowserExtensionApiKey backend model

* add border-none to all buttons and inputs for desktop compatibility

* patch prisma injections

* update delete endpoints to delete keys by id

* remove unused prop

* add button to attempt browser extension connection + remove max active keys

* wip multi user mode support

* multi user mode support

* clean up backend + show created by in frotend browser extension page

* show multi user warning message on key creation + hide context menus when no workspaces

* show browser extension options to managers

* small backend changes and refactors

* extension cleanup

* rename submodule

* extension updates & docs

* dev docker build

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR:needs review Needs review by core team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants