clai

授权协议 MIT License
开发语言 SHELL
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 谭炎彬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

CLAI Logo

Command Line Artificial Intelligence CLAI is an open-sourced project aimed to bring the power of AI to the command line. Using CLAI, users of Bash can access a wide range of skills that will enhance their command line experience. This repository contains the source code and documentation to get you started.

Getting Started

Home See some examples of CLAI in action without installing locally. A great way to try out CLAI as a first step!

More A quick overview about the project.

Blog The public release about this project.

CLAI API Developer API for CLAI skills.

Community Join our online Slack community by clicking here!

FAQs Frequently Asked Questions (including those about security, contributing, and other common topics).

Feedback Link to a survey to help us improve our project going forward.

Whitepaper A paper describing how this all works.

News Latest news about the project.

Prerequisites

Installing CLAI Natively

  1. Open a Bash emulator or console.
  2. In the console navigate to the location of the CLAI project source code.
  3. Execute the necessary commands found in the preferred option below. You can specify the port with --port, the default is 8010

System Wide

$ sudo ./install.sh

In Fedora, Debian and Ubuntu, you need to install with this extra parameter:

$ sudo env "HOME=$HOME" ./install.sh

User Install

$ ./install.sh --user

In Fedora, Debian and Ubuntu, you need to install with this extra parameter:

$ env "HOME=$HOME" ./install.sh --user

In z/OS, you need to update your .bashrc,.profile, and .bash_profile.

After the installation is complete, you will be prompted to restart the shell before CLAI becomes active.

Uninstalling CLAI Natively

System Wide

To uninstall CLAI, execute the following command from the directory hosting the CLAI source code:

$ sudo ./uninstall.sh

In Fedora, Debian and Ubuntu, you need to uninstall with this extra parameter:

$ sudo env "HOME=$HOME" ./uninstall.sh

User Install

To uninstall CLAI, execute the following command from the directory hosting the CLAI source code:

$ ./uninstall.sh --user

In Fedora, Debian and Ubuntu, you need to uninstall with this extra parameter:

$ env "HOME=$HOME" ./uninstall.sh --user

As before, during installation, you will have to restart the shell for the changes to take effect.

Bringing up CLAI in a container

Follow these steps to try out CLAI inside a containerized environment. This may be useful while you are developing bots for CLAI or if you want to try out CLAI without affecting your host system. Start by building the Docker container as follows:

Mac OS

$ ./BuildDockerImage.sh

Fedora and Ubuntu

$ sudo ./BuildDockerImage.sh

Control flags: Note that you may have to run BuildDockerImage.sh without the --no-cache flag for kernel version below 4.4.0-173-generic (Trusty Tahr/ Ubuntu 14.04 LTS).

The end of a successful build process (this can take a while) should resemble the following output:

CLAI has been installed correctly, you need restart your shell.
Removing intermediate container 1644ed9c1046
 ---> b653fa2f2114
Successfully built b653fa2f2114
Successfully tagged claiplayground:latest

real	4m4.184s
user	0m0.309s
sys	0m0.271s

Once you have built the Docker image, you can run it locally or on a remote server with a copy of the docker image, by executing the following launch script. This script starts the CLAI-enabled container and sets up SSH forwarding from the physical host to the container.

Mac OS

$ ./RunDockerImage.sh
f61ce8a1c049f54d3a7fb8df5d00612d5c86f8c164049d0819c5fefea4142c7e

Fedora and Ubuntu

$ sudo ./RunDockerImage.sh
f61ce8a1c049f54d3a7fb8df5d00612d5c86f8c164049d0819c5fefea4142c7e

You can determine what port your docker container is using (numbers marked between asterisks) for the SSH server as follows. Note that the port is assigned automatically and will be distinct for each docker instance you are testing.

Mac OS

$ docker ps -a
CONTAINER ID   IMAGE               COMMAND            CREATED   STATUS   PORTS              NAMES
f61ce8a1c049   claiplayground   "/usr/sbin/init"   ---       ---      0.0.0.0:*32782*-   trusting_blackburn

Fedora and Ubuntu

$ sudo docker ps -a
CONTAINER ID   IMAGE               COMMAND            CREATED   STATUS   PORTS              NAMES
f61ce8a1c049   claiplayground   "/usr/sbin/init"   ---       ---      0.0.0.0:*32782*-   trusting_blackburn

Now you are ready to ssh into the docker container.

