summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorLines
2023-03-11feat: support light theme (#65)sigoden-24/+79
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-11feat: support more env vars (#63)sigoden-31/+97
- AICHAT_CONFIG_DIR: sepecify the configuration directory - AICHAT_ROLES_FILE: set the `roles.yaml` file path - AICHAT_API_KEY: set the api key
2023-03-11feat: provide `--prompt` for adding a prompt from cli (#62)sigoden-2/+8
2023-03-10chore: update `.help` output textsigoden-2/+6
2023-03-10feat: type `{` `[` `(` to enter multi-line editing mode (#58)sigoden-89/+81
Abandon `.editor` command, it's too complicated.
2023-03-10chore: recovery cursor in case of stream abortsigoden-3/+8
2023-03-10chore: improve code quality, omit head 2 newlines in handler but in not clientsigoden-8/+4
2023-03-10chore: opitmize code, move MAX_TOKENS related to config/message.rssigoden-9/+15
2023-03-10fix: forbid .clear role in middle of conversationsigoden-1/+16
2023-03-10chore: improve code quality, split rep/prompt.rs from repl/init.rssigoden-62/+72
2023-03-10fix: cli specify role is not applied when conversation_first set true (#57)sigoden-3/+8
close #56
2023-03-09feat: add config.conversation_first (#55)sigoden-15/+32
If set true, start a conversation immediately upon repl.
2023-03-09refactor: no need to confirm conversation when token used outsigoden-6/+8
2023-03-09fix: csharp and php do not render correctlysigoden-3/+29
2023-03-09refactor: optimize counting tokens (#53)sigoden-58/+42
2023-03-09feat: support two types of role prompts (#52)sigoden-103/+192
1. embeded prompt use __INPUT__ placeholder will generate one user message when send to gpt ``` - name: shell prompt: > I want you to act as a linux shell expert. Q: How to unzip a file A: unzip file.zip Q: __INPUT__ A: ``` 2. system prompt no __INPUT__ placeholder will generate on system message and one user message when send to gpt ``` - name: shell prompt: | I want you to act as a linux shell expert. I want you to answer only with bash code. Do not write explanations. ```
2023-03-09refactor: trivial updatessigoden-9/+3
- change prompt's temp role name - questionnaire of 'save chat messages' default set true - `.info` do not show role name
2023-03-09feat: add remain tokens indicator and max tokens guard (#50)sigoden-42/+667
2023-03-09fix: abort by ctrlc unexpectedly prints error message (#49)sigoden-4/+15
2023-03-09feat: support conversation (#48)sigoden-56/+200
2023-03-09feat: add role info to readline indicator (#47)sigoden-16/+57
``` coder〉 ```
2023-03-09refactor: imports order and groupsigoden-27/+24
2023-03-09refactor: replace Arc<Refcell<Config>> with Arc<Mutex<Config>> (#46)sigoden-26/+27
2023-03-09refactor: extra spaces are allowed around repl commandsigoden-4/+6
2023-03-08chore: optimize newline again (#43)sigoden-5/+20
* chore: optimize newline again command mode: should no extra newline chat mode: should have one newline * fix windows newline * fix macos newline
2023-03-08feat: add role-specific config (#42)sigoden-5/+32
Now we can set role temperature. For example: ``` - name: shell prompt: > I want you to act as a linux shell expert. I want you to answer only with bash code. Do not write explanations. temperature: 0.4 ```
2023-03-08chore: improve code by getting prompt from config (#39)sigoden-31/+20
2023-03-08fix: windows no stream output (#37)sigoden-6/+4
2023-03-08chore: no longer ignore any errorsigoden-10/+19
2023-03-08chore: optimize output newlinesigoden-20/+10
2023-03-08refactor: replace dump with print_now! (#35)sigoden-37/+48
2023-03-08fix: repl set save true not work if not rerun(#34)sigoden-42/+21
2023-03-08refactor: split long paragraphs for smoother stream output (#33)sigoden-34/+267
2023-03-08refactor: theme and code color (#32)sigoden-25/+85
2023-03-07feat: command mode supports stream out (#31)sigoden-166/+253
* feat: command mode supports stream out * update cli
2023-03-07refactor: adjust repl (#30)sigoden-66/+41
- abandon .copy - rename .multiple => .editor - if command successed, do not output `Done` - if command failed, output `Error: <error message>`
2023-03-07refactor: support highlighting more languages (#28)sigoden-2886/+28
2023-03-07refactor: optimize ctrl+c/ctrl+d abort handling (#27)sigoden-48/+104
2023-03-07refactor: use syntect for highlight, abandon mdcat (#26)sigoden-99/+3120
* 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-06chore: improve code by renameing some functionsigoden-10/+13
2023-03-06fix: $AI_CONFIG_DIR points to the parent directory (#25)sigoden-3/+6
2023-03-06chore: release v0.4.0sigoden-2/+2
2023-03-06chore: optimize cli helpsigoden-4/+4
2023-03-06feat: add `--no-highlight` option (#24)sigoden-3/+8
2023-03-06fix: combine pipe and cli args, disable highlight when pipe (#23)sigoden-3/+7
2023-03-06chore: optimize codesigoden-33/+46
2023-03-06refactor: split src/repl.rs to submodules (#22)sigoden-473/+517
2023-03-06feat: add `.prompt` command (#21)sigoden-24/+72
* feat: add `.prompt` command * set temp role name
2023-03-05feat: add `.set` command (#20)sigoden-143/+231
* feat: add `.set` command * Add config.role
2023-03-05refactor: rename config.no_highlight to highlight (#19)sigoden-7/+11