Commit Graph

44 Commits

Author SHA1 Message Date
sigoden
8d76fc77fb refactor: use reqwest-eventsource as sse client 2023-11-01 13:24:50 +08:00
sigoden
7f2210dbca
refactor: clients/* and config.rs (#193)
- add register_clients macro to make it easier to add a new client
- no create_client_config, just add const PROMPTS
- move ModelInfo from clients/ to config/
- model's max_tokens are optional
- improve code quanity on config/mod.rs
- add/use macro config_get_fn
2023-11-01 10:28:54 +08:00
sigoden
680670e834
feat: support custom theme (#187) 2023-10-31 09:06:41 +08:00
sigoden
2203163938 chore: update readme and cli help 2023-10-30 17:10:52 +08:00
sigoden
f2c9f00bda
fix: detect light theme only by env var (#177) 2023-10-30 11:45:07 +08:00
sigoden
b276dfedd2
feat: support textwrap (#171)
* feat: support textwrap

* improve cmd_render_stream

* done cmd_render_stream

* add `-w` alias to `--wrap`

* done repl_render_stream

* add `config.wrap_code`

* remove cached config.wrap_width

* fix unxpected duplicate lines on kitty

* refactor markdown render

* improve render

* fix test
2023-10-30 10:07:01 +08:00
sigoden
557bed1459 chore: update Cargo.toml 2023-10-29 08:13:46 +08:00
sigoden
bc44026ff8
feat: enhance session/conversation (#162)
* feat: enhance session/conversation

* updates

* updates

* cut version v0.9.0-rc2

* add .session name completion
2023-10-28 21:39:17 +08:00
sigoden
0179bef80d
chore: replace atty with is-terminal (#156) 2023-10-27 14:42:08 +08:00
sigoden
2b8b696b5a
chore: update ci to support windows arm (#155) 2023-10-27 14:26:46 +08:00
sigoden
66fd547c0f refactor: improve code quanity
remove tokio::runtime::Runtime from client
2023-10-26 19:19:22 +08:00
sigoden
7d8564cafb
feat: support multi bots and custom url (#150) 2023-10-26 16:42:54 +08:00
sigoden
e09b39def9 chore: downgrade reedline to v0.21.0
nushell/reedline#648
2023-10-24 16:24:03 +08:00
sigoden
90bdc1b7db chore: update deps 2023-10-17 19:37:36 +08:00
sigoden
00ce157571
feat: add .copy command (#119) 2023-05-04 22:42:50 +08:00
shane s
cf03952c7b
feat: add config.auto_copy (#102)
* added config option to copy all ChatGPT output to clipboard

* formatted with

* updates

---------

Co-authored-by: sigoden <sigoden@gmail.com>
2023-05-04 21:22:12 +08:00
sigoden
065a32decb
feat: support backeted paste (#117) 2023-05-04 15:43:34 +08:00
sigoden
c36eab5433 chore: release v0.8.0 2023-03-21 09:45:48 +08:00
sigoden
4a74f5cd72 chore: release v0.7.0 2023-03-13 10:26:33 +08:00
sigoden
4aab872ee1
feat: add support for NO_COLOR (#67) 2023-03-11 21:45:34 +08:00
sigoden
cfb6ce6958
feat: support light theme (#65)
There are two ways to enable the light theme:
- add `light_theme: true` to config.yaml
- use `AICHAT_LIGHT_THEME=true` env var
2023-03-11 18:53:36 +08:00
sigoden
f1e65def96 chore: release v0.6.0 2023-03-10 10:27:24 +08:00
sigoden
05d20f207f
feat: add remain tokens indicator and max tokens guard (#50) 2023-03-09 15:30:39 +08:00
sigoden
1ec451da89
refactor: replace Arc<Refcell<Config>> with Arc<Mutex<Config>> (#46) 2023-03-09 07:58:44 +08:00
sigoden
7270308a24 chore: release v0.5.0 2023-03-08 21:35:21 +08:00
sigoden
360264121c
feat: command mode supports stream out (#31)
* feat: command mode supports stream out

* update cli
2023-03-07 22:33:34 +08:00
sigoden
c7fcdb1744
refactor: adjust repl (#30)
- abandon .copy
- rename .multiple => .editor
- if command successed, do not output `Done`
- if command failed, output `Error: <error message>`
2023-03-07 19:04:54 +08:00
sigoden
d73be65b07
refactor: support highlighting more languages (#28) 2023-03-07 15:37:03 +08:00
sigoden
1640456049
refactor: use syntect for highlight, abandon mdcat (#26)
* refactor: use syntect for highlight, abandon mdcat

* split src/render.rs to sub modules. embed a default theme

* simulate typing effect.

* fix format
2023-03-07 11:38:44 +08:00
sigoden
f73f45ac9b chore: update deps 2023-03-06 15:47:46 +08:00
sigoden
ffa444399f chore: release v0.4.0 2023-03-06 10:34:07 +08:00
sigoden
bec8787a57 chore: release v0.3.0 2023-03-05 11:24:21 +08:00
sigoden
2ac0155fa3
feat: accept pipe (#17)
`cat data | aichat` works
2023-03-05 11:11:15 +08:00
sigoden
822f0eed94
refactor: message record format (#12)
```
i am excited

--------
😃💥🎉
--------
```
2023-03-05 06:17:43 +08:00
sigoden
5179b9a827
feat: add .editor command (#9)
* feat: add `.editor` command

Use `.editor` to edit/input multiline text

* support paste
2023-03-05 00:01:45 +08:00
sigoden
069583098f
refactor: no need tui, just render stream directly (#8) 2023-03-04 22:18:42 +08:00
sigoden
6dee235597 chore: release v0.2.0 2023-03-04 19:24:57 +08:00
sigoden
71f1127f9a
fix: tui warp long paragraph (#6)
* chore: optimize stream render

* fix: tui textwrap long paragraph
2023-03-04 18:18:00 +08:00
sigoden
b058cca46d
refactor: use tui for better stream render (#5)
* feat: show question in the begining of stream render

* refactor: use tui for better stream render

* trivial updates

* fine-tune stream text merging
2023-03-04 15:00:11 +08:00
sigoden
0fa1ae215a
feat: support highlight reply markdown (#3)
* feat: support highlight reply markdown

* migrate markdown highlighter from termimad to mdcat

* optimize render

No need to clear screen when there is no newline in reply token

* handle ctrl-c when rendering stream

* update readme

* fix ctrlc don't abort acquire_stream when establish connection

* ensure render_stream's dtect_ctrlc is exit before next readline

This will make reedline don't throw err 'The cursor position could not be read within a normal duration'
2023-03-04 09:02:57 +08:00
sigoden
0de680a4e9
chore: use rustls (#1)
* chore: use rustls

* remove docker release
2023-03-03 10:57:05 +08:00
sigoden
627a2d08ce refactor: config path and config data
use yaml other than toml for configuration.
use $AICHAT_CONFIG_DIR other than $HOME for config dir.
split roles to seperate config file
2023-03-03 10:11:23 +08:00
sigoden
6178959454 feat: add .view command 2023-03-03 08:04:15 +08:00
sigoden
dfebab910d init commit 2023-03-02 19:52:11 +08:00