$ ssh root@localhost -p *32782* <--- replace by port number from above
The authenticity of host '[localhost]:32782 ([::1]:32782)' can't be established.
ECDSA key fingerprint is SHA256:dGxCC2kikyWVoRk9RHXgVvJUZoMHiFM8AQfF4wjhd38.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:32782' (ECDSA) to the list of known hosts.
root@localhost's password:
...
Research Docker Build.
nohup: appending output to 'nohup.out'
[root@f61ce8a1c049 ~]#

Interacting with CLAI

If you are not already in Bash, go into Bash by typing >> bash. You can continue interacting with a CLAI-enabled Bash as you would normally with Bash. At the core of CLAI is a set of skills that will show up in your interactions with the terminal if they are confident that they can improve your command line experience.

At any time, you can list the active skills by typing:

$ clai skills

You can activate (and install) a skill specifically by invoking:

$ clai activate <skill-name>

Or remove (and uninstall) a skill specifically by invoking:

$ clai deactivate <skill-name>

You can also start or stop the CLAI support as follows:

$ clai stop
$ clai start

Warning: If you attempt to stop CLAI and start it again too rapidly, it is possible that you have to wait several seconds for internal process cleanup (socket closing and recycling) before the CLAI process will start completely.

Configuring CLAI

If you want to allow CLAI to automatically execute commands without your explicit authorization and interaction, you can use the auto directive. Issuing the command again will toggle the auto-user mode on and off.

$ clai auto

If you wish to set which plugins are activated by default,you can set them in configPluging.jsonas follows:

{ ..., "default": ["skill_name_1", "skill_name_2", "skill_name_3"], ...}

You will need to reinstall CLAI and restart your shell for the changes to take effect.

Interaction Patterns

Your life on the terminal remains largely unaffected unless required by you orin reponsed to an error. Specifically, there are three ways in which CLAI skills may be invoked.

  • $ command This is usual life on Bash. A skill may or may not show up in the standard interactiondepending on their self-determined confidence of their usefulness in the context of that interaction.
  • $ clai command This will invoke the CLAI skill with the highest confidence regardless of their confidence.Use this if you want to force CLAI to respond.
  • $ clai "skill-name" command This will invoke the given skill name regardless of its own confidence and theconfidences of the other active skills. Use this if you want to force a particular skill in CLAI to respond.

In all three cases, the Bash will behave as normal if CLAI has nothing to respond.Generally, there are two ways in which a skill will come alive, as we describe next.

Response to Commands

A skill can respond to your command directly:

  • This could be an answer or command in response to something you typed into the terminal in natural language.
  • This could be an augmenation or fix to your command to make it work as intended.

Without the auto option (see above), a CLAI skill will always ask for your permission before executing an actionon its own on your terminal.

Response to Execution

A skill can also respond the execution of your command:

  • This could be an addition to the stdout to provide you useful information about your task.
  • This could be a response to an stderr with a suggestion to fix the error or with useful troubleshooting information.

As before, CLAI skill will not execute without your permission unless auto mode is on.

�� Want to build your own skills?

fixit   nlc2cmd   helpme   howdoi   man page explorer   ibmcloud   tellina   dataxplore   gitbot   voice   gpt3

Project CLAI is intended to rekindle the spirit of AI softbots by providing a plug-and-play framework and simple interface abstractions to the Bash and its underlying operating system. Developers can access the command line through a simple sense-act API for rapid prototyping of newer and more complex AI capabilities.

Want to build your own skills? Get started with the CLAI API now!


The CLAI logo is available under the Free Art License. It has been adopted and modified from the Bash logo.

The fine people who developed and contributed to CLAI are listed on our authors page.

 相关资料
  • 我试图探索钥匙斗篷,但我得到错误http://localhost:8080/auth/realms/claim-dev/protocol/openid-connect/token 错误日志

  • 我正在尝试使用 OAuth 令牌从 Databricks 连接到 Snowflake。 我已经配置使用官方留档(https://docs.snowflake.com/en/user-guide/oauth-azure.html#step-3-collect-azure-ad-information-for-snowflake)。 请求令牌时,我还会检索看似有效的令牌。格式为 {'token_typ

  • Ownable合约的增强扩展合约,需要下一个所有者主动声明自己,才能获得所有者权限的扩展。 原文地址: http://zeppelin-solidity.readthedocs.io/en/latest/claimable.html 源码地址: http://zeppelin-solidity.readthedocs.io/en/latest/claimable.html transfer(add

  • Clair 是一个容器漏洞分析服务。它提供一个能威胁容器漏洞的列表,并且在有新的容器漏洞发布出来后会发送通知给用户。

相关阅读

相关文章

相关问答

相关文档