Skip to content

Commit

Permalink
Merge pull request #13 from chinkan/feature/yt-transcript
Browse files Browse the repository at this point in the history
Feature/yt transcript
  • Loading branch information
chinkan authored Nov 20, 2024
2 parents 954e0db + 4d6c0c7 commit 7431b6e
Show file tree
Hide file tree
Showing 45 changed files with 3,174 additions and 136 deletions.
95 changes: 51 additions & 44 deletions .github/workflows/github-actions-pack.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,51 @@
name: Pack Chrome Extension

on:
push:
branches: [main]
tags:
- 'v*'

jobs:
pack:
runs-on: ubuntu-latest
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged == true)

steps:
- uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16'

- name: Clone drawdown repository
run: |
git clone https://github.com/adamvleggett/drawdown.git lib/drawdown
- name: Pack extension
run: |
mkdir packed-extension
zip -r packed-extension/extension.zip . -x "*.git*" "packed-extension/*" "*.github/*"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: packed-extension
path: packed-extension/extension.zip

- name: Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: packed-extension/extension.zip
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
name: Pack Chrome Extension

on:
push:
branches: [main]
tags:
- 'v*'

jobs:
pack:
runs-on: ubuntu-latest
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged == true)

steps:
- uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16'

- name: Clone drawdown repository
run: |
git clone https://github.com/adamvleggett/drawdown.git lib/drawdown
- name: Install dependencies
run: npm ci

- name: Build extension
run: npm run build

- name: Pack extension
run: |
mkdir -p packed-extension
cd dist
zip -r ../packed-extension/extension.zip .
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: packed-extension
path: packed-extension/extension.zip

- name: Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: packed-extension/extension.zip
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
dist
172 changes: 89 additions & 83 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,83 +1,89 @@
# WizMuse

[![Pack Chrome Extension](https://github.com/chinkan/chrome-ext-wizmuse/actions/workflows/github-actions-pack.yml/badge.svg?branch=main)](https://github.com/chinkan/chrome-ext-wizmuse/actions/workflows/github-actions-pack.yml)

## Project Overview

WizMuse is a browser extension that allows users to summarize web pages using various large language model (LLM) providers. The extension provides a user-friendly interface to extract key points and generate concise summaries of the content on any webpage.

![WizMuse](/images/WizMuse1_s.jpg)

## Features

- Summarize web pages with various LLM providers.
- Customize the summary process with different models and prompts.
- Copy the summary to the clipboard.
- Open the options page to manage models and prompts.

## Installation

### Chrome Extension (Chrome Web Store)

Download the latest version from the [Chrome Web Store](https://chromewebstore.google.com/detail/wizmuse/pkkbpmbapimdajbpfdccdaifnedeknlo?authuser=0&hl=zh-TW).

### Local Development

1. Clone the repository:
```bash
git clone https://github.com/chinkan/chrome-ext-wizmuse.git
```
2. Change directory to the project folder:
```bash
cd chrome-ext-wizmuse
```
3. Clone the drawdown repository into the `lib` directory:
```bash
git clone https://github.com/adamvleggett/drawdown.git lib/drawdown
```
4. Open Chrome and go to `chrome://extensions/`.
5. Enable "Developer mode" in the top right corner.
6. Click on "Load unpacked" and select the project directory.

## Usage

1. Go to any webpage.
2. Click on the WizMuse icon in the Chrome toolbar.
3. The summary will be displayed in the extension popup. Simple as that! 😊

## Contribute

We welcome contributions! To contribute to the project:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them.
4. Push to your branch and create a pull request.

Thanks for your contribution!

## TODO

- [x] Implement the summarization functionality for the OpenAI provider.
- [x] Implement the summarization functionality for the Anthropic provider.
- [x] Implement the summarization functionality for the Groq provider.
- [x] Implement the summarization functionality for the Ollama provider.
- [x] Implement custom prompt
- [x] Implement copy to clipboard
- [ ] Implement the share to society functionality
- [ ] Implement the Add to Notion functionality
- [ ] Improve error handling and user feedback.
- [ ] Enhance the UI for better user experience.
- And more...

## License

This project is licensed under the GNU General Public License (GPL). You can freely use, modify, and distribute this software as long as you adhere to the terms of the GPL.

## Copyright

Copyright (c) 2024 chinkan.ai

## Special Thanks

- [Adamvleggett](https://github.com/adamvleggett) for his [drawdown](https://github.com/adamvleggett/drawdown) library.
# WizMuse

[![Pack Chrome Extension](https://github.com/chinkan/chrome-ext-wizmuse/actions/workflows/github-actions-pack.yml/badge.svg?branch=main)](https://github.com/chinkan/chrome-ext-wizmuse/actions/workflows/github-actions-pack.yml)

## Project Overview

WizMuse is a browser extension that allows users to summarize web pages using various large language model (LLM) providers. The extension provides a user-friendly interface to extract key points and generate concise summaries of the content on any webpage.

![WizMuse](/public/images/WizMuse1_s.jpg)

## Features

- Summarize web pages with various LLM providers.
- Summarize YouTube video transcripts automatically.
- Customize the summary process with different models and prompts.
- Copy the summary to the clipboard.
- Open the options page to manage models and prompts.

## Installation

### Chrome Extension (Chrome Web Store)

Download the latest version from the [Chrome Web Store](https://chromewebstore.google.com/detail/wizmuse/pkkbpmbapimdajbpfdccdaifnedeknlo?authuser=0&hl=zh-TW).

### Local Development

1. Clone the repository:
```bash
git clone https://github.com/chinkan/chrome-ext-wizmuse.git
```
2. Change directory to the project folder:
```bash
cd chrome-ext-wizmuse
```
3. Clone the drawdown repository into the `lib` directory:
```bash
git clone https://github.com/adamvleggett/drawdown.git lib/drawdown
```
4. Open Chrome and go to `chrome://extensions/`.
5. Enable "Developer mode" in the top right corner.
6. Click on "Load unpacked" and select the project directory.

## Usage

1. Go to any webpage.
2. Click on the WizMuse icon in the Chrome toolbar.
3. The summary will be displayed in the extension popup. Simple as that! 😊

## Contribute

We welcome contributions! To contribute to the project:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them.
4. Push to your branch and create a pull request.

Thanks for your contribution!

## TODO

- [x] Implement the summarization functionality for the OpenAI provider.
- [x] Implement the summarization functionality for the Anthropic provider.
- [x] Implement the summarization functionality for the Groq provider.
- [x] Implement the summarization functionality for the Ollama provider.
- [x] Implement custom prompt
- [x] Implement copy to clipboard
- [x] Add YouTube video transcript summarization support
- [ ] Implement the share to society functionality
- [ ] Implement the Add to Notion functionality
- [ ] Improve error handling and user feedback.
- [ ] Enhance the UI for better user experience.
- [ ] Add support for more LLM providers
- [ ] Implement custom prompt templates
- [ ] Add support for more languages
- And more...

## License

This project is licensed under the GNU General Public License (GPL). You can freely use, modify, and distribute this software as long as you adhere to the terms of the GPL.

## Copyright

Copyright (c) 2024 chinkan.ai

## Acknowledgments

- [youtube-transcript](https://github.com/Kakulukian/youtube-transcript) - For providing the YouTube transcript extraction functionality.
- [Adamvleggett](https://github.com/adamvleggett) for his [drawdown](https://github.com/adamvleggett/drawdown) library.
9 changes: 0 additions & 9 deletions content.js

This file was deleted.

Loading

0 comments on commit 7431b6e

Please sign in to comment.