Changelog
0.19.1 - 2026-11-05¶
โฐ๏ธ Features¶
- feat(viewer): use compact tool labels in the output list - (2f026ca) - Belingud
- feat(viewer): show tool-call captions in the output list
The left pane only showed '4. execute_shell_command (314c)', which made repeated shell/MCP calls indistinguishable. Each entry now renders two lines: the tool name + result size, and a one-line caption derived from the decoded arguments (command, file_path/path, url, query, pattern, title; whitespace collapsed and clipped). Entries fall back to the compact argument summary when no identifying key exists, the list keeps the selection in a 10-entry window with 'โฆ N more above/below' markers, and the header bar now shows the selected entry ([2/4] name ยท kind ยท chars ยท truncated) next to the turn label.
Output-history entries carry the caption (computed in execute_tool_call from the repaired argument dict), so it never re-parses a truncated argument string. - (573f6d8) - Belingud - feat(cli): run interactive generation on a worker thread
Interactive TTY turns now consume the completion generator through ThreadedStream: the provider/tool pipeline runs on a worker thread while the REPL thread renders, so Ctrl+O can open the tool-output viewer mid-answer and generation continues; closing the viewer redraws the accumulated content.
Worker console output is routed through WorkerConsole into the bridge so the main thread replays it in order; client/provider consoles are swapped for the turn and restored afterwards. ThreadedStream now starts lazily on the first next(), letting the CLI install console routing and register the active bridge before the worker produces anything. Headless/machine paths are unchanged. - (b9337bd) - Belingud - feat(stream): route worker-thread console output through the bridge
WorkerConsole dispatches print() by thread: main-thread writes pass through to the real console, generation-worker writes are queued on the active ThreadedStream (with a stderr flag) and replayed in order by the UI thread, and late writes from an aborted worker are dropped. install_worker_console_routing() swaps the module consoles captured by the generation path and returns a restorable handle. Bridge console events now carry the stderr target. Still not wired into the CLI (task T2). - (c0874a8) - Belingud - feat(stream): add threaded stream bridge for background generation
ThreadedStream runs a completion generator on a worker thread and exposes the generator protocol (next/send) to the UI thread over a FIFO event queue: chunks, worker console prints, done/error. ConfirmToolCall waits for the decision sent back by the UI thread; abort() cancels at the next chunk boundary and drops late console events. Isolated module with unit tests (not wired into the CLI yet, tracked as task T1). - (b6709cf) - Belingud - feat(cli): toggle the tool-output viewer during generation
While a turn streams there is no prompt reading the keyboard, so install a cbreak GenerationKeyWatcher (ISIG stays on: Ctrl+C still cancels) that captures Ctrl+O. Printer.display_stream() gains pause_requested/on_pause hooks: it stops the live region, opens the viewer, then redraws the accumulated content and continues. The provider stream is paused while the viewer is open for now; typed-ahead text is kept and pre-filled into the next prompt.
Headless/machine runs never start the watcher. - (7fcea5f) - Belingud - feat(tools): add full-screen Ctrl+O tool-output viewer
Replace the inline Ctrl+O print (a0db5eb) with an alternate-screen two-pane viewer: the left pane lists every tool output of the current turn (function and MCP), the right pane shows the selected result. Keys: up/down select, Tab switches pane, PgUp/PgDn/Home/End scroll, f toggles the spilled full file (1 MB cap), q/Esc/Ctrl+O closes and restores the REPL.
Tool results are recorded in a turn-tagged history with spill metadata (begin_turn from CLI._process_user_input); truncate_tool_output_meta adds the metadata without changing the model-facing text. /show-output opens the same viewer; non-TTY/headless and viewer failures fall back to the inline last-output panel.
Docs, README, py specs and tests updated (turn grouping, fallbacks, viewer app driven with pipe input). - (d77e190) - Belingud - feat(tools): render tool results as a compact head-only preview
Tool results and call arguments could flood the terminal even though the model-facing result is already capped. Add a display-only layer that is independent from TOOL_OUTPUT_MAX_CHARS: the panel shows only the first TOOL_DISPLAY_MAX_LINES (15) lines / TOOL_DISPLAY_MAX_CHARS (4000) chars and a 'โฆ +N lines ยท Ctrl+O to expand' marker, while the model still receives the full capped result.
- The '@Function call:' line summarizes arguments (TOOL_CALL_PREVIEW_MAX_CHARS,
default 300); large content/command values render as
. - execute_tool_call records the last result; Ctrl+O in the REPL and /show-output re-print it in full (same renderer).
- New config keys + env vars, config template, docs, spec and tests.
Terminal display only: short outputs are unchanged (no marker). - (a0db5eb) - Belingud
๐ Bug Fixes¶
- fix(keys): stop macOS VDISCARD from swallowing Ctrl+O during generation
On macOS the tty driver keeps ^O bound to VDISCARD even in cbreak mode: the key was consumed before GenerationKeyWatcher could read it and toggled "discard output" instead, which matches the captured TUI (a missing @Function call line between two tool panels) and a debug log that showed watcher.start cbreak=True but no watcher.ctrl-o event. The viewer could therefore never open and output silently went missing until the key was pressed again.
- Disable VDISCARD (^O) and IXON (^S/^Q flow control) for the watcher window, restoring the saved termios on stop; log discard_disabled/flow_control_disabled.
- Decode CSI-u / modifyOtherKeys Ctrl+O encodings used by extended keyboard protocols (kitty/xterm) in addition to the plain 0x0f byte.
- Log every received byte in YAI_DEBUG_LOG mode and add generation.begin/end + prompt.begin breadcrumbs so a future freeze can be correlated with keypresses.
- Document the new events in docs/dev/debug-cli.md. - (28f29f7) - Belingud
- fix(cli): service Ctrl+O between background stream chunks
The REPL blocked on the bridge queue waiting for the next chunk, so a Ctrl+O request was only handled after the provider/tool produced something. During long reasoning or a slow tool that looked like a frozen screen with no viewer, and pressing Ctrl+O again did nothing until output resumed.
- ThreadedStream.poll_next(timeout) polls the event queue and returns None on timeout (chunks/errors/StopIteration behave like next()).
- Printer.display_stream() now polls background streams every 50ms and re-checks the viewer request each round, so the viewer opens promptly.
- Ctrl+O during a turn with no tool output yet prints a dim hint instead of silently doing nothing.
- Add opt-in YAI_DEBUG_LOG breadcrumbs (watcher start/skip, Ctrl+O byte, pause/resume ack, printer pause, viewer run begin/end/error) and document them in docs/dev/debug-cli.md for terminal-specific reproductions. - (cba65ee) - Belingud
- fix(stream): keep aborting/lingering workers from corrupting state
Cancellation and history safety (T4): background turns now pass the worker a copy of the message list and adopt it only on success, so an aborted or failed turn returns the untouched original (a lingering worker cannot pollute the next turn's history). Each worker thread is registered with its owning bridge, so late console output from an abandoned worker is dropped instead of leaking into a newer generation; close() reports whether the worker is still alive and the CLI keeps the routed consoles installed in that case (with a dim notice) instead of restoring them under a running worker. Console wrappers are unwrapped before re-wrapping to avoid chains across repeated abandons. - (d598955) - Belingud
๐ Refactor¶
- refactor(tools)!: rename execute_shell_command argument to command
The shell tool's model-facing argument was 'shell_command'; shorten it to 'command' so a call reads execute_shell_command(command=...). Update the builtin schema/execute signature, the approval/risk/canonical-argument lookups, the confirmation preview, and the affected tests.
BREAKING: models/roles that still pass shell_command will get a missing-argument error; the tool name (execute_shell_command) is unchanged. - (2eaaadf) - Belingud
๐ Documentation¶
- docs(tools): document background generation Ctrl+O behavior
Ctrl+O during an in-flight answer now opens the tool-output viewer while the generation keeps running on a background worker thread; closing the viewer redraws the accumulated answer. Update README, usage pages (cli, interactive, commands, context-limits) and the py specs (background pipeline, cancellation, abandoned-worker handling, worker-thread tool output rules). - (f437f7e) - Belingud
โ๏ธ Miscellaneous Tasks¶
- chore(task): record post-T5 Ctrl+O and tool-schema hotfixes - (969b11b) - Belingud
- chore(task): complete T5 background generation verification - (77acac9) - Belingud
- chore(task): complete T4 cancellation and history safety plan - (1553c50) - Belingud
- chore(task): complete T3 background generation wiring plan - (099ab94) - Belingud
- chore(task): complete T2 worker console routing plan - (6b3822f) - Belingud
- chore(task): complete T1 stream bridge plan - (4dbd116) - Belingud
- chore(task): plan background generation as subtasks T1-T5 - (13eb196) - Belingud
- chore: record journal - (e654434) - Belingud
0.19.0 - 2026-11-04¶
โฐ๏ธ Features¶
- feat(cli): exit the REPL on a double Ctrl-C
Single Ctrl-C at the prompt still clears the current input line / cancels the current turn and keeps the session alive, but pressing Ctrl-C a second time within ~2 seconds now exits the REPL normally (like Ctrl-D); a completed prompt read resets the window, so a stray interrupt can never kill an interactive session. Generation interrupts follow the same counter: cancel the turn first, exit on the next Ctrl-C. One-shot SIGINT keeps exiting 130. Update the REPL help banner, README/docs (keyboard shortcuts, commands, SIGINT section) and the cli-and-rendering spec; add REPL tests for double-press exit, single-press survival and window reset. - (3c401ae) - Belingud - feat(permissions): risk-aware confirmation, rule-based allowlist and audit log
K06: tool risk classes (read/write/network/exec) and a shlex-based danger classifier gate execution: dangerous shell commands always need explicit confirmation (non-interactive => deny, even with TOOL_CONFIRM=false), --yes auto-allows only read risk, --allowed-tools grants globs for one run. tool_permissions.json v2 adds argv_prefix/path_glob rules while still reading the v1 always_allow format; writes are atomic and 0600. The confirmation prompt now shows the canonical arguments that will execute (shell command + danger reasons, fs_write target/mode, fs_edit diff head 40). Denied calls return structured {error: tool_denied, reason} results and tool_denied feeds --fail-on-tool-denied (exit 3). Every decision is appended to tool_audit.jsonl (best-effort, secret-redacted) and /permissions can list/revoke. - (c83c87c) - Belingud - feat(agent): context economy, retries and classified provider errors
K02: single truncation point for tool output (per-tool caps, head/tail marker, full text spilled to TOOL_OUTPUT_DIR), heuristic token estimator + model-window budget, turn-group-aligned history trimming that never orphans role=tool messages, context-length 400 self-heal (trim one group, retry once), bounded exponential retry for rate-limit/network/timeout/5xx before any content is streamed, depth-limit finish_reason/flag, /context usage summary and /compact. K05: all 39 provider registry keys now raise classified AgentError (kind/status/retryable) instead of returning API errors as assistant content or silently stopping; request-time and mid-stream failures are wrapped, empty/in-band error bodies raise, and TIMEOUT is forwarded consistently. - (3b8e27d) - Belingud - feat(cli): headless scripting contract and side-effect-free startup
K04: new -p/--print, --output-format text|json|stream-json, --json (shorthand), -q/--quiet, --max-turns, -y/--yes, --allowed-tools, --cwd and --fail-on-tool-denied flags; stdout carries only the result/events while warnings, errors and progress go to stderr; non-TTY runs skip prompt_toolkit/banner/Live; JSON object and NDJSON event contracts; exit codes 0/1/2/3/130/141; SIGINT semantics (one-shot 130, REPL clears/cancels); POSIX SIGPIPE restore so 'ai --help | head' no longer exits 1; --shell non-TTY only prints the command unless --yes. K21: new _faststart console entry answers --version from the static version without importing config/role/CLI (zero writes), python -m yaicli works, config/role/chat imports are write-free and lazy, ensure_config_file() creates config.ini 0600 under dir 0700 on first real run only, config dir resolution honours YAI_CONFIG_DIR/XDG/APPDATA and never writes /.config for an empty HOME. Includes the v0.19 error taxonomy/retry backbone (errors.py) and stderr console/EPIPE handling. - (978eec5) - Belingud - feat(functions): load built-in tools out of the box and harden shell execution
K01/K15: load the 12 packaged builtins directly, let same-named user copies override them, and warn about stale exported copies via functions_manifest.json (version+sha256). A broken function file is skipped with one warning instead of bricking every tool. --install-functions now exports editable copies; --reinstall-functions refreshes them. K03: shell tool gains timeout (default 120s, process-group kill), workspace-bounded cwd, env allowlist (TOOL_ENV_INHERIT opt-in), output cap and exits 124 on timeout; the old 3-substring danger blacklist is replaced by shlex/argv classification in tools/risk.py. - (77bd086) - Belingud
๐ Bug Fixes¶
- fix(runtime): keep config imports write-free and make tests environment-safe
D7: key migrations for legacy config files are detected read-only at import and appended only by ensure_config_file() on a real run (deduped per CONFIG_PATH, skipped when the key already exists), so 'import yaicli.config' and '--help' no longer mutate an existing config.ini. T1: tests/conftest.py now sets the mock provider/credential environment before any yaicli module is imported, so the full suite is green in a fresh HOME/clean CI environment instead of failing five test_image tests with 'API_KEY is required'; the original environment is restored at session teardown. _faststart: flags after '--' are no longer treated as --version/-v (ai -- --version is a prompt). New regression tests for deferred migration, --help write-freedom and --/version parsing. - (bf39624) - Belingud - fix(agent): implement tool-output paging and harden shell env/spill handling
D6: fs_read_file gains optional offset/limit (characters, 0 = start/no limit) with per-file paging metadata (total_chars/returned_chars/truncated), so the truncation marker and docs that point the model at fs_read_file(offset/limit) for spilled tool output are truthful; legacy single-string/tuple inputs and the existing single/multi-file JSON shapes stay compatible. --cwd now wins over a stale exported YAI_WORKSPACE_ROOT: shell guardrail config is exported from cfg unconditionally (empty values skipped), matching entry._apply_cwd. Spill files for full tool outputs are created with 0600 permissions (best effort). Docs: context-limits paging table/semantics. Tests: schema contracts (OpenAI/Anthropic/Gemini), paging/edge cases, end-to-end tool-call paging, env precedence and spill mode. - (f19cac6) - Belingud - fix(permissions): block path-glob traversal and shell-syntax rule bypasses
D4: path_glob candidates are derived only from normalized paths (workspace-resolved with strict=False); the raw '..'-containing string is never a candidate and workspace-relative candidates that escape the workspace are rejected, so a rule like allowed/* can no longer be bypassed with allowed/../../victim.txt. Legitimate relative/absolute matches and the every-path-argument-must-match semantics are preserved. D5: argv_prefix rules only match a single simple command; the raw command is rejected when it contains shell control/expansion syntax (; | & < > backtick $( ${ <( >( CR/LF), so 'git status $(touch /tmp/x)' or piped/backtick variants require normal confirmation. 17 new regression tests (traversal/absolute/symlink escapes, parametrized control/substitution cases, legit plain args). - (4735f3d) - Belingud - fix(cli): keep machine-readable stdout clean in headless modes
D1/D2: re-point both the LLM client and its provider at the stderr console in machine-output mode, so provider verbose dumps ('Messages:', tools JSON) and API error bodies ('Error Response: {...}') can no longer corrupt --json/stream-json stdout; client/provider construction warnings are redirected to stderr as well. D3: compute headless intent in the CLI constructor (new defaulted print_mode/output_format/quiet kwargs) before the console, printer, client and prompt_toolkit session are created, so '-p --json' on a TTY never builds a PromptSession nor prints verbose config to stdout; entry.main passes the flags. D8: move the Gemini/MCP '@Function call'/'@MCP call' debug prints to stderr and drop ANSI escapes. Regression tests: polluting provider/client consoles under json/stream-json/--verbose, construction redirect, simulated-TTY constructor behaviour. - (5fd62bc) - Belingud
๐ Documentation¶
- docs(changelog,spec): record v0.19 verification fixes
Regenerate the v0.19.0 changelog section with the four post-verification fix commits (headless stdout purity, permission-rule hardening, tool-output paging/env/spill handling, write-free config + environment-safe tests) and update the py-layer specs for the new contracts: CLI headless constructor intent + provider console sync, fs_read_file paging/spill mode/cfg-to-env shell precedence, deferred legacy-config key migration, and setting test credentials before importing yaicli. - (1868067) - Belingud - docs: restore "Your AI assistant in command line" positioning
Revert the first-screen positioning copy to the v0.18 assistant wording kept by the project: README title/intro/footer, docs index title/intro, the PyPI description (A simple CLI tool to interact with LLM) and mkdocs site_description (An advanced CLI tool for interacting with AI models). The v0.19 functional documentation is unchanged and still shipped: headless/scripting, permissions, context & limits, upgrade pages, quick start, and the measured lightweight table. - (bc8d7fb) - Belingud - docs: reposition YAICLI as a lightweight agent and document v0.19
Rewrite README/docs index around the agent-first, lightweight-first positioning; add a 3-step quick start and the measured footprint table (with the sandbox measurement caveat). New pages: usage/headless (stdout/stderr contract, JSON/NDJSON, exit codes), usage/permissions (risk classes, rules v2, audit, /permissions), usage/context-limits (truncation, budget, /context, /compact), advanced/upgrade (v0.19 changes, reinstall, XDG config dirs). Move the 30+ provider matrix to a Compatibility section and sync mkdocs nav. - (dbd0a0b) - Belingud - docs(trellis): sync release spec with v0.18.0 release flow - (84d9a13) - Belingud - docs: update CHANGELOG for v0.18.0 release - (7e947dd) - Belingud
โ๏ธ Miscellaneous Tasks¶
- chore: record journal - (2720fef) - Belingud
- chore(release): sync uv.lock with v0.19.0
Refresh the editable package version recorded in uv.lock (0.18.0 -> 0.19.0) after the release bump; no dependency changes. - (42643ea) - Belingud - chore: record journal - (3d0b28e) - Belingud - chore(task): archive 11-04-v019-lightweight-agent - (a5b7d84) - Belingud - chore(trellis): record v0.19 lightweight-agent task and refresh specs
Add the v0.19.0 PRD/design/implement plan-of-record and update the py-layer specs for the new behavior: builtin direct-load + manifest, headless/exit-code contract, lazy write-free config/role/chat startup, error taxonomy/retries, context budget/truncation, risk-aware permissions and audit, and the new module map. - (b928de8) - Belingud - chore(release): v0.19.0
Bump to 0.19.0 and point ai/yaicli console scripts at yaicli._faststart:main; update the PyPI description to 'A lightweight agent in your terminal'. The static version in yaicli/init.py is now kept in sync with pyproject.toml by bump2version. - (e9eb123) - Belingud - chore: refresh uv.lock for v0.18.0 release - (b7b868f) - Belingud
0.18.0 - 2026-11-02¶
โฐ๏ธ Features¶
- feat(functions): read multiple files in a single fs_read_file call
Advertise fs_read_file's file_paths as a JSON array instead of Union[str, List[str]], so OpenAI/Anthropic schemas no longer emit anyOf and Gemini's callable-derived declaration becomes ARRAY/STRING instead of an invalid OBJECT + any_of. execute() keeps accepting a single path string (and tuples) for backward compatibility and returns an in-band JSON error for other argument types.
Add schema-contract, end-to-end tool-call, Gemini regression and compatibility tests, and document batch reads in README and docs. - (0d2d943) - Belingud
๐ Bug Fixes¶
- fix(tools): harden fetch_webpage redirect handling - (cfddf81) - Belingud
- fix(chat): keep old session until replacement is written - (ee0c125) - Belingud
- fix(render): escape role names and prompts in role command output - (a4258e6) - Belingud
- fix(gemini): group parallel tool responses into one function_response turn - (fde4264) - Belingud
- fix(tools): reject CGNAT/shared address space in fetch_webpage SSRF guard - (a4b7fea) - Belingud
- fix(tools): block SSRF in fetch_webpage with URL validation and redirect checks - (a437dc9) - Belingud
- fix(tools): never disable TLS verification on retry in fetch_webpage - (451d878) - Belingud
- fix(render): never interpret untrusted text as Rich markup - (159b8e0) - Belingud
- fix(cli): exit non-zero on handled failures - (f344a93) - Belingud
- fix(chat): persist full message fields in saved sessions - (5a04fa7) - Belingud
- fix(providers): support parallel tool calls in OpenAI-compatible providers - (58d11e6) - Belingud
- fix(gemini): send tool results as function_response and stop resending last turn - (34d4139) - Belingud
- fix(providers): tolerate missing reasoning_content in ChatGLM/HuggingFace responses - (1b59b9a) - Belingud
- fix(functions): keep permission checks before atomic fs_edit_file write - (7f0d414) - Belingud
- fix(functions): prevent fs_edit_file data loss on invalid replace edits - (215688e) - Belingud
- fix(functions): array-first fs_read_image schema
Mirror the fs_read_file fix: advertise image_paths as List[str] so OpenAI, Anthropic and Gemini no longer receive an anyOf/OBJECT+any_of declaration; execute() normalizes legacy str/tuple input and returns in-band errors for other types. - (92a4d05) - Belingud - fix(cli): send a minimal prompt for image-only invocations
ai --image photo.jpg now sends "Describe the image." (plural for several
images) instead of aborting in CLI.run() with an empty prompt. - (c6df177) - Belingud
- fix(context): replace '[' sentinel with structured FileReadResult
_read_file() now returns FileReadResult(content, error) instead of magic strings, so real text starting with '[' is included again in @refs and directory context; read failures are warned about and skipped. - (8703514) - Belingud - fix(cli): wire MAX_HISTORY and ROLE_MODIFY_WARNING
- prompt history now uses cfg["MAX_HISTORY"] instead of INTERACTIVE_ROUND
- MAX_HISTORY=0 disables history saving as documented
- warn when a built-in role is created/overwritten or deleted, gated by ROLE_MODIFY_WARNING
- remove the broken, unused RoleManager.print_roles() - (defdf80) - Belingud
-
fix(config): parse default config on first run and read YAI_PROVIDER
-
add PROVIDER to DEFAULT_CONFIG_MAP with the YAI_PROVIDER env key
- parse DEFAULT_CONFIG_INI after writing it on a first run instead of returning early, so PROVIDER and friends are present immediately
- treat empty file/env values as unset and fall back to the typed map default (EXTRA_HEADERS/EXTRA_BODY become dicts, REASONING_EFFORT None)
- drop the unused const.CODE_MODE constant - (097b6b4) - Belingud
๐ Documentation¶
- docs(changelog): record unreleased changes since v0.17.0 and sync docs page - (714b839) - Belingud
- docs(dev): fill developer guides, fix navigation and spec drift - (bee2c03) - Belingud
- docs: fix provider/config examples and defaults drift - (c715832) - Belingud
- docs: document post-P0 behaviour (session format, exit codes, fetch/fs_edit safety) - (491369c) - Belingud
- docs(functions): add complete function install/update guide - (bdb8784) - Belingud
-
docs: document image-only prompts and multi-image reads
-
note the minimal prompt used when --image is passed without a prompt
- document the fs_read_image image_paths list contract - (37d46a7) - Belingud
- docs: document tool execution confirmation for v0.17.0 - (530c774) - Belingud
- docs: update CHANGELOG for v0.17.0 release - (9273693) - Belingud
โ๏ธ Miscellaneous Tasks¶
- chore(task): archive 11-01-fix-bootstrap-known-defects - (a191828) - Belingud
- chore: record journal - (0949f40) - Belingud
-
chore(trellis): record fixed bootstrap defects in spec and task
-
update py/ specs to the fixed behaviour (first-run config, typed defaults, MAX_HISTORY/ROLE_MODIFY_WARNING, image-only prompt, FileReadResult context reads, fs_read_image array schema)
- mark the bootstrap PRD's known-defect list as fixed with commit refs
- add the 11-01-fix-bootstrap-known-defects task artifacts - (2011b37) - Belingud
- chore: record journal - (331f4a8) - Belingud
- chore(task): archive 00-bootstrap-guidelines - (9a61200) - Belingud
- chore(trellis): install Trellis workflow and bootstrap project spec
Add the Trellis AI development workflow for Claude Code and DeepSeek Harness (dsh): .trellis/ (workflow, scripts, tasks, workspace, spec), .agents/skills/ shared skill catalog, .dsh/ entry skills, the Claude Code surface (.claude/ hooks, agents, commands, skills, settings.json), the union-merge .gitattributes rule, and the managed Trellis block in CLAUDE.md (AGENTS.md symlink follows it).
Complete the 00-bootstrap-guidelines task: reshape the generated backend/web spec scaffold into layers that match the repository - py/ (architecture, providers, function calling/tools, CLI/rendering, config/context, quality) and repo/ (conventions, build/CI/release) - with every rule grounded in real source files, tests, and commits. The spec records current defects found while writing (first-run PROVIDER KeyError, unused CODE_MODE, dead MAX_HISTORY/ROLE_MODIFY_WARNING, --image-only abort, context "[" sentinel, role.print_roles, fs_read_image Union debt).
Verified: no placeholders, index<->file coverage, relative links, and
get_context.py --mode packages -> py, repo; independently reviewed by a
read-only verifier. - (cb6abd8) - Belingud
0.17.0 - 2026-06-23¶
โฐ๏ธ Features¶
- feat!: confirm tool calls before execution
Add a confirmation gate before each tool/function call with four outcomes: allow once, allow for the session, allow permanently, or deny. Approvals are keyed by tool name (MCP prefix preserved); permanent approvals persist to ~/.config/yaicli/tool_permissions.json via an atomic write. Denied calls return a matched tool result so the provider request stays valid, and non-interactive sessions deny unapproved tools instead of blocking.
Also stream reasoning as append-only text rather than re-rendering it in the live region, fixing duplicated 'Thinking:' frames after large tool output.
BREAKING CHANGE: tool calls now require confirmation by default. Set TOOL_CONFIRM=false (env YAI_TOOL_CONFIRM=false) to restore silent execution. - (7cc64f0) - Belingud
๐ Bug Fixes¶
- fix: drop api_key for Cohere Bedrock/Sagemaker clients
Bedrock and Sagemaker authenticate via AWS credentials; the Cohere api_key injected by the base initializer is not a valid argument for those clients and caused client creation to fail. - (9b77aa1) - Belingud
๐ Documentation¶
- docs: update CHANGELOG for v0.16.0 release - (1a0dfd6) - Belingud
๐งช Testing¶
- test: expand coverage across CLI, context, tools, and providers
Add tests for functions init, render, and tools init modules, and extend anthropic, longcat, chat manage, CLI, command handler, context, fetch webpage, and fs file operation test suites. - (8fe3871) - Belingud - test: expand provider test coverage
Add tests for openai-compatible, sambanova, and targon providers, and extend ai21, cohere, minimax, and simple provider test suites. - (14b38cb) - Belingud
[Unreleased]¶
โฐ๏ธ Features¶
- feat!: confirm tool/function calls before execution โ allow once, allow for the session, allow permanently, or deny. BREAKING: tool calls now require confirmation by default; set
TOOL_CONFIRM=false(envYAI_TOOL_CONFIRM=false) to restore the previous silent execution. Permanent approvals are stored per tool name in~/.config/yaicli/tool_permissions.json.
0.16.0 - 2026-05-10¶
โฐ๏ธ Features¶
- feat: support DeepSeek thinking mode - (2980316) - Belingud
๐ Documentation¶
- docs: update changelog for v0.5.2 release - (4e96660) - Belingud
0.15.2 - 2026-04-28¶
๐ Bug Fixes¶
- fix: add tool_policy parameter to completion params - (a47d619) - Belingud
- fix: fall back to httpx when trafilatura extraction fails - (1bdd254) - Belingud
0.15.2 - 2026-04-28¶
๐ Bug Fixes¶
- fix: add tool_policy parameter to completion params - (a47d619) - Belingud
- fix: fall back to httpx when trafilatura extraction fails - (1bdd254) - Belingud
0.15.0 - 2026-03-24¶
โฐ๏ธ Features¶
- feat: add -v/--version flag to show version and exit - (bae66c2) - Belingud
0.10.0 - 2026-01-20¶
โฐ๏ธ Features¶
- add longcat provider support and improve anthropic tool call handling - (6ca2e8e) - Belingud
- add default empty string to command handlers - (0c6ebed) - Belingud
- update file/dir context help text - (698fd61) - Belingud
- add support for @-prefixed paths in AtPathCompleter - (1b43712) - Belingud
๐ Bug Fixes¶
- compatible with /context add - (e60333d) - Belingud
๐ Documentation¶
- add LongCat provider documentation - (a3e4a79) - Belingud
- add context management and path completion features - (1bc7c74) - Belingud
- add file context management feature documentation - (4f53c73) - Belingud
- add changelog entries for v0.9.0 and v0.8.12 - (8fbfb27) - Belingud
๐งช Testing¶
- add LongCat provider tests and improve Anthropic provider testing - (5b950db) - Belingud
- add message filtering and context management tests - (43b226d) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update uv.lock - (5fa5af4) - Belingud
0.9.0 - 2026-01-10¶
โฐ๏ธ Features¶
- add EXCLUDE_PARAMS configuration option - (d36ce77) - Belingud
๐ Documentation¶
- add implementation plan for EXCLUDE_PARAMS feature - (ac3f743) - Belingud
- add changelog entries for v0.8.12 and v0.8.11 - (94c09e6) - Belingud
๐จ Styling¶
- format py files - (6a6cea8) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update uv sync command to include all groups and extras - (c025d72) - Belingud
0.8.12 - 2026-01-08¶
โฐ๏ธ Features¶
- (fetch_webpage) enhance webpage fetching with retries and trafilatura support - (cf64899) - Belingud
- (filesystem) add builtin filesystem functions for CLI - (55a7039) - Belingud
- add verbose logging for raw tool call names - (fe1e1a0) - Belingud
๐ Bug Fixes¶
- improve security checks for file operations and refactor path handling - (ca0ae47) - Belingud
๐ Documentation¶
- add changelog entry for v0.8.11 - (4077b27) - Belingud
๐งช Testing¶
- remove unused imports from test files - (f736c04) - Belingud
- add test files for filesystem operations - (aec5980) - Belingud
0.8.11 - 2025-08-03¶
๐ Documentation¶
- update changelog for v0.8.10 release - (c212daa) - Belingud
0.8.10 - 2025-07-24¶
โฐ๏ธ Features¶
- update wrap_gemini_function to add gemini func call log - (f34d322) - Belingud
๐ Documentation¶
- update changelog for v0.8.9 release - (73e9ab8) - Belingud
0.8.9 - 2025-07-22¶
โฐ๏ธ Features¶
- add OpenAICampatibleProvider and update Config imports - (72f8d91) - Belingud
๐ Documentation¶
- update changelog for v0.8.8 release - (063faf7) - Belingud
๐งช Testing¶
- add openai-compatible provider to test cases - (4f75278) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update uv lock - (e339adf) - Belingud
0.8.8 - 2025-07-21¶
๐ Bug Fixes¶
- remove frequency_penalty from AnthropicProvider - (6d21e6a) - Belingud
๐ Documentation¶
- update changelog for v0.8.7 release - (b788c6c) - Belingud
0.8.7 - 2025-07-20¶
โฐ๏ธ Features¶
- add error handling for first chunk in OpenAIProvider - (c6e3eae) - Belingud
๐ Documentation¶
- update changelog for v0.8.6 release - (1104d0f) - Belingud
0.8.6 - 2025-07-19¶
๐ Refactor¶
- remove frequency_penalty for cerebras and add get_tools method - (c6a16a5) - Belingud
๐ Documentation¶
- update changelog for v0.8.5 release - (a4e358b) - Belingud
0.8.5 - 2025-07-17¶
โฐ๏ธ Features¶
- add FireworksProvider and frequency penalty support - (a316006) - Belingud
๐ Documentation¶
- add frequency penalty configuration to README - (8fe3836) - Belingud
- update changelog for v0.8.4 release - (afd4f95) - Belingud
๐งช Testing¶
- add frequency_penalty to llm provider tests - (8f4da43) - Belingud
- add Fireworks provider tests - (cfc189f) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add fireworks-ai dependency - (0ff81af) - Belingud
0.8.4 - 2025-07-17¶
๐ Documentation¶
- add Fireworks to README.md - (ba80dbc) - Belingud
- add Fireworks AI provider documentation - (27df748) - Belingud
- update changelog for v0.8.3 release - (4851cd0) - Belingud
0.8.3 - 2025-07-16¶
โฐ๏ธ Features¶
- add new configuration options and refactor CLI options - (a52ee92) - Belingud
๐ Documentation¶
- add
MAX_TOOL_CALL_DEPTHconfiguration option - (c1cf420) - Belingud - update changelog for v0.8.2 release - (5f27d5d) - Belingud
๐งช Testing¶
- update test cases for AnthropicProvider and CLI - (367ea89) - Belingud
0.8.2 - 2025-07-15¶
๐ Bug Fixes¶
- add tool result handling in AnthropicProvider and update tool schema - (8e27965) - Belingud
๐ Documentation¶
- update changelog for v0.8.1 release - (1c546cd) - Belingud
๐งช Testing¶
- add test for converting messages with tool results - (3b04a71) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update deploy-docs.yml for better readability - (17ad8eb) - Belingud
- add GitHub Actions workflow for deploying MkDocs - (a653a29) - Belingud
0.8.1 - 2025-07-15¶
๐ Refactor¶
- add conditional newline in tool call content - (7bb167f) - Belingud
๐ Documentation¶
- update documentation for providers - (f36de06) - Belingud
- update changelog for v0.8.0 release - (1cd2fc4) - Belingud
0.8.0 - 2025-07-14¶
Disable time sleep in streaming response content from this version.
โฐ๏ธ Features¶
- add run shell directly cmd in chat - (126f5df) - Belingud
๐ Refactor¶
- improve chat history display and tool call handling - (145fdc6) - Belingud
๐ Documentation¶
- add shell command execution feature to CLI and usage docs - (fd22f9d) - Belingud
- update changelog for v0.7.17 release - (f1165a6) - Belingud
๐งช Testing¶
- update test case for run shell command - (9a2f2b7) - Belingud
0.7.17 - 2025-07-13¶
โฐ๏ธ Features¶
- add moonshot provider support - (8109255) - Belingud
๐ Documentation¶
- add more provider docs - (30e981d) - Belingud
- update changelog for v0.7.16 release - (e10b79a) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update uv lock - (794305a) - Belingud
0.7.16 - 2025-07-12¶
๐ Bug Fixes¶
- ensure live stop and remove update interval - (f9bb0aa) - Belingud
๐ Documentation¶
- add new release notes for v0.7.15 - (a347b64) - Belingud
0.7.15 - 2025-07-12¶
โฐ๏ธ Features¶
- enable openai azure provider and add docs - (7be0da3) - Belingud
- add openai azure provider support - (6384d1f) - Belingud
๐ Documentation¶
- update CHANGELOG with new release notes - (a2aa596) - Belingud
0.7.14 - 2025-07-10¶
โฐ๏ธ Features¶
- add cerebras provider support - (d6cc354) - Belingud
๐ Documentation¶
- update CHANGELOG with new release notes - (f4bd8d3) - Belingud
0.7.13 - 2025-07-09¶
๐ Bug Fixes¶
- update APP_REFERER and improve type annotations in OpenAIProvider - (a04a2c5) - Belingud
๐ Documentation¶
- update CHANGELOG with new release notes - (b18aaea) - Belingud
โ๏ธ Miscellaneous Tasks¶
- remove unused GitHub Actions workflow - (87e802c) - Belingud
0.7.12 - 2025-07-09¶
๐ Bug Fixes¶
- Indent tool choice print statement - (f70ba3a) - Belingud
๐ Documentation¶
- update CHANGELOG with new release notes - (c53150f) - Belingud
0.7.11 - 2025-07-09¶
๐ Documentation¶
- update CHANGELOG with new release notes - (2a1ea8c) - Belingud
โ๏ธ Miscellaneous Tasks¶
- remove docs.yml workflow - (b2e6aed) - Belingud
- remove google-cloud-aiplatform dependency - (6118c85) - Belingud
0.7.10 - 2025-07-09¶
๐ Documentation¶
- update provider documentation and navigation - (bffb3c6) - Belingud
- correct logo path in index.md - (97b94cb) - Belingud
- update function calling and MCP documentation - (030129b) - Belingud
- update CHANGELOG with new release notes - (4845ca0) - Belingud
- add more doc files - (8c5fffe) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add vertex support to anthropic dependency - (80e8252) - Belingud
- add new dependencies for anthropic and google-cloud-aiplatform - (9f9ceaf) - Belingud
- add debug steps to docs.yml - (1a7e4f1) - Belingud
- update GitHub Actions workflow for docs deployment - (cb3af0f) - Belingud
- update docs.yml to trigger on master branch - (6df9996) - Belingud
- update GitHub Actions workflow and docs - (f371d11) - Belingud
- update docs.yml to trigger on docs branch - (d87644b) - Belingud
- update GitHub Actions dependencies - (60ab515) - Belingud
- add main branch to docs workflow and update dependencies - (bc5e312) - Belingud
- add mkdocs workflow - (f566602) - Belingud
0.7.9 - 2025-07-07¶
โฐ๏ธ Features¶
- add support for Anthropic, Anthropic Vertex and Anthropic Bedrock providers - (88c879e) - Belingud
๐ Documentation¶
- add Anthropic/Claude provider details - (3f95754) - Belingud
- update CHANGELOG with new release notes - (f24a550) - Belingud
๐งช Testing¶
- add tests for AnthropicProvider and setup test environment - (5aa0986) - Belingud
0.7.8 - 2025-07-03¶
๐ Documentation¶
- update CHANGELOG with new release notes - (78761d4) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update fastmcp dependency to 2.10.1 - (9fb6818) - Belingud
0.7.7 - 2025-07-01¶
โฐ๏ธ Features¶
- add fetch_webpage buildin function - (09ec366) - Belingud
๐ Documentation¶
- update CHANGELOG with new release notes and documentation updates - (2ff0056) - Belingud
0.7.6 - 2025-07-01¶
โฐ๏ธ Features¶
- add default role configuration - (91c72f0) - Belingud
๐ Refactor¶
- remove unused imports and trailing whitespace - (cad95fe) - Belingud
๐ Documentation¶
- add DEFAULT_ROLE to README.md - (6308eea) - Belingud
- update README.md with improved descriptions and requirements - (25e32bc) - Belingud
- update README with new provider and formatting - (da056ca) - Belingud
- update CHANGELOG with v0.7.5 release notes - (566a85c) - Belingud
0.7.5 - 2025-07-01¶
โฐ๏ธ Features¶
- add get_weather buildin function - (876efb7) - Belingud
๐ Documentation¶
- add Spark and Together to README - (e26ea59) - Belingud
- update CHANGELOG with v0.7.4 release notes - (966e443) - Belingud
โ๏ธ Miscellaneous Tasks¶
- remove pydantic deprecation warnings - (ce2c18c) - Belingud
- add warnings import and filter deprecation warnings - (7003144) - Belingud
0.7.4 - 2025-06-30¶
๐ Bug Fixes¶
- handle LLM client creation errors gracefully - (6c8cbed) - Belingud
๐ Documentation¶
- add MCP Calling documentation to README - (70b5a86) - Belingud
- update CHANGELOG.md for v0.7.3 release - (ddae983) - Belingud
๐งช Testing¶
- add Together provider tests and improve line formatting - (560330e) - Belingud
0.7.3 - 2025-06-29¶
โฐ๏ธ Features¶
- add bailian, bailian-intl, spark and nvida providers - (106214b) - Belingud
๐ Documentation¶
- add documentation for new providers - (5fd9662) - Belingud
- update CHANGELOG.md for v0.7.2 release - (44b8702) - Belingud
๐งช Testing¶
- add new provider types to TestProviderFactory - (dbf4572) - Belingud
- add tests for Bailian, Mistral, Nvidia, and Spark providers - (f75a7f6) - Belingud
0.7.2 - 2025-06-28¶
โฐ๏ธ Features¶
- add MCP tools error handling and reasoning effort options - (68b9258) - Belingud
๐ Bug Fixes¶
- handle errors in get_openai_mcp_tools and MCPClient methods - (251961f) - Belingud
๐ Refactor¶
- standardize completion parameter keys across providers - (f294f75) - Belingud
๐ Documentation¶
- add Mistral to README - (0d72f37) - Belingud
- update CHANGELOG.md for v0.7.1 release - (72a2107) - Belingud
๐งช Testing¶
- add tests for MistralProvider and update imports - (c297bef) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add mistralai and tox-uv dependencies - (d753356) - Belingud
0.7.1 - 2025-06-27¶
๐ Documentation¶
- update CHANGELOG.md for v0.7.0 release - (782e0de) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add fastmcp dependency - (e1dfcbb) - Belingud
0.7.0 - 2025-06-27¶
[!IMPORTANT] - Add MCP support.
โฐ๏ธ Features¶
- add MCP support in functions module - (224c408) - Belingud
- add --list-mcp option to main function - (4a536d4) - Belingud
- add MCP options to CLI entry point - (d7f3978) - Belingud
- add MCP support to LLMClient and providers - (58a4609) - Belingud
- add asyncio utilities and function wrapper - (fb9e02b) - Belingud
๐ Bug Fixes¶
- Add tool call chunk processing in AI21Provider - (df78c4f) - Belingud
๐ Refactor¶
- simplify tool call creation and update default provider - (225e066) - Belingud
- remove unused imports and simplify DoubaoProvider constructor - (5effa9d) - Belingud
- update parse_choice_from_content to support ChoiceChunk - (7f2194f) - Belingud
- refactor tools module for MCP integration - (62ab778) - Belingud
๐ Documentation¶
- add default HF_PROVIDER to README - (98e0066) - Belingud
- add MCP support and documentation - (adfdd62) - Belingud
- update CHANGELOG.md for v0.6.4 release - (d16a66b) - Belingud
๐งช Testing¶
- update test case for new config key - (f38024c) - Belingud
- add tests for get_or_create_event_loop - (594b671) - Belingud
- update provider names and default value handling - (013a989) - Belingud
0.6.4 - 2025-06-24¶
โฐ๏ธ Features¶
- add new Cohere providers and improve type handling - (5d5f53c) - Belingud
- add HuggingFace provider to ProviderFactory - (a08cd70) - Belingud
- add HuggingFaceProvider class - (d81b42c) - Belingud
๐ Bug Fixes¶
- handle empty content in CLI methods - (26ed101) - Belingud
๐ Refactor¶
- standardize completion params keys in providers - (6802dfd) - Belingud
๐ Documentation¶
- update installation commands and supported providers - (9034c98) - Belingud
- add new models and configurations - (f2b02b8) - Belingud
- update CHANGELOG.md for v0.6.3 release - (8370366) - Belingud
๐งช Testing¶
- add tests for HuggingFaceProvider and update provider factory - (88f4a0b) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add new dependencies and keywords - (f82a5b7) - Belingud
0.6.3 - 2025-06-23¶
โฐ๏ธ Features¶
- add error handling for better error show - (ced63b8) - Belingud
- add gemini and vertexai providers - (1cb56ad) - Belingud
๐ Bug Fixes¶
- use display_stream return content for command execute - (5443822) - Belingud
- ensure non-empty config values are used in completion params - (c319ade) - Belingud
๐ Refactor¶
- remove unused BaseProvider class - (1166114) - Belingud
๐ Documentation¶
- update CHANGELOG.md for v0.6.2 release - (b9e6354) - Belingud
๐งช Testing¶
- add tests for gemini and vertexai providers - (7a9f755) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update default reasoning effort to empty string - (e7f59c3) - Belingud
0.6.2 - 2025-06-23¶
โฐ๏ธ Features¶
- update provider mappings in ProviderFactory - (3dce344) - Belingud
- add XaiProvider class based on OpenAIProvider - (f177da8) - Belingud
๐ Refactor¶
- standardize completion parameter handling across providers - (25be368) - Belingud
๐ Documentation¶
- update default settings and add XAI provider - (1cef2f8) - Belingud
- update CHANGELOG.md for v0.6.1 release - (0c5ece3) - Belingud
๐งช Testing¶
- add xai to provider factory test - (f89068f) - Belingud
- add tests for XaiProvider and new Role class - (c77d070) - Belingud
- update provider referer and add new providers - (423cbbd) - Belingud
0.6.1 - 2025-06-22¶
โฐ๏ธ Features¶
- add error handling for empty choices in OpenAIProvider for better error message - (9cd2a28) - Belingud
- add minimax and targon providers - (e8df86f) - Belingud
๐ Refactor¶
- Unify completion params handling in LLM providers - (9132020) - Belingud
๐ Documentation¶
- update CHANGELOG.md for v0.6.0 release - (f9b9085) - Belingud
๐งช Testing¶
- update mocking strategy for provider tests - (4b9c410) - Belingud
0.6.0 - 2025-06-22¶
โฐ๏ธ Features¶
- refactor OllamaProvider and update default temperature - (cf2dbe9) - Belingud
๐ Refactor¶
- Update provider naming and Groq N param handling - (309f70e) - Belingud
- revamp LLM client and provider architecture - (90f7d46) - Belingud
๐ Documentation¶
- update README with installation options and provider configs - (c7c088f) - Belingud
- update CHANGELOG.md for v0.5.9 release - (ba73961) - Belingud
๐งช Testing¶
- add llms package tests - (9c3e5c2) - Belingud
โ๏ธ Miscellaneous Tasks¶
- Update optional dependencies in pyproject.toml - (cc8f865) - Belingud
- Configure ruff linting and add 'all' optional deps - (3d660e3) - Belingud
- Update project keywords for broader AI model support - (5e09e7b) - Belingud
0.5.9 - 2025-06-12¶
๐ Documentation¶
- update CHANGELOG.md for v0.5.8 release - (18a47d2) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update click and typer dependencies - (1f99298) - Belingud
0.5.8 - 2025-05-22¶
๐ Refactor¶
- move schemas imports and update StrEnum compatibility - (a8a5b3b) - Belingud
๐ Documentation¶
- update CHANGELOG.md for v0.5.7 release - (a0a641a) - Belingud
0.5.7 - 2025-05-22¶
โฐ๏ธ Features¶
- add support for EXTRA_HEADERS and EXTRA_BODY configuration - (7f8622f) - Belingud
๐ Documentation¶
- update README with new config options and dependencies - (ebe2023) - Belingud
- update CHANGELOG.md for v0.5.6 release - (2cf8e82) - Belingud
0.5.6 - 2025-05-22¶
๐ Bug Fixes¶
- update project config and simplify printer logic - (029b7e2) - Belingud
๐ Documentation¶
- Fix formatting in README - (7e440da) - Belingud
- update CHANGELOG.md for v0.5.5 release - (5d12c69) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add 'ai' as alternative command in pyproject.toml - (d1852f1) - Belingud
0.5.5 - 2025-05-21¶
๐ Refactor¶
- Improve case-insensitive command handling in CLI - (a9f1382) - Belingud
๐ Documentation¶
- add producthunt badge to README - (3b2d98b) - Belingud
- add example image for reasoning shell - (99ff117) - Belingud
- update CHANGELOG.md for v0.5.4 release - (fb5d95a) - Belingud
0.5.4 - 2025-05-14¶
๐ Documentation¶
- Update CHANGELOG.md for v0.5.3 release - (a0bf128) - Belingud
โ๏ธ Miscellaneous Tasks¶
- Update dependencies - (698a054) - Belingud
0.5.3 - 2025-05-14¶
๐ Documentation¶
- update CHANGELOG.md for v0.5.2 release - (4393332) - Belingud
0.5.2 - 2025-05-14¶
๐ Documentation¶
- Update sologan and logo - (1ccd4b5) - Belingud
- Update CHANGELOG.md for v0.5.1 release - (d7023dc) - Belingud
0.5.1 - 2025-05-14¶
๐ Refactor¶
- remove unused command line argument - (2daf0e0) - Belingud
๐ Documentation¶
- add function call support to README - (191b5ae) - Belingud
- Update CHANGELOG.md for v0.5.0 release - (db7a328) - Belingud
0.5.0 - 2025-05-14¶
โฐ๏ธ Features¶
[!IMPORTANT] - Add Function Call support.
- Add reasoning effort configuration and function output panel - (f21d29b) - Belingud
- refactor client and printer logic, add function call support - (9f008be) - Belingud
- add non-stream completion function call - (572e2e2) - Belingud
- add non-stream completion function call - (13d6154) - Belingud
๐ Documentation¶
- Enhance README with function calling and provider info - (ab69e5c) - Belingud
- update changelog for v0.4.0 release - (66db3ee) - Belingud
๐งช Testing¶
- update test case for refactored project - (26e0faf) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update dependencies and script name - (562d930) - Belingud
0.4.0 - 2025-05-01¶
From this version, yaicli will use provider sdk instead of httpx raw request
Providers: - OpenAI - Cohere
โฐ๏ธ Features¶
- add provider-based API client architecture with OpenAI and Cohere support - (9f68de1) - Belingud
- add role modify warning config and optimize lru_cache - (9c25162) - Belingud
- add role modification warnings and singleton pattern for RoleManager - (e2f9596) - Belingud
๐ Refactor¶
- reorganize imports and improve code formatting - (c1ee133) - Belingud
๐ Documentation¶
- refine README with updated configurations and provider info - (90b8170) - Belingud
- update changelog for v0.3.3 release - (3c73873) - Belingud
๐งช Testing¶
- add provider tests for base, cohere, openai, and factory - (26e6ef2) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add chat demo cast and use asciinema for example - (36f3dea) - Belingud
- add yaicli to isort formatting in Justfile - (d47def9) - Belingud
0.3.3 - 2025-04-29¶
๐ Refactor¶
- remove redundant console print in CLI prompt logic - (1cf8241) - Belingud
๐ Documentation¶
- update changelog for v0.3.2 release - (328f51b) - Belingud
0.3.2 - 2025-04-29¶
๐ Bug Fixes¶
- mode change in repl should also change role - (9dea555) - Belingud
๐ Documentation¶
- Update CHANGELOG.md for release 0.3.1 - (4511255) - Belingud
๐งช Testing¶
- add X-Title header to API client test - (f786c48) - Belingud
โ๏ธ Miscellaneous Tasks¶
- configure GitHub Actions for PyPI publishing - (b2d0cd4) - Belingud
0.3.1 - 2025-04-29¶
โฐ๏ธ Features¶
- Add X-Title header to API requests - (e30060b) - Belingud
- clarify --code option help message - (74349c9) - Belingud
๐ Refactor¶
- simplify chat manager test setup - (8650b05) - Belingud
๐ Documentation¶
- refine CLI documentation and add code example - (658ecf9) - Belingud
- Update README with new features and usage examples - (756942b) - Belingud
- Update 0.3.0 feat changelog - (34ad75a) - Belingud
- update CHANGELOG for v0.3.0 - (ce27418) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update Justfile commands and descriptions - (0c5b841) - Belingud
0.3.0 - 2025-04-28¶
- Add roles create/delete/list/show commands
- Add role management functionality
- Improve configuration management
- Add reasoning show config, justify config
โฐ๏ธ Features¶
- add roles and improve configuration management - (fa883e9) - Belingud
๐ Refactor¶
- reorder imports and remove unused imports - (28699dd) - Belingud
- Improve typing and streamline code for maintainability, add role funtion - (7f7230b) - Belingud
๐ Documentation¶
- improve documentation and configuration details - (28287d0) - Belingud
- Add reasoning example and update README - (c80da0f) - Belingud
- Update README.md - (1c169e5) - belingud
- update CHANGELOG.md for v0.2.0 release - (9cda1ea) - Belingud
๐งช Testing¶
- update CLI input handling and improve test cases for chat mode - (7a12f71) - Belingud
0.2.0 - 2025-04-22¶
โฐ๏ธ Features¶
- enhance chat management and command-line interface - (6898273) - Belingud
- add chat persistent - (291d7b7) - Belingud
๐ Documentation¶
- improve documentation and add chat history features - (c0f1545) - Belingud
- Update README to clarify project description - (21d6389) - Belingud
- update CHANGELOG.md for v0.1.0 release - (474aaa4) - Belingud
๐งช Testing¶
- Update chat management and CLI tests - (1b3ccb0) - Belingud
- update test case for chat persistent - (af4f7e7) - Belingud
Chroe¶
- Add format command to Justfile - (676ba1b) - Belingud
0.1.0 - 2025-04-20¶
โฐ๏ธ Features¶
- split content and reasoning content for better display - (83c7cff) - Belingud
๐ Refactor¶
- Replace "reasoning" with "thinking" in tests, fix CLI exit - (519d210) - Belingud
- Rename INTERACTIVE_MAX_HISTORY to INTERACTIVE_ROUND - (ac17cad) - Belingud
- refactor yaicli, imporve logic - (71d19d6) - Belingud
- extract completion response processing logic - (d9f8d08) - Belingud
- refactor yaicli structure - (e2ad1be) - Belingud
๐ Documentation¶
- improve README with detailed features and usage - (555f2b7) - Belingud
- add example artwork - (8b40706) - Belingud
- update README with timeout option and improved help text - (cd0f031) - Belingud
- update CHANGELOG for v0.0.19 release - (4ff2781) - Belingud
๐งช Testing¶
- add new options to mock CLI config - (0279155) - Belingud
- update test case for refactor - (d6072b3) - Belingud
- update tests for refactor - (024edb7) - Belingud
0.0.19 - 2025-04-16¶
โฐ๏ธ Features¶
- enhance configuration handling with type support and improve default config initialization - (34bc896) - Belingud
๐ Documentation¶
- update CHANGELOG.md for v0.0.18 release - (bc19008) - Belingud
0.0.18 - 2025-04-14¶
โฐ๏ธ Features¶
- add auto-suggest from history and improve config handling - (22b31de) - Belingud
๐ Documentation¶
- update CHANGELOG.md for v0.0.17 release - (af27d29) - Belingud
0.0.17 - 2025-04-14¶
๐ Bug Fixes¶
- Correct stdin TTY check and remove completer - (e2ee703) - Belingud
๐ Refactor¶
- remove unused WordCompleter import - (968e6f1) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.16 in uv.lock and CHANGELOG.md - (f9376c4) - Belingud
0.0.16 - 2025-04-14¶
โฐ๏ธ Features¶
- (cli) add max history limit and stdin support - (1b685df) - Belingud
๐ Refactor¶
- Remove unused io import - (1e72f6c) - Belingud
๐ Documentation¶
- update README with new shortcuts and max history size - (af70000) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.15 in uv.lock and CHANGELOG.md - (15faced) - Belingud
0.0.15 - 2025-04-11¶
โฐ๏ธ Features¶
- add CODE_THEME configuration for code block styling - (ed0e8f6) - Belingud
๐ Bug Fixes¶
- handle None value in SHELL environment variable - (a4e29f5) - Belingud
๐ Documentation¶
- update CHANGELOG.md with env key prefix change - (48b33da) - Belingud
- update README.md with improved command execution format - (03b2417) - Belingud
- update command execution UI in README.md - (a4aadc8) - Belingud
๐จ Styling¶
- fix spacing around 'or' operator in shell detection - (44cedc9) - Belingud
๐งช Testing¶
- add smoke tests for CLI and fix shell detection tests - (baa1beb) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.14 in uv.lock and CHANGELOG.md - (9d21edf) - Belingud
0.0.14 - 2025-04-10¶
โฐ๏ธ Features¶
- (cli) enhance command execution and output display - (d101841) - Belingud
๐ Refactor¶
- clean up unused imports in yaicli.py - (71c64af) - Belingud
๐ Documentation¶
- (Justfile) update changelog command message - (b060812) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.13 in uv.lock and CHANGELOG.md - (3806f70) - Belingud
0.0.13 - 2025-04-09¶
[!IMPORTANT] - Change env key prefix from AI_ to YAI_
โฐ๏ธ Features¶
- (cli) add command edit option and improve console output styling - (48c14cc) - Belingud
- refactor CLI and add new configuration options - (ad09301) - Belingud
๐ Documentation¶
- update README with new ASCII art and command examples - (cdcb9af) - Belingud
- update CHANGELOG.md for v0.0.12 release - (456c454) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add ruff cache cleanup and uv lock to changelog - (218b310) - Belingud
0.0.12 - 2025-04-08¶
โฐ๏ธ Features¶
- add chat history and improve CLI UX with completions - (7749883) - Belingud
๐ Documentation¶
- restructure CLI options documentation in README - (142ac78) - Belingud
- update CHANGELOG.md for v0.0.11 release - (6a6b3ae) - Belingud
0.0.11 - 2025-04-07¶
๐ Refactor¶
- (yaicli) improve stream response parsing and add plaintext test - (92383ae) - Belingud
- replace requests with httpx for HTTP client and update dependencies - (cfc3823) - Belingud
๐ Documentation¶
- update project title in README - (cf8aaa7) - Belingud
โ๏ธ Miscellaneous Tasks¶
- add publish command to Justfile - (a2a76e5) - Belingud
- update yaicli version to 0.0.10 and CHANGELOG - (aab8fb2) - Belingud
0.0.10 - 2025-04-05¶
๐ Documentation¶
- update assistant name in default prompt - (e92313e) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.9 and CHANGELOG - (2a47a8b) - Belingud
0.0.9 - 2025-04-05¶
โฐ๏ธ Features¶
- add reasoning model support - (8a3d21b) - Belingud
๐ Documentation¶
- add configuration guide for non-OpenAI LLM providers - (20f590d) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.8 and improve README - (282d3b5) - Belingud
0.0.8 - 2025-04-04¶
โฐ๏ธ Features¶
- add command filtering and improve history management - (e743b13) - Belingud
๐งช Testing¶
- restructure and add new test files for CLI functionality - (09c81eb) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.7 and improve README - (71a8eff) - Belingud
0.0.7 - 2025-04-04¶
๐ Refactor¶
- simplify CLI structure and improve code maintainability - (4eed7d8) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.6 and CHANGELOG - (563a468) - Belingud
0.0.6 - 2025-04-03¶
๐ Refactor¶
- update environment variable names and remove max_tokens - (3abba5f) - Belingud
- simplify config handling and remove DEFAULT_MODE - (3439eda) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update CHANGELOG and uv.lock for version 0.0.5 - (d5abef4) - Belingud
0.0.5 - 2025-04-02¶
๐ Refactor¶
- rename ShellAI to YAICLI and update related tests - (2284297) - Belingud
๐ Documentation¶
- update README with detailed project information and usage instructions - (c71d50c) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.4 - (03cdedb) - Belingud
0.0.4 - 2025-04-02¶
๐ Refactor¶
- simplify multi-line statements for better readability - (4870bb7) - Belingud
- rename ShellAI to yaicli and improve CLI help handling - (dad0905) - Belingud
โ๏ธ Miscellaneous Tasks¶
- update yaicli version to 0.0.3 - (a689a02) - Belingud
0.0.3 - 2025-04-02¶
๐ Refactor¶
- (changelog) switch from git log to git cliff for changelog generation - (242a51d) - Belingud
- update CLI assistant description and error handling - (1a8bcdc) - Belingud
- fix spacing in clean target and simplify build target - (2a1050e) - Belingud
[0.0.2] - 2025-04-02¶
โฐ๏ธ Features¶
- enhance OS detection and LLM API request handling - (8c00de0) - Belingud
- add new dependencies and configurable API paths - (3be3f67) - Belingud
๐ Refactor¶
- (config) migrate config from JSON to INI format and enhance error handling - (f556872) - Belingud
- update config path to reflect project name change - (e6bf761) - Belingud
- rename project from llmcli to yaicli and update related files - (cdb5a97) - Belingud
- rename project from shellai to llmcli and update related files - (db4ecb8) - Belingud
- reorganize imports and improve code readability - (0f52c05) - Belingud
- migrate llmcli to class-based ShellAI implementation - (2509cba) - Belingud
Build¶
- add bump2version for version management - (de287f1) - Belingud