AnswerDotAI / AnswerDotAI/shell_sage

PyPI 1.0.8 is broken with current python-fastllm (ssage prints "Connecting..." then exits silently); fix #96 is on main but not released

Open
#98 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
409
Forks
45
Avg merge
1m
Merged PRs (30d)
1

Description

## Bug

Installing shell-sage from PyPI (1.0.8) and running `ssage` produces **no output** — just a `Connecting...` spinner, then exit code 0.

## To reproduce

```
uv tool install shell-sage # resolves to 1.0.8
ssage "Say hello"
```

Expected: a streamed answer. Actual: `⠋ Connecting...` with nothing after it.

## Error messages

None — the process exits with code 0 and empty stderr. The failure is silent, which makes it easy to miss.

## Root cause

In 1.0.8, `get_res` in `shell_sage/core.py` only accumulates chunks that are dicts:

```python
if isinstance(chunk, dict) and 'text' in chunk: _res += chunk['text']
```

Current `python-fastllm` (0.0.40) streams `Text`/`Thinking` objects instead of plain dicts, so no chunk is ever accumulated, nothing renders, and the process exits 0.

This is already fixed on `main` (commit `564d013`, "fixes #96", using fastllm's `StreamAccum`) — but **no release has been cut since**. PyPI still serves 1.0.8 (released 2026-07-20), so everyone installing today gets the broken version. This affects both `uv tool install` and `pip install shell-sage`.

I searched the open issues before filing this — none report this bug. #96 (closed) only tracked the code fix itself, which is done; this issue is about that fix never being released.

## Workaround

```
uv tool install --force --from git+https://github.com/AnswerDotAI/shell_sage shell-sage
```

## Request

Please cut a 1.0.9 release so the `StreamAccum` fix ships to PyPI.

## Environment

- macOS, zsh
- shell-sage 1.0.8 (PyPI)
- python-fastllm 0.0.40

Contributor guide

Open the contributing guide

Research direction

Start by inspecting commit 564d013 on main and the versioned package around shell_sage/core.py, then verify how the project publishes to PyPI. Done means a 1.0.9 package is available from PyPI and `uv tool install shell-sage` or `pip install shell-sage` produces a streamed answer with python-fastllm 0.0.40.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
release
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.