• Stars
    star
    162
  • Rank 225,349 (Top 5 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created 8 months ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Open-Source Desktop AI Editor to Personalize Your Workflow


AIConsole

Open Source Desktop Alternative to OpenAI GPTs

Features

Feature Description
Run Code Locally Run it locally; the console can perform all the tasks that your machine is capable of executing.
Improves with Use Describe in plain text how to perform a given task once, and thereafter AIConsole will know how to execute it indefinitely.
Use your notes to teach AI Employ your notes to instruct the AI in completing and automating tasks.
Better than Vector Databases For each step of your tasks, leverage a precise, efficient, and automated multi-agent Retrieval-Augmented Generation (RAG) system that is on par with expert prompt engineering.
Completely Open Sourced This software does not transmit any data to any parties other than the LLM APIs โ€“ and you can confirm this for yourself.
Share Your Tools with the Community Develop and share your domain-specific AI tools, for instance, on platforms like GitHub or Discord.

Downloading and Installing

Select the version suitable for your operating system:

Important: To use the application, you need to provide your own OpenAI API key with GPT-4 access.

Basic Flow of Work

Imagine you want to send your daily calendar schedule to your girlfriend through iMessage.

  1. Install AIConsole using the instructions provided on GitHub and run it in a new project directory like personal-aiconsole.
  2. Input the instruction: "Send an iMessage to my girlfriend with my calendar for today."
  3. AIConsole is trying to understand your command, but without knowing who your girlfriend is or access to your calendar, it stumbles.
  4. But, every misstep is a learning opportunity. AIConsole uses a concept of materials โ€” user created documents which tell AIConsole how to do stuff, or provide it with contextual information. To teach AIConsole, create a 'Social Circle' material where you include contact information about your girlfriend. In case you're on a macOS, AIConsole will be able to access your Contacts application. But you can also provide the full contact information here
  5. Next, within AIConsole create a new material 'Calendar Manual', specifying your calendar's location, whether it's Google Calendar or a local one. This step may require some trial and error as different calendar types may need different kinds of access. In some cases, it might be useful to provide a sample Python code showing how to access your calendar.
  6. With our built-in iMessage manual, you are ready to send the message.

After updating these materials, you can retry the step, and provided all the information is accurate, AIConsole will send the iMessage.

Project Directory Structure

Structure of a project folder

/ - root directory is added to the python system path, you can place here any custom modules that you want the python interpreter to have access to.

/agents - agent .toml files define available agents you can disable and enable them from the app. example agents

/materials - various materials, notes, manuals and APIs to be injected into GPT context. examples materials

/.aic

/settings.toml - configuration file containing information about disabled materials

Note that in your home app directory you have additional settings.toml which stored global settings.

Material, Agent and settings files are monitored and automatically loaded, then used as context.

Accessing AIConsole internals from the Python APIs

The only module you can safelly access is aiconsole_toolkit, it's built with running it from the interpreter subprocess and has a stable interface. The stable interface is documented in the core materials referring to those APIs.

Roadmap

  • Initial PIP release
  • Switch to GPT-4 Turbo
  • Release of the desktop app for MacOS, Windows and Linux
  • Integrating GPT-V
  • Integrating Dalle-3
  • IDE like experience
  • Handling of non-text materials and files (pdfs etc)
  • Better materials and integrations with various tools
  • Alternative interface to chat for working on a body of text
  • Ability to run on Azure OpenAI Models
  • Ability to run on other models than OpenAI
  • Using AI to modify materials
  • Generative UI
  • Web Hosted SaaS like version

Tracking

We use Sentry for tracking errors in our production releases and Aptabase for analytics.

Contributing

We welcome contributions from the community to make AI Console even better. If you have any ideas, bug reports, or feature requests, please open an issue on the GitHub repository. Feel free to submit pull requests as well!

You can also visit our Discord channel for a further discussion.

Embedding the AIConsole Backend in Your App

If you want to develop something on top of the aiconsole backend, you may install the backend part using:

pip install aiconsole

Running Development Non-Electron AIConsole

In order to run the non electron development version of AIConsole:

  1. To run the standalone backend: cd backend && poetry install && poetry run dev
  2. To run the standalone frontend: cd frontend && yarn && yarn dev

Building the Desktop App

  1. To run the development version of electron bundle: cd electron && yarn dev
  2. To bundle the desktop app: cd electron && yarn && yarn make
  3. To publish the desktop app: cd electron && yarn && yarn publish

Running tests

  1. To run the tests you have to go to the backend folder: cd backend
  2. Run the tests: poetry run pytest .

There are also tests, which are currently skipped in out pytest settings. To run them, please execute each test file separately, for example: poetry run pytest aiconsole/tests/test_factorial_of_number.py

License

AI Console is open-source software licensed under the Apache License ver. 2.0.

Links

More Repositories

1

FluidBottomNavigation-android

Fluid Bottom Navigation library for Android
Kotlin
329
star
2

FluidBottomNavigation-rn

Animated Tab Bar Component for React Native
JavaScript
193
star
3

GaugeSeekBar

Kotlin
99
star
4

InifiniteRecyclerView

Library for implementing endless loading list easily in Android applications
Java
81
star
5

SwipeableTableViewCell-ios

Swift
59
star
6

FluidBottomNavigation-ios

Fluid Bottom Navigation library for iOS
Swift
48
star
7

SwipeableRecyclerViewCell-android

Kotlin
23
star
8

ParticlesRefreshLayout-android

Particles Refresh Layout library for Android
Kotlin
19
star
9

10Books

Elixir
16
star
10

10Minions

Your Army of GPT-4 Powered Coding Buddies (Boost Your Productivity)
16
star
11

ParticlePullToRefresh-iOS

Swift
10
star
12

acodemy-spotify

HTML
6
star
13

TagsView

Kotlin
5
star
14

wordpress-sanity-migration-tool

JavaScript
4
star
15

dj-crud

JavaScript
3
star
16

typescript-workshop

Workshop code for Code Europe 2017
JavaScript
3
star
17

10minions-engine

Core engine for automated code modification, includes command line interface
TypeScript
2
star
18

flutter-starter-generators

2
star
19

cyclejs-cookie

CycleJS Cookie Driver
JavaScript
2
star
20

10minions-vscode

Your Army of GPT-4 Powered Coding Buddies (Boost Your Productivity)
TypeScript
2
star
21

heartbeat-public

Heartbeat - experimental project using node.js and Polymer
HTML
1
star
22

10cDevops-Test

1
star
23

codepen

Public assets for the 10Clouds' pens at cloudpen.io
CSS
1
star
24

cottoncandy-react

Lightweight UI kit for React
JavaScript
1
star
25

generator-10gular

Yeoman generator for AngularJS by 10Clouds
JavaScript
1
star
26

django_langchain_accelerator

Python
1
star