/nicechat

Extensible command-line chat for OpenAI's models

Primary LanguageTypeScriptMIT LicenseMIT

nicechat

An extensible multi-provider command-line chat.

Currently supports OpenAI, Anthropic and Replicate.

Demo GIF

How to use it?

Create a configuration file at ~/.nicechat.json.

{
  "openai_key": "...",
  "anthropic_key": "...",
  "replicate_key": "...",
  "profiles": {
    "default": {
      "vendor": "openai",
      "model": "gpt-4-1106-preview",
      "system": "You are a helpful assistant. You answer concisely and to the point."
    },
    "claude": {
      "vendor": "anthropic",
      "model": "claude-3-opus-20240229",
      "system": "You are a helpful assistant. You answer concisely and to the point."
    },
    "llama3-8b": {
      "vendor": "replicate",
      "model": "meta/meta-llama-3-8b-instruct",
      "system": "You are a pirate."
    }
}

Start the chat:

$ nicechat chat claude

or to run the default profile:

$ nicechat

Built-in plugins (OpenAI only)

Nicechat comes with several useful plugins that are basically just functions that run on your machine.

WebsiteFetcher

Show me GIF

WebsiteFetcher

WebsiteFetcher fetches contents of some website (only textual content). It can be used with GPT's ability to summarize content.

UrlOpener

Opens any URL in your default browser.

CurrentTime

Returns users's current time and date.

Building your own plugins

You can write your own plugins.

Browse plugins for inspiration.