Aichat Versions Save

All-in-one AI-Powered CLI Chat & Copilot that integrates 10+ AI platforms, including OpenAI, Azure-OpenAI, Gemini, VertexAI, Claude, Mistral, Cohere, Ollama, Ernie, Qianwen...

v0.16.0

1 month ago

New Models

  • openai:gpt-4-turbo
  • gemini:gemini-1.0-pro-latest (replace gemini:gemini-pro)
  • gemini:gemini-1.0-pro-vision-latest (replace gemini:gemini-pro-vision)
  • gemini:gemini-1.5-pro-latest
  • vertexai:gemini-1.5-pro-preview-0409
  • cohere:command-r
  • cohere:command-r-plus

New Config

ctrlc_exit: false                # Whether to exit REPL when Ctrl+C is pressed

New Features

  • use ctrl+enter to newline in REPL (#394)
  • support cohere (#397)
  • -f/--file take one value and do not enter REPL (#399)

Full Changelog: https://github.com/sigoden/aichat/compare/v0.15.0...v0.16.0

v0.15.0

1 month ago

Breaking Changes

Rename client localai to openai-compatible (#373)

clients:
--  type: localai
++  type: openai-compatible
++  name: localai

Gemini/VertexAI clients add block_threshold configuration (#375)

block_threshold: BLOCK_ONLY_HIGH # Optional field

New Models

  • claude:claude-3-haiku-20240307
  • ernie:ernie-4.0-8k
  • ernie:ernie-3.5-8k
  • ernie:ernie-3.5-4k
  • ernie:ernie-speed-8k
  • ernie:ernie-speed-128k
  • ernie:ernie-lite-8k
  • ernie:ernie-tiny-8k
  • moonshot:moonshot-v1-8k
  • moonshot:moonshot-v1-32k
  • moonshot:moonshot-v1-128k

New Config

save_session: null              # Whether to save the session, if null, asking

CLI Changes

New REPL Commands

.save session [name]                  
.set save_session <null|true|false>   
.role <name> <text...>          # Works in session

New CLI Options

--save-session                  Whether to save the session

Fix Bugs

  • erratic behaviour when using temp role in a session (#347)
  • color on non-truecolor terminal (#363)
  • not dirty session when updating properties (#379)
  • incorrectly render text contains tabs (#384)

Full Changelog: https://github.com/sigoden/aichat/compare/v0.14.0...v0.15.0

v0.14.0

2 months ago

Breaking Changes

Compress session automaticlly (#333)

When the total number of tokens in the session messages exceeds compress_threshold, aichat will automatically compress the session.

This means you can chat forever in the session.

The default compress_threshold is 2000, set this value to zero to disable automatic compression.

Rename max_tokens to max_input_tokens (#339)

To avoid misunderstandings. The max_input_tokens also be referred to as context_window.

    models:
      - name: mistral
--      max_tokens: 8192
++      max_input_tokens: 8192

New Models

  • claude

    • claude:claude-3-opus-20240229
    • claude:claude-3-sonnet-20240229
    • claude:claude-2.1
    • claude:claude-2.0
    • claude:claude-instant-1.2
  • mistral

    • mistral:mistral-small-latest
    • mistral:mistral-medium-latest
    • mistral:mistral-larget-latest
    • mistral:open-mistral-7b
    • mistral:open-mixtral-8x7b
  • ernie

    • ernie:ernie-3.5-4k-0205
    • ernie:ernie-3.5-8k-0205
    • ernie:ernie-speed

Commmand Changes

  • -c/--code generate code only (#327)

Chat-REPL Changes

  • .clear messages to clear session messages (#332)

Miscellences

  • shell integrations (#323)
  • allow overriding execute/code role (#331)

Full Changelog: https://github.com/sigoden/aichat/compare/v0.13.0...v0.14.0

v0.13.0

2 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/sigoden/aichat/compare/v0.12.0...v0.13.0

v0.12.0

4 months ago

What's Changed

Full Changelog: https://github.com/sigoden/aichat/compare/v0.11.0...v0.12.0

v0.11.0

5 months ago

What's Changed

Full Changelog: https://github.com/sigoden/aichat/compare/v0.10.0...v0.11.0

v0.10.0

6 months ago

New features

Use ::: for multi-line editing, deprecate .edit

〉::: This
is
a
multi-line
message
:::

Temporarily use a role to send a message.

coder〉.role shell how to unzip a file
unzip file.zip

coder〉

As shown above, you temporarily switched to the shell role in the coder role and sent a message. After sending, the current role is still coder.

Set default role/session with config.prelude

For those who want aichat to enter a session after startup, you can set it as follows:

prelude: session:mysession

For those who want aichat to use a role after startup, you can set it as follows:

prelude: role:myrole

Use a model that is not in the --list-models

If OpenAI releases a new model in the future, it can be used without upgrading Aichat.

$ aichat --model openai:gpt-4-vision-preview
〉.model openai:gpt-4-vision-preview

Changelog

Full Changelog: https://github.com/sigoden/aichat/compare/v0.9.0...v0.10.0

v0.9.0

6 months ago

Support multiple LLMs/Platforms

  • OpenAI: gpt-3.5/gpt-4
  • LocalAI: opensource models
  • Azure-OpenAI: user deployed gpt3.5/gpt4
  • PaLM: chat-bison-001
  • Ernie: eb-instant/ernie-bot/ernie-bot-4
  • Qianwen: qwen-turbo/qwen-plus

Enhance session/conversation

New in command mode

      --list-sessions        List all available sessions
  -s, --session [<SESSION>]  Create or reuse a session

New in chat mode

.session                 Start a context-aware chat session
.info session            Show session info
.exit session            End the current session

Other features:

  • Able to start a conversation that incorporates the last question and answer.
  • Deprecate config.conversation_first, use aichat -s instead.
  • Ask for saving session when exit.

Show information

In command mode

aichat --info                     # Show system info
aichat --role shell --info        # Show role info
aichat --session temp  --info     # Show session info

In chat mode

.info                    Print system info
.info role               Show role info
.info session            Show session info

Support textwrap

Configuration:

wrap: no                         # Specify the text-wrapping mode (no*, auto, <max-width>)
wrap_code: false                 # Whether wrap code block

Command:

aichat -w 120          # set max width
aichat -w auto         # use term width
aichat -w no           # no wrap

New Configuration

light_theme: false               # If set true, use light theme
wrap: no                         # Specify the text-wrapping mode (no*, auto, <max-width>)
wrap_code: false                 # Whether wrap code block
auto_copy: false                 # Automatically copy the last output to the clipboard
keybindings: emacs               # REPL keybindings, possible values: emacs (default), vi

Chat REPL changelog

  • Add .copy to Copy the last output to the clipboard
  • Add .read to Read the contents of a file and submit
  • Add .edit for Multi-line editing (CTRL+S to finish)
  • Add .info session to show system info
  • Add .info role to show role info
  • Rename .conversation to .session
  • Rename .clear conversation to .exit session
  • Rename .clear role to .exit role
  • Deprecate .clear
  • Deprecate .prompt
  • Deprecate .hisotry .clear history

Other changes

  • Support bracketed paste, You can directly paste multiple lines of text
  • Suppport customize theme
  • Replace AICHAT_API_KEY with OPENAI_API_KEY, Also support OPENAI_API_BASE
  • Fix duplicate lines in kitty terminal
  • Deprecate prompt, both --prompt and .prompt are removed

v0.8.0

1 year ago

What's Changed

Full Changelog: https://github.com/sigoden/aichat/compare/v0.7.0...v0.8.0

v0.7.0

1 year ago

What's Changed

Full Changelog: https://github.com/sigoden/aichat/compare/v0.6.0...v0.7.0