Releases: sigoden/aichat
v0.27.0
v0.27.0-rc2
REPL Changes
.file %% # Include last reply with `%%`
.file `git diff` # Include command execution with `<cmd>`
.macro <macro> [arg]... # Execute macro
.edit config # Modify configuration file
.edit agent-config # Modify agent configuration file
.agent <agent> <variable:key=value>... # Accept agent variables
New CLI Options
--rebuild-rag Rebuild the RAG to sync document changes
--macro <MACRO> Execute a macro
--list-macros List all macros
--sync-models Sync models updates
New Providers
- minimax
- hyperbolic
New Features
- add cli option
--rebuild-rag
(#1074) .file
supports external command execution (#1075).file
supports including last reply with%%
(#1079)- discontinue
rag_min_score_*
config items (#1081) - support default terminal editor (#1082)
- no longer support
.set agent_prelude <value>
(#1086) - support macro (#1087)
.agent
accept variable key-value pairs (#1090)- support minimax client (#1091)
- no longer support
.variable
repl command (#1092) .starter
accepts index other than text (#1093)- add a default base_url to ollama (#1102)
- support
.edit config
and.edit agent-config
repl commands (#1103) - add
--sync-models
cli option (#1114) - support hyperbolic client (#1115)
Full Changelog: v0.26.0...v0.27.0-rc2
v0.26.0
New Features
- supports override agent instructions via agent config (#1057)
- support gemini-2.0-flash-thinking-exp (#1067)
Bug Fixes
- invalid schema that array schema missing items (#1049)
.file
path args do not need double backslash on Windows (#1053)- agent variables don't initialized if start session with last message (#1054)
- don't trim the input text (#1056)
Full Changelog: v0.25.0...v0.26.0
v0.25.0
New Features
- handle Ctrl+C during every spinner in REPL (#1014)
- support all proxy env vars including NO_PROXY (#1015)
- agent supports dynamic instructions (#1023)
- append shell execute command to history file (#1026)
- add cli option
--agent-variable <name> <value>
(#1027) --file/.file
accept file formats in document_loaders (#1033)- webui playground support multiple sessions in memory (#1035)
- webui supports math in markdown (#1039)
- update cohere api to v2 (#1041)
Bug Fixes
- stream function calling for some openai-compatible clients (#1017)
Full Changelog: v0.24.0...v0.25.0
v0.24.0
REPL Changing
- .save agent-config Save the current agent config to file
+ .edit rag-docs Edit the RAG documents
New Features
.info role
/.exit role
works for session role (#958)- support
.edit rag-docs
(#964) - change agent config/variables (#967)
- support session-scoped agent variables (#969)
.agent
accepts session name (#970)- add config
user_agent
(#971) - support overriding agent config with env vars (#974)
- add hunyuan client (#980)
- remove supports for huggingface (#988)
- support env
<AGENT_NAME>_CONFIG_FILE
(#990) - save function calls in the session (#994)
- support autonaming session (#1001)
Bug Fixes
v0.23.0
Break Changing
Respect XDG_CONFIG_HOME
for placing config dir
Drop replicate client and remove support for octoai
REPL Changing
- .clear messages Erase messages in the current session
+ .empty session Erase messages in the current session
+ .compress session Compress messages in the current session
CLI Changing
+ --empty-session Ensure the session is empty
New Features
- add batch_size to RAG yaml (#876)
- add retry logic to embedding/rerank api calls (#879)
- add AICHAT_EMBEDDINGS_RETRY_LIMIT (#882)
- respect XDG_CONFIG_HOME for placing config dir (#889)
- change prompt for choosing shell command actions (#898)
- abandon replicate client (#900)
- remove support for octoai (#901)
- when saving input to message.md, use file paths instead of file contents (#905)
- add
.compress session
REPL command (#907) - prelude supports : (#913)
- session persists role name (#914)
- webui supports pasting images (#921)
- add CLI option
--empty-session
(#922) - rename
.clear messages
to.empty session
(#923) - add shell action
copy
(#926) - support openai o1 models (#935)
- support xai (grok) client (#945)
Bug Fixes
v0.22.0
RAG Changes
Store RAG in YAML format instead of bin format
We used to store RAG in bin format at <aichat-config-dir>/rags/<name>.bin
. However, the bin
format has various drawbacks, so we are now using the yaml
format to store RAG.
All RAGs in bin format will be ignored. Please recreate them in YAML format.
Support for RAG-scoped top_k
and reranker_model
options
Now, users can set the top_k
and reranker_model
parameters individually for each RAG.
.set rag_top_k 5
.set rag_reranker_model cohere:rerank-english-v3.0
New REPL Commands
.delete Delete roles/sessions/RAGs/agents
.save agent-config Save the current agent config to file
.sources rag View the RAG sources in the last query
New Features
- add config
serve_addr
& env $SERVE_ADDR for specifying serve addr (#839) - better html to markdown converter (#840)
- add role %create-prompt% (#843)
- tolerate failure to load some rag files (#846)
- support RAG-scoped rag_top_k and rag_reranker_model (#847)
- save rag in YAML instead of bin (#848)
- chat-completions api supports tools (#850)
- support rerank api (#851)
- abandon config
rag_min_score_rerank
(#852) - add
.delete
repl command (#862) - no delete the existing role/session when saving with a new name (#863)
- specify shell via $AICHAT_SHELL (#866)
- role/session/agent should not inherit the global
use_tools
(#868) - add
.save agent-config
repl command (#870) - add
.sources rag
repl command (#871)
Bug Fixes
- render stream failed due to read cursor position timeout (#835)
v0.21.1
What's Changed
Break Changing in v0.21.0
Replace roles.yaml
with roles/<name>.md
(see #804)
Migrate ollama
/qianwen
/cloudflare
clients to openai-compatible
clients:
- - type: ollama
- api_base: http://localhost:11434
+ - type: openai-compatible
+ name: ollama
+ api_base: http://localhost:11434/v1
- - type: qianwen
+ - type: openai-compatible
+ name: qianwen
- - type: cloudflare
- account_id: xxx
- api_base: https://api.cloudflare.com/client/v4
+ - type: openai-compatible
+ name: cloudflare
+ api_base: https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/v1
v0.21.0
Break Changing
Replace roles.yaml
with roles/<name>.md
(see #804)
Migrate ollama
/qianwen
/cloudflare
clients to openai-compatible
clients:
- - type: ollama
- api_base: http://localhost:11434
+ - type: openai-compatible
+ name: ollama
+ api_base: http://localhost:11434/v1
- - type: qianwen
+ - type: openai-compatible
+ name: qianwen
- - type: cloudflare
- account_id: xxx
- api_base: https://api.cloudflare.com/client/v4
+ - type: openai-compatible
+ name: cloudflare
+ api_base: https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/v1
Clients Changes
- migrate ollama to openai-compatible
- migrate qianwen to openai-compatible
- migrate cloudflare to openai-compatible
- add github
- add ai21
- add huggingface
New Features
- support builtin website crawling (recursive_url) (#786)
- no check model's support for function calls (#791)
- enable custom
api_base
for most clients (#793) - support github client (#798)
- support ai21 client (#800)
- replace
roles.yaml
withroles/<name>.md
(#810) - save temp session with
temp-<timestamp>
ifsave_session: true
(#811) - webui use querystring as settings (#814)
- webui support RAG (#815)
- migrate
ollama
/qianwen
clients toopenai-compatible
(#816) - migrate
cloudflare
client toopenai-compatible
(#821) - add huggingface client (#822)
- use dynamic batch size for embedding (#826)
Bug Fixes
v0.20.0
Patch Client API
AIChat supports patching API request url, headers and body.
For example, we can patch claude:claude-3-5-sonnet-20240620 to use beta 8192 output tokens.
clients:
- type: claude
...
patch: # Patch api request
chat_completions: # Api type, one of chat_completions, embeddings, and rerank
'claude-3-5-sonnet-20240620': # The regex to match model names, e.g. '.*' 'gpt-4o' 'gpt-4o|gpt-4-.*'
headers:
anthropic-beta: max-tokens-3-5-sonnet-2024-07-15
body:
max_tokens: 8192
More flexible using tools
AIChat introduces the use_tools
configuration to manage which tools are included. This configuration works across global, role, session, and agent levels.
AIChat also introduces mapping_tools
for managing aliases for a tool or toolset.
mapping_tools:
fs: 'fs_cat,fs_ls,fs_mkdir,fs_rm,fs_write'
use_tools: 'execute_command,fs'
Configuration Changes
- buffer_editor: null
+ editor: null
- dangerously_functions_filter: null
- agents:
- - name: todo
- ...
The tool determines whether the operation is dangerous and whether to ask for confirmation, the dangerously_functions_filter
is unnecessary.
Each AI agent has its own config.yaml
file, there is no need for a central agents
configuration.
Enviroment Variables Changes
-
AIChat supports env file (
<aichat-config-dir>/.env
) for managing environment variables. -
All config items have related environment variables to override their values.
For example, we can use
AICHAT_MODEL
to override the default LLM andAICHAT_LIGHT_THEME
to switch to light theme. -
AIChat Supports env
AICHAT_PATCH_{client}_CHAT_COMPLETIONS
for patching chat completions api request url, headers and body.For example, set
AICHAT_PATCH_OPENAI_CHAT_COMPLETIONS='{"gpt-4o":{"body":{"seed":666,"temperature":0}}}'
to make gpt-4o more deterministic.
Client Changes
vertexai
client supports cluade/mistral models,vertexai-claude
client was abandoned.bedrock
client switch to converse api, supports llama3.1/mistral-large-v2/cohere.command-r models.rag-dedicated
client was abandoned, useopenai-compatible
client instead.
CLI Changes
- -w, --wrap <WRAP> Control text wrapping (no, auto, <max-width>)
- -H, --no-highlight Turn off syntax highlighting
- --light-theme Use light theme
Use environment variables AICHAT_WRAP, AICHAT_HIGHLIGHT and AICHAT_LIGHT_THEME instead.
New REPL Commands
.variable <name> <value>
.set stream false
.set use_tools <tools>
New Features
- load env vars from file (#685)
- enhenced flexibility for use tools (#688)
- agent can reuse tools (#690)
- support agent variables (#692)
--file/.file
can load dirs (#693)- adjust the way of obtaining function call results (#695)
- webui supports text to speech for messages (#712)
- enhance logger (#731)
- move agent config to separate file (#741)
- webui add autofocus to chat-input in textarea (#742)
- merge vertexai-cluade with vertexai (#745)
- vertexai support mistral models (#746)
- ollama support tools and new embeddings api (#748)
- all config fields have related environment variables (#751)
- bedrock client switch to converse api and support cohere models (#747)
- support patching request url, headers and body (#756)
- abandon rag_dedicated client and improve (#757)
- abandon cli options --wrap, --no-highlight and --light-theme (#758)
- add
config.stream
and.set stream
repl command (#759) - export agent variable as
LLM_AGENT_VAR_*
(#766) - add agent-scoped
agent_prelude
config (#770) - rename
config.buffer_editor
toconfig.editor
(#773)