Commit Graph

52 Commits (a137483b03191d169e62f2049fcbdaace0821d6c)

Author SHA1 Message Date
sigoden a137483b03
feat: improve client (#189) 8 months ago
sigoden 680670e834
feat: support custom theme (#187) 8 months ago
sigoden e86ad7dc16
feat: add `.info role` and `.info session` (#183) 8 months ago
sigoden 4909a20f2e
feat: force nowrap if no tty/terminal (#182) 8 months ago
sigoden 2168610dbd chore: spellcheck 8 months ago
sigoden ba3cc4f15d
feat: deprecate history file (#179) 8 months ago
sigoden 2f9121e515
fix: bugs between sesison/role (#178) 8 months ago
sigoden f2c9f00bda
fix: detect light theme only by env var (#177) 8 months ago
sigoden b3e6879438
feat: deprecate prompt, remove `--prompt` and `.prompt` (#176) 8 months ago
sigoden 44ea384ee5 chore: remove unnecessary clippy macros 8 months ago
sigoden 651516d49a
feat: show role info with `--role <name> --info` (#175) 8 months ago
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
8 months ago
sigoden 1ced15a209
feat: autodetect light theme on unix-like os (#168) 8 months ago
sigoden 871adab22a chore: improve code quanity 8 months ago
sigoden 7f5bad6474 chore: improve code and doc 8 months ago
sigoden 2ab2e23bb0
refactor: improve environment variables (#163)
Rename `AICHAT_API_KEY` to `OPENAI_API_KEY`
Add `LOCALAI_API_KEY`
8 months ago
sigoden bc44026ff8
feat: enhance session/conversation (#162)
* feat: enhance session/conversation

* updates

* updates

* cut version v0.9.0-rc2

* add .session name completion
8 months ago
sigoden aa43612d91
feat: change config.vi_keybindings to config.keybindings (#158) 8 months ago
sigoden dbbbbfd5d6 chore: update readme and comments 8 months ago
sigoden 47818159a7
refactor: streaming input text in dry-run mode (#154) 8 months ago
sigoden 7d8564cafb
feat: support multi bots and custom url (#150) 8 months ago
sigoden f4160ff85b
feat: suppport vi keybindings (#148) 8 months ago
Jackson Goode 30daa40eb0
fix: grammar/wording corrections (#135) 12 months ago
Anthony Rubick 97fc7de675
fix: minor code cleanup and pedantic lints (#134) 12 months ago
sigoden ec51b84290
feat: add new model gpt-3.5-turbo-16k (#126) 1 year ago
sigoden 00ce157571
feat: add `.copy` command (#119) 1 year ago
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>
1 year ago
sigoden 2489e34993
fix: config file with strict perms (#118) 1 year ago
sigoden f257931b0b
fix: mask api_key/organization_id in info text (#93) 1 year ago
sigoden 601a5134d0
feat: add `--dry-run` (#83) 1 year ago
sigoden 19ce62ab76
feat: check token usage in dry_run mode (#82) 1 year ago
sigoden acddece520
feat: add `config.organization_id` (#77) 1 year ago
sigoden 66a73c7b84
feat: add `config.connect_timeout` (#76) 1 year ago
sigoden 1ef97b2f32
feat: support multiple models (#71) 1 year ago
sigoden ad04f60365 chore: optimzie role args 1 year ago
sigoden 9c04455e36
feat: support role args (#69)
* feat: support role args

We can use role args to pass some additional arguments to the prompt.

```
- name: convert:json:yaml
  prompt: convert __ARG1__ below to __ARG2__
```

`:json:yaml` is `role args`. It has two args:

- arg1 `json`, it will replace __ARG1__ in prompt
- arg2 `yaml`, it will replace __ARG2__ in prompt

```
〉.role convert:json:yaml
name: convert:json:yaml
prompt: convert json below to yaml
temperature: null

〉.role convert:yaml:json
name: convert:yaml:json
prompt: convert yaml below to json
temperature: null
```

different role args,  will generate different prompts.

* small updates
1 year ago
sigoden 8fa2e2683b
feat: support HTTPS_PROXY and ALL_PROXY (#68) 1 year ago
sigoden 4aab872ee1
feat: add support for NO_COLOR (#67) 1 year ago
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
1 year ago
sigoden dc09cb38d4
feat: support more env vars (#63)
- AICHAT_CONFIG_DIR: sepecify the configuration directory
- AICHAT_ROLES_FILE: set the `roles.yaml` file path
- AICHAT_API_KEY: set the api key
1 year ago
sigoden d48cd64162
feat: provide `--prompt` for adding a prompt from cli (#62) 1 year ago
sigoden 1dc16e6709
feat: type `{` `[` `(` to enter multi-line editing mode (#58)
Abandon `.editor` command, it's too complicated.
1 year ago
sigoden 978d4c54c0 chore: opitmize code, move MAX_TOKENS related to config/message.rs 1 year ago
sigoden 899c4af9ea fix: forbid .clear role in middle of conversation 1 year ago
sigoden 4161eaa6c3
fix: cli specify role is not applied when conversation_first set true (#57)
close #56
1 year ago
sigoden 0044399509
feat: add config.conversation_first (#55)
If set true, start a conversation immediately upon repl.
1 year ago
sigoden ad282ae74c refactor: no need to confirm conversation when token used out 1 year ago
sigoden 553d0fe55b
refactor: optimize counting tokens (#53) 1 year ago
sigoden 9767c07eee
feat: support two types of role prompts (#52)
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.
```
1 year ago
sigoden c45d71cdea refactor: trivial updates
- change prompt's temp role name
- questionnaire of 'save chat messages' default set true
- `.info` do not show role name
1 year ago