add -r/--reset and -t/--tail options; update README

This commit is contained in:
Laan Tungir
2026-08-02 17:26:46 -04:00
parent c82f34907c
commit 280bf6a5cc
2 changed files with 30 additions and 22 deletions
+6 -16
View File
@@ -6,7 +6,7 @@ image: https://example.com/cover.png
tags: [ai, agent, aiharness]
---
# aish
# aish <sub><sup><sub><sup>v0.0.1</sup></sub></sup></sub>
```
, ,
@@ -61,6 +61,7 @@ With options:
```sh
$ ./ai.sh -v what is 2 plus 2
[loaded /home/user/.aish/log.jsonl — 3 messages, $0.0001 spent]
[step 1] (reasoning) The user wants to know 2 plus 2.
[done] 2 plus 2 is 4.
@@ -68,21 +69,8 @@ $ ./ai.sh -v what is 2 plus 2
[finished — 1 steps, $0.0001 spent]
```
```sh
$ ./ai.sh -m gpt-4o "write a hello world program in python. save it in ~/"
I've created a Python hello world program at ~/hello.py:
```python
print("Hello, World!")
```
You can run it with `python3 ~/hello.py`.
```
```sh
$ ./ai.sh -R what is the capital of France
The capital of France is Paris.
```
The agent can run shell commands, read files, and execute multi-step
tasks. Context is saved and resumed on subsequent calls.
@@ -225,14 +213,16 @@ That's it. No build step, no install script, no daemon.
| `-a` | `--autonomous` | Autonomous mode (run until done or budget exhausted) |
| `-i` | `--init` | Create local `.aish/` with defaults, exit |
| `-x` | `--clear` | Clear the log file and exit |
| `-r` | `--reset` | Clear the log file and exit (alias for `-x`) |
| `-t` | `--tail` | Tail (follow) the log file in real time |
| `-v` | `--verbose` | Show status lines |
| `-m` | `--model` | Override model |
| `-k` | `--api-key` | API key (or set `PPQ_API_KEY`) |
| `-C` | `--max-cost` | Override max cost (USD) |
| `-s` | `--max-steps` | Override max steps |
| `-t` | `--timeout` | Override overall timeout (seconds) |
| | `--timeout` | Override overall timeout (seconds) |
| `-T` | `--cmd-timeout` | Override per-command timeout (seconds) |
| `-r` | `--resume` | Resume from existing log (default: yes) |
| | `--resume` | Resume from existing log (default: yes) |
| `-R` | `--no-resume` | Start fresh (ignore existing log) |
| `-h` | `--help` | Show help |
+24 -6
View File
@@ -170,15 +170,17 @@ Options:
-a, --autonomous Run in autonomous mode (goal required)
-i, --init Create local .aish/ with default config + prompt, exit
-x, --clear Clear the log file and exit
-r, --reset Clear the log file and exit (alias for -x)
-t, --tail Tail (follow) the log file in real time
-v, --verbose Show status lines ([loaded], [step], [finished], etc.)
Default is quiet: only the response is printed.
-m, --model MODEL Override model from config
-k, --api-key KEY API key (or set PPQ_API_KEY env var)
-C, --max-cost USD Override max cost from config
-s, --max-steps N Override max steps from config
-t, --timeout SECS Override overall timeout from config
--timeout SECS Override overall timeout from config
-T, --cmd-timeout SECS Override per-command timeout from config
-r, --resume Resume from existing log (default: yes)
--resume Resume from existing log (default: yes)
-R, --no-resume Start fresh (ignore existing log)
-h, --help Show this help
@@ -202,6 +204,7 @@ IS_AUTONOMOUS=0
CMD_MODE=0
INIT_MODE=0
CLEAR_MODE=0
TAIL_MODE=0
VERBOSE=0
MODEL_OVERRIDE=""
API_KEY_OVERRIDE=""
@@ -1058,10 +1061,14 @@ while [ $i -le $# ]; do
INIT_MODE=1
i=$((i+1))
;;
--clear|-x)
--clear|-x|--reset|-r)
CLEAR_MODE=1
i=$((i+1))
;;
--tail|-t)
TAIL_MODE=1
i=$((i+1))
;;
--model|-m)
i=$((i+1)); eval "MODEL_OVERRIDE=\"\${$i}\""; i=$((i+1))
;;
@@ -1076,7 +1083,7 @@ while [ $i -le $# ]; do
i=$((i+1)); eval "MAX_STEPS_OVERRIDE=\"\${$i}\""
HAS_MAX_STEPS=1; i=$((i+1))
;;
--timeout|-t)
--timeout)
i=$((i+1)); eval "TIMEOUT_OVERRIDE=\"\${$i}\""
HAS_TIMEOUT=1; i=$((i+1))
;;
@@ -1084,7 +1091,7 @@ while [ $i -le $# ]; do
i=$((i+1)); eval "CMD_TIMEOUT_OVERRIDE=\"\${$i}\""
HAS_CMD_TIMEOUT=1; i=$((i+1))
;;
--resume|-r)
--resume)
RESUME=1; i=$((i+1))
;;
--no-resume|-R)
@@ -1107,7 +1114,7 @@ while [ $i -le $# ]; do
esac
done
# --clear: delete the log file and exit.
# --clear / --reset: delete the log file and exit.
if [ "$CLEAR_MODE" = "1" ]; then
if [ -f "$LOG_PATH" ]; then
rm -f "$LOG_PATH"
@@ -1118,6 +1125,17 @@ if [ "$CLEAR_MODE" = "1" ]; then
exit 0
fi
# --tail: follow the log file in real time.
if [ "$TAIL_MODE" = "1" ]; then
if [ -f "$LOG_PATH" ]; then
tail -f "$LOG_PATH"
else
echo "No log to tail ($LOG_PATH does not exist)" >&2
exit 1
fi
exit 0
fi
# --init: create local .aish/ with default config + prompt, then exit.
if [ "$INIT_MODE" = "1" ]; then
mkdir -p "$LOCAL_DIR" || { echo "error: failed to create $LOCAL_DIR" >&2; exit 1; }