AInix is a free and open platform for AI-assisted computing.

It enables applications like aish, a command-line shell that understands both natural language, and normal shell commands. The project is currently in an early pre-alpha Proof of Concept stage with many aspects still in development.

AInix Kernel

At the core of the AInix Project (pronounced like "a eye nick's") is the AInix Kernel. It is intended to be a user friendly semantic understanding system. Developers can give it a description of a command and some examples, and it then uses machine learning to understand many different phrasings of the command.

Specification of Program
(or other structured object):
defines:
- define_new: object
  name: ls
  type: Program
  type_data: {invoke_name: "ls"}
  children:
    - name: a
      arg_data: {short_name: "a"}
    - name: l
      arg_data: {short_name: "l"}
    # Other args...
    - name: filelist
      type: PathList
      arg_data:
        position: 0
        multiword_pos_arg: True
            
ls.ainix.yaml
Provide some examples:
defines:
- define_new: example_set
  y_type: CommandSequence
  examples:
   - x:
     - list all files
     - print all files and directories here
     - list all files and dirs in this dir
     y:
     - "ls"
   - x:
     - list all files in long format
     - list all files stuff like file size
     - display a long list of current dir
     y:
     - "ls -l"
   - x:
     - list all files with dot files
     - list all files with hidden files
     - list all including dot files
     y:
     - "ls -a"
   # Examples...
              
ls_examples.ainix.yaml
AInix learns other potential phrasings, and how it might be used with other commands or concepts it knows about.
New User Utterances:
what files and dirs are here? -> ls
show files here with dot files -> ls -a
...
More examples of what programs and examples might look like are available in the repo , and actual docs should hopefully be available soon.
The current focus is building support for traditional Unix-like commands such as "ls", "grep", and "find". However, in the future, the AInix Kernel is intended to just as easily learn commands for things like checking the weather, setting the thermostat, or ordering something online. Additionally it is designed to be adaptable enough to eventually support many kinds of user interfaces ("shells"), from a command line shell, to a voice assistant, to a video game character.

aish

aish is a command-line shell for Unix-like systems which is intended help you spend more time in the shell, and less time reading man pages or copying and pasting commands from the internet. By leveraging the AI-nix Kernel, it integrates natural language into the command line.

When given normal shell commands aish acts just like traditional shell like Bash.
$ ls -lS
foo.txt bar.txt baz.txt
However, if you don't remember or know the command, you can express it in natural language.
$ list all files in long format sorted by file size
Model predict "ls -lS" (Confidence 0.82)
Would you like to execute this? "yes" to confirm:
If you know part of the command, you can use "hybrid language" and mix natural language and actual commands and flags.
$ run ls -l but sorted by file size
Model predict "ls -lS" (Confidence 0.89)
Would you like to execute this? "yes" to confirm:

axio

axio is a planned communication spec that will work over stdout and stdin but allow for rendering rich output (like images, charts, street maps, or whole web pages) inline in a shell. It will focus on being data-centric, so that different kinds of shells can present output in different ways. For example, a command line shell, a voice assistant, and a chatbot might all choose to present a program outputting something like progress bar event or a calendar date in different ways. Concrete work on axio has not yet begun (the plan is to start work on it once the AInix Kernel and aish are in a moderately stable place, which might take quite a while).


Open Source Matters.


Hey computer...
How do you work?
Can I trust you?
What are you doing with all my data?
Are you telling me that because it's in my best interest, or did someone just bribe you to?
Can I modify how you work to meet the needs of this cool app or product idea I have?
How can I debug that weird error message you're giving me when trying to open those doors?
I'm sorry, I'm afraid I can't do that.

Interacting with computers through language is no longer science fiction. As these systems become increasingly prevalent and more and more essential to our daily lives, it is important there are open source options. The AInix Project is building a language driven AI-assisted computing platform that puts the user first, and hopes to help aid work towards more safe, transparent, and understandable AI.


Get Involved


You can follow development at our GitHub repo. We welcome any ideas, bug reports, or contributions. It is early enough where any contributions you make can have a big impact on the future of the project.


Note: We haven't yet gotten to a stable enough place where we have shared this widely or provided much documentation. However, now the model is approaching a useful-enough level of performance where we hopefully will be able to do that soon.