Repository navigation
v0.2.0
The release that makes Sensei safe to put in front of a coding agent all day,
easy to install on every OS, and calm to look at.
Works with the agents people use now
- Codex routes through Sensei again. Codex only speaks OpenAI's Responses
API since early 2026, and refuses to start with thewire_api = "chat"that
setup-toolsused to write. Sensei now serves/v1/responses(plus
/compactand/input_tokens), compresses tool outputs inside it, and writes
wire_api = "responses". - Claude Code's token counting works through the gateway.
/v1/messages/count_tokensused to 404; it now counts the request as Sensei
will actually send it, so Claude Code compacts at the right moment. - Agents' edits keep matching. Source code and line-numbered file views in
tool results now pass through byte-exact: Claude Code's Edit and Codex's
apply_patch match text exactly, and a model that never saw a comment writes
anold_stringwithout it.SENSEI_CODE_COMPRESSION=aggressiverestores
rewriting for people who want the extra savings. - The code compressor stopped corrupting code. It removed
#and//
inside string literals (return "#16a34a"becamereturn "), left
multi-line docstrings half-deleted, and folded runs of JavaScriptconst
declarations away as if they were imports. Comment stripping is now a
linear, string-aware scanner. - Errors arrive as errors. A 429 on a streaming request used to come back
as200 text/event-stream. Upstream status, body and rate-limit headers are
now passed through; 429/5xx/529 and connection failures are retried (honouring
Retry-After) before the first byte reaches the client. - Optional local fallback. With
SENSEI_FALLBACK_ENABLED=true, a request
the provider cannot serve is answered by Ollama, llama.cpp, LM Studio or vLLM
instead — never silently: the response carriesX-Sensei-Fallback, and the
provider's key is never sent to the local server. - Current defaults: Claude Sonnet 5.5, GPT-6.1 Sol, Gemini 3.8 Flash, GLM-5.3,
DeepSeek V4 Flash, gpt-oss on Groq; a refreshed local catalogue (Qwen3.5/3.8,
Gemma 4, gpt-oss, Ornith). Gemini, Cohere and HuggingFace base URLs that could
not have worked are fixed.
Honest numbers
- Prompt-cache accounting. The ledger now records what the provider billed
— including cache reads and writes, from JSON responses and from streams —
and the dashboard shows the cache hit rate next to the savings. Compression
that broke caching would show up here.
New
- MCP proxy. List other MCP servers in
~/.sensei/mcp-servers.json(Claude
Desktop's format) and an agent sees two tools instead of all of theirs:
sensei_find_toolsandsensei_call_tool. Results come back compressed;
long ones arrive as a first page plus an id thatsensei_retrievepages
through.sensei mcp --transport streamable-httpserves MCP over HTTP. - Disassembly compression for objdump, GDB, radare2, Ghidra and IDA
listings: opcode bytes, flow gutters and padding runs go; every address,
mnemonic and operand stays. 42–56% fewer tokens on typical listings — useful
behind reverse-engineering MCP servers like REA or GhidraMCP.
Install, start, update — on every OS
- One-command installers.
curl -fsSL …/install.sh | sh(macOS, Linux)
andirm …/install.ps1 | iex(Windows) download the release binary, verify
it againstSHA256SUMS, and offer autostart and tool wiring. No Python
needed. The README's pipx, Homebrew, Scoop and winget lines pointed at
packages that were never published; they are gone. sensei autostart on|off|status: a Run key on Windows, a LaunchAgent on
macOS, a systemd user service (or XDG autostart) on Linux. Per-user,
reversible, no administrator rights.sensei update [--check]: asks GitHub only when you run it (or daily with
SENSEI_UPDATE_CHECK=true), replaces binary installs in place after verifying
the checksum, runs the Windows installer silently, and tells pip users the
one command. The tray menu gains "Start at login" and "Check for updates".- The Windows installer puts
senseion the user's PATH and survives being
run over a running copy.
A calm redesign
- New look after dpm.lol: quiet surfaces, hairline borders, one periwinkle
accent, gold only for the number a page is about. Light and dark,
following the system by default. Same tokens and font as Odysync. - New Connections page (which tools are routed, gateway addresses, MCP) and
a real Settings page (theme, the chat's provider, updates, autostart) in
place of a panel whose sliders changed nothing. - New logo; tray and Windows icons to match.
Security
- DLP redaction now recognises OpenAI's current key formats (
sk-proj-…,
sk-svcacct-…), which slipped through, and coverscount_tokensand
responses/compacttoo. It no longer rewrites thinking signatures or
encrypted reasoning, which providers verify byte for byte. - A quadratic regular expression in the prose compressor, a log-injection path
and an exception message reaching clients — all found by CodeQL — are fixed. - CI is green again: the frontend's vitest/coverage mismatch, the extension's
bracesadvisory (via anovsxoverride), the nightly benchmark push, and
the extension's@types/vscodedrift are fixed. Python 3.14 joins the matrix,
and every installer is run for real on Windows, macOS and Linux in CI.
Install
One command, no Python needed — downloads the binary for your machine
and checks it against SHA256SUMS before installing:
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/SenseiIssei/Sensei/main/install.sh | sh# Windows
irm https://raw.githubusercontent.com/SenseiIssei/Sensei/main/install.ps1 | iexOr take a single file yourself:
| Platform | File |
|---|---|
| Windows 10/11 x64 | sensei-windows-x64.exe (or .zip) |
| macOS (Apple silicon) | sensei-macos-arm64.dmg (or .tar.gz) |
| macOS (Intel) | sensei-macos-x86_64.dmg (or .tar.gz) |
| Linux x86_64 | sensei-linux-x86_64.AppImage, .deb, .rpm, .tar.gz |
| Docker | ghcr.io/senseiissei/sensei-backend:latest |
| VS Code | sensei.vsix |
Then:
sensei up # start the server, open the web UI
sensei setup-tools # point the AI tools on this machine at itThese builds are not code-signed
Sensei has no Apple Developer account or Windows code-signing
certificate yet, so:
- macOS shows "cannot be opened because the developer cannot be
verified". Right-click the app and choose Open, or run
xattr -d com.apple.quarantine /path/to/sensei. - Windows shows a SmartScreen warning. Click More info ->
Run anyway.
Verify what you downloaded instead of trusting the warning dialog:
sha256sum -c SHA256SUMS --ignore-missingEvery artifact is also signed with Sigstore. Verify one with:
pip install sigstore
sigstore verify identity \
--cert-identity-regexp 'https://github.com/SenseiIssei/Sensei/.*' \
--cert-oidc-issuer https://token.actions.githubusercontent.com \
sensei-linux-x86_64.AppImageWhat's Changed
- chore(deps): bump the actions group across 1 directory with 9 updates by @dependabot[bot] in #139
- chore(deps): bump the frontend-minor-patch group across 1 directory with 13 updates by @dependabot[bot] in #138
- chore(deps-dev): bump the extension-deps group across 1 directory with 4 updates by @dependabot[bot] in #131
- chore(deps): bump the actions group with 7 updates by @dependabot[bot] in #144
- chore(deps-dev): bump @vitest/coverage-v8 from 4.1.10 to 5.0.1 in /frontend by @dependabot[bot] in #143
- chore(deps): bump the frontend-minor-patch group in /frontend with 3 updates by @dependabot[bot] in #142
- chore(deps-dev): bump the extension-deps group in /extensions/vscode with 4 updates by @dependabot[bot] in #141
- chore(deps-dev): bump vitest from 4.1.10 to 5.0.1 in /frontend in the build-tooling group across 1 directory by @dependabot[bot] in #140
- Sensei 0.2: Codex & Claude Code done right, MCP proxy, installers, calm redesign by @SenseiIssei in #157
Full Changelog: v0.1.19...v0.2.0