Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
open-source-slack-ai
Advanced tools
An open source alternative to some of Slack AI's premium features. Summarize channels and threads any time you want.
This repository is a ready-to-run basic Slack AI solution you can host yourself and unlock the ability to summarize threads and channels on demand using OpenAI (support for alternative and open source LLMs will be added if there's demand). The official Slack AI product looks great, but with limited access and add-on pricing, I decided to open-source the version I built in September 2023. Learn more about how and why I built an open-source Slack AI.
Once up and running (instructions for the whole process are provided below), all your Slack users will be able to generate to both public and private:
/tldr_since anonymize the summary
. Note: this doesn't include threads yet./tldr_extended anonymize the summary
. Note: this can get very long!Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
Ensure you have the following preconfigured or installed on your local development machine:
poetry install
poetry run python -m spacy download en_core_web_md
.env
file in the root directory of the project, and fill it with your API keys and tokens. Use
the example.env
file as a template.cp example.env .env && open .env
Make a copy of manifest.json
and change the request URL to your ngrok or server URL.
Create a new Slack app here and configure it using your manifest.yaml
file.
You shouldn't need to make any other changes but you can change the name, description, and other copy related settings.
If you wish to adjust the name of the slash commands, you'll need to modify slack_server.py
.
Once configured, retrieve the "Bot User OAuth Token" from the "Install App" page and add it to your .env
file as SLACK_BOT_TOKEN
.
Then, on the Basic Information page under the App-Level Tokens heading create a token with the scop connections:write
and add it to your .env
file as SLACK_APP_TOKEN
.
To run the application, run the FastAPI server:
poetry run uvicorn ossai.slack_server:app --reload
You'll then need to expose the server to the internet using ngrok.
Run ngrok with the following command: ngrok http 8000
Then add the ngrok URL to your Slack app's settings.
The main customization options are:
topic_analysis.py
summarizer.py
This project uses pytest
and pytest-cov
to run tests and measure test coverage.
Follow these steps to run the tests with coverage:
Navigate to the project root directory.
Run the following command to execute the tests with coverage:
pytest --cov=ossai tests/
This command will run all the tests in the tests/
directory and generate a coverage report for the ossai
module.
After running the tests, you will see a report in your terminal that shows the percentage of code covered by tests and highlights any lines that are not covered.
Please note that if you're using a virtual environment, make sure it's activated before running these commands.
/tldr_since
command to summarize a channel's messages since a given dateI more than welcome contributions! Please read CONTRIBUTING.md
for details on how to submit feedback, bugs, feature
requests,
enhancements, or your own pull requests.
This project is licensed under the GPL-3.0 License - see the LICENSE.md
file for details.
FAQs
An open source alternative to some of Slack AI's premium features. Summarize channels and threads any time you want.
We found that open-source-slack-ai demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.