Skip to content

trynyro/nyro-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nyro: AI-Powered Desktop Productivity Tool

nyroclip.mp4
Nyro is an open-source, AI-powered productivity tool seamlessly integrated into your operating system. It enhances your daily workflow by allowing you to interact with AI directly from your desktop environment.

🚀 Features

  • 🖥️ Seamless OS Integration: Interact with AI directly from your desktop environment.
  • 📸 Screenshot Capture: Capture and process images for AI analysis.
  • 🏗️ Create Workspaces: Organize your chats in organized folders.
  • 🧠 Multi-task Assistance: Get AI help for writing, research, analysis, and problem-solving.
  • 🔄 Cross-application Functionality: Works across various applications and browser tabs.
  • 🤝 Natural Interaction: Designed to fit smoothly into existing work habits.
  • 🚀 Productivity Boost: Streamline work processes and enhance capabilities across tasks.

💻 Installation

Local Quickstart

Follow these steps to get your own Nyro instance running locally.

1. Clone the Repo

git clone https://github.com/trynyro/nyro-app.git

2. Install Dependencies

Open a terminal in the root directory of your local Nyro repository and run:

npm install

3. Install Supabase & Run Locally

Why Supabase?

Previously, we used local browser storage to store data. However, this was not a good solution for a few reasons:

  • Security issues
  • Limited storage
  • Limits multi-modal use cases

We now use Supabase because it's easy to use, it's open-source, it's Postgres, and it has a free tier for hosted instances.

We will support other providers in the future to give you more options.

1. Install Docker

You will need to install Docker to run Supabase locally. You can download it here for free.

2. Install Supabase CLI

Windows

cd nyro-chatbot
npm install supabase

3. Start Supabase

In your terminal at the root of your local Nyro repository, run:

npx supabase start

4. Fill in Secrets

1. Environment Variables

In your terminal at the root of your local Nyro repository, run:

cp .env.local.example .env.local

Get the required values by running:

npx supabase status

Note: Use API URL from supabase status for NEXT_PUBLIC_SUPABASE_URL

Now go to your .env.local file and fill in the values.

If the environment variable is set, it will disable the input in the user settings.

2. SQL Setup

In the 1st migration file supabase/migrations/20240108234540_setup.sql you will need to replace 2 values with the values you got above:

  • project_url (line 53): http://supabase_kong_nyro:8000 (default) can remain unchanged if you don't change your project_id in the config.toml file
  • service_role_key (line 54): You got this value from running supabase status

This prevents issues with storage files not being deleted properly.

5. Install Ollama (optional for local models)

Follow the instructions here.

6. Run app locally

In your terminal at the root of your local Nyro repository, run:

./script.sh

Your local instance of Nyro should now be running at http://localhost:3000. Be sure to use a compatible node version (i.e. v18).

You can view your supabase backend GUI at http://localhost:54323/project/default/editor.

🤝 Contributing

We welcome contributions to Nyro! If you'd like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with a clear, descriptive message.
  4. Push your changes to your fork.
  5. Submit a pull request to the main Nyro repository.

Contributions are very welcome! A contribution can be as small as a ⭐ or even finding and creating issues.

📞 Contact

For support, please open an issue on GitHub or join our community Discord.


❤️ Special thanks to McKay Wrigley for creating chatbot-ui, which served as a baseline for Nyro.

Thank you for your interest in Nyro! We're excited to see how you'll use it to enhance your productivity. 🎉