← Back to annodex

Changelog

Release history for annodex

0.1.63

Changes

  • Per-project WeCom IM gateway (v1): optional one bot per project cwd via
  • IM APIs: `GET/PUT /api/im/project`, `GET /api/im/projects`, `POST /api/im/turn`
  • Tools panel **Project IM** section: enable bot, bot credentials, pairing code,
  • WeCom pairing: users send project pairing code in IM to join `allowedUsers`;
  • IM unit tests cover config, auth, WeCom message parsing, and simulated IM

0.1.62

Changes

  • Phase 1 project memory: JSONL working store at
  • Promote working-memory candidates to project `MEMORY.md` or `CONTEXT.md` from
  • System prompt injects `CONTEXT.md` alongside `MEMORY.md`; `buildSystemPrompt()`
  • Tools panel shows memory stats, promotion candidates, and recent entries for
  • `annodex-memory` extension preset in Settings → Extensions; auto-registered in
  • README and docs site: writable `$HOME` / `ANNODEX_CONFIG_DIR`, project

0.1.61

Fixes

  • Settings Extensions tab: clip long extension names, IDs, and transport commands

0.1.60

Changes

  • Sidebar project switcher: replace the multi-project PROJECTS channel with a
  • Pin visibility: switcher lists pinned projects plus the active cwd; unpinned
  • Add project from the switcher dropdown via the existing folder browse dialog
  • Drag reorder pinned projects in the switcher dropdown; order persists in the

0.1.59

Changes

  • Chat image uploads: pasted images save to `{cwd}/.annodex-uploads/` via
  • User messages show path appendix (`[User attached image N: /path (name)]`) and
  • Session history restores images from Codex `localImage` inputs after reload.

0.1.58

Changes

  • Codex native `/goal`: slash command calls `thread/goal/set|get|clear` instead of
  • Subagent UI: top-right button shows only while subagent runs are active; panel

Fixes

  • Subagent status merge prefers terminal states (failed/completed) over stale
  • Idle session load finalizes in-flight subagent runs so historical sessions no
  • Clear subagent state immediately when switching sessions.

0.1.57

Changes

  • Stream session manager (`lib/stream-session-manager.ts`): client-side snapshot
  • Session reader: merge reasoning, tool calls, and text within a Codex turn into
  • Waiting UX: `StreamingStatusBar` shows live elapsed seconds and real runtime
  • Send flow: optimistic running state and stream shell start before SSE connect;

Fixes

  • Remove `message_end` mid-turn append; canonical state comes from `agent_end`
  • Optimistic user message dedup via `pendingOptimisticUserRef` and merge on
  • Streaming UI: thinking/tools render only in ProcessPanel during live turns,

0.1.56

Fixes

  • macos-codex-security.js: needsRepairBeforeSpawn now also checks
  • macos-codex-security.js: spctl timeout now treated as needing repair.

0.1.55

Fixes

  • codex-server.ts: resolveCodexNativeBinary now searches annodex's own
  • macos-codex-security.js: prepareMacOSCodexForSpawn now resolves the

0.1.54

Changes

  • macOS: ad-hoc codesign repair for revoked codex Developer ID certificate
  • doctor: add `--repair` mode for deep quarantine clear and ad-hoc signing.
  • next.config.ts: allow `127.0.0.1` and `localhost` in `allowedDevOrigins` for

Fixes

  • codex-server.ts: removed inline `clearMacOSQuarantine()` which performed
  • Hot path no longer calls `spctl --assess` or recursive xattr, eliminating

0.1.53

Changes

  • macOS: default transport switched from WebSocket to stdio (matching
  • macOS: child process no longer spawned with `detached: true`, matching
  • macOS: `clearMacOSQuarantine()` now also runs `spctl --assess` on the
  • Direct native binary spawn: `resolveCodexNativeBinary()` resolves the
  • Added `/docs/changelog` page that renders CHANGELOG.md in the annodex UI.

Fixes

  • macOS: corrected kill-on-close logic to use process-group kill only on
  • macOS: improved Gatekeeper diagnostic message with `spctl --add` and

0.1.52

Fixes

  • macOS: `clearMacOSQuarantine()` now targets the entire `@openai/codex` package
  • macOS: improved the Gatekeeper kill diagnostic message with a one-liner

0.1.51

Changes

  • macOS: `lib/codex-server.ts` now automatically clears the `com.apple.quarantine`
  • macOS: improved `proc.on("exit")` diagnostics — when the codex process is

0.1.50

Fixes

  • Ignored local `tmp/` protocol scratch files and the uncurated site image `site/public/images/搜索框传播样式-白色版.png` so they no longer pollute the release worktree or get staged by accident.

0.1.49

Fixes

  • Finalized in-flight subagent runs when a turn ends or the user aborts, so the Subagent panel no longer leaves stale `running` / `pending` entries hanging after cancellation or failure.

0.1.48

Changes

  • Added first-pass Extensions management in Settings and chat, including per-session extension visibility and toggles for enabled vs available extensions.
  • Added a browser-use extension testing checklist at `docs/browser-use-extension-test-plan.md` to document the minimum end-to-end validation flow.

Fixes

  • Synced saved enabled MCP extensions into the Codex MCP registry on save so newly configured servers can be discovered by runtime sessions without extra manual registration.

0.1.47

Changes

  • Added a WeChat follow card on the website homepage pointing users to the `seqyuan`公众号 for updated annodex tutorials and Windows setup guidance.

Fixes

  • Sidebar: increased project/chat loading timeout from 15s to 30s and converted abort/timeout failures into friendly retry messages, reducing macOS `AbortError: signal is aborted without reason` reports during slow Codex startup.
  • Skills: made skill path validation cross-platform by replacing hard-coded POSIX `/.codex/skills/` checks with normalized path resolution, fixing Windows skill search/install follow-up operations against user and project `.codex/skills` directories.

0.1.46

Changes

  • Expanded the website quick start with detailed Windows Miniforge installation, Codex initialization, Annodex launch, and DeepSeek model setup steps.
  • Added a screenshot-based Usage Guide covering model configuration, skills, file preview, runtime monitoring, and mobile browser usage.
  • Added product screenshots to the homepage and documentation overview.
  • Documented platform app-server transport defaults and added startup logging for the selected Codex app-server transport.

Fixes

  • Ensured website documentation references tracked screenshot assets so published docs render images correctly.

0.1.45

Changes

  • Added a wildcard Codex app-server notification hook so annodex can normalize all incoming app-server events consistently across WebSocket and stdio transports.
  • Added optional Codex event diagnostics with ANNODEX_CODEX_EVENT_LOG=1.

Fixes

  • Improved streaming output by lazily starting assistant rendering when text deltas arrive before turn or item lifecycle events.
  • Added streaming support for Codex reasoning text and reasoning summary deltas.
  • Avoided treating completed agent messages as new streamed content when deltas were already received, while preserving completed-message fallback when no deltas arrive.

0.1.44

Changes

  • Added dual Codex app-server transports: existing WebSocket mode and a new stdio JSON-RPC mode.
  • Windows now defaults to stdio transport, while macOS/Linux keep the existing WebSocket transport.
  • Added ANNODEX_CODEX_TRANSPORT=ws|stdio|auto override for transport selection.

Fixes

  • Improved Windows compatibility by avoiding local port/listener readiness issues that can leave chats stuck loading or turns stalled.
  • Codex server registry keys now include transport mode so WebSocket and stdio app-server instances are not accidentally reused across modes.

0.1.43

Fixes

  • Windows: completed the Codex app-server JSON-RPC handshake by sending the required `initialized` notification immediately after `initialize`, matching CodePilot/hello-halo and fixing cases where sidebar chat loading, thread start/resume, and agent replies could stall.
  • Sessions: added a 12-second timeout fallback for workspace `thread/list` loading so the sidebar no longer stays on "Loading chats..." indefinitely when the workspace app-server is stuck; it falls back to local session summaries instead.

0.1.42

Changes

  • Sidebar: renamed project section label from "Threads" to "Projects".
  • Sidebar: removed the "drag to sort, pin to top" hint next to the project label.

0.1.41

Changes

  • Simplified `annodex passwd`: terminal access now grants password-reset permission. No old password prompt, single new-password entry. Empty input disables auth. `--reset` still works as a silent alias for backward compatibility.
  • Simplified `promptPassword()` (first-run setup) to match the single-entry flow.

Fixes

  • Windows: `.cmd`/`.bat` shim binaries (e.g. `codex.cmd`) now launch through `cmd.exe /d /s /c` with `windowsVerbatimArguments`, matching CodePilot's `buildCodexLaunch()` pattern. Fixes spawn failures when the codex binary is an npm-installed shim in a path with spaces.
  • Windows: `findListeningPids()` now uses `Get-NetTCPConnection` (PowerShell) primary and `netstat` fallback for port detection, replacing the previous blank `return []` on win32.
  • Windows: `readProcessCmdline()` now supports win32 via `Get-CimInstance` / `wmic` fallback.

0.1.40

Fixes

  • Fixed `codex` CLI not found (`ENOENT`) on Windows: `getCodexExecutablePath()` now searches for `codex.cmd` and `codex.exe` in addition to `codex`, scans the global npm `node_modules/.bin` directory, and uses `__dirname`-relative lookup for globally-installed annodex. Connection failure errors now include a clear hint about the missing binary path.

0.1.39

Fixes

  • `handleSend` no longer removes the user's message on failure — the message stays visible and a descriptive "Send failed: …" error is shown, making it obvious when an agent request fails instead of silently flashing the message away.

0.1.38

Improvements

  • Preset providers (DeepSeek, Moonshot AI, Zhipu, MiniMax) now auto-discover models from the provider's API (`/v1/models`) after entering an API key, instead of using a static preset model list. Falls back to preset models if the API is unreachable.

Fixes

  • Added 15-second fetch timeout to `loadSessionsForCwd` and `loadProjects` in the sidebar, preventing permanent "Loading chats…" hang on slow or blocked network connections.

0.1.37

Fixes

  • Fixed constant screen flickering on Windows caused by `router.replace("/")` navigating away from `/workspace` and triggering a `redirect` → remount loop in `AppShell`. Three `handleCwdChange` / `handleNewSession` / `handleSessionDeleted` paths now use `/workspace` instead of `/`.

0.1.36

Fixes

  • Removed the tracked `presentation/` publishing assets and root `.source/` generated files from the Git repository so release secret scanning no longer flags embedded cookies or tokens.
  • Removed the obsolete root Fumadocs MDX build hook from the main app, fixing release `npm-publish` builds that failed on `source.config.ts` externalization.

0.1.35

Improvements

  • Refined the mobile chat input sheet interactions so phone users can reach composer actions more reliably without dialog overlays blocking taps near the bottom edge.
  • Added built-in provider presets for DeepSeek, Moonshot AI, Zhipu AI, MiniMax, and OpenRouter to speed up API-key-based model setup.

Fixes

  • Changed provider preset insertion in the Models dialog to update only the local draft until Save, preventing unsaved provider edits from being clobbered.
  • Allowed writable annodex provider entries to override same-id read-only Codex providers from merged config.
  • Switched the OpenRouter preset default protocol to OpenAI Responses for correct out-of-box behavior.

0.1.34

New

  • Added presentation assets for annodex product introduction: HyperFrames HTML composition with 6-scene Chinese narration, TTS audio, and CSS-rendered virtual UI showcasing the browser-based AI workspace experience.
  • Added WeChat official account promotional article (`presentation/wechat_article.md`) targeting bioinformatics researchers.
  • Added automated Xiaohongshu (RED) publishing scripts using Selenium/Playwright for one-click note posting with Firefox login session reuse.

Documentation

  • Updated product messaging across presentation and promotion materials: unified URL to `annodex.seqyuan.cn`, refined value proposition around eliminating ChatGPT/VPN barriers, DeepSeek API format bridging, and bioinformatics-specific generative UI.

0.1.33

Changes

  • Simplified the root app back to the local workspace role: `/` now redirects to `/workspace`, while the standalone `site/` subproject remains the only public-facing docs/marketing surface.

Maintenance

  • Removed the duplicated root-app docs route, root MDX loader chain, and mirrored `content/docs` sources that were superseded by `site/`.
  • Updated lint ignores so `site/.next` and `site/.source` generated files do not pollute root-repo lint results.

0.1.32

Improvements

  • Added a standalone `site/` public documentation subproject so Vercel can deploy the explanation site without exposing the main local workspace app, APIs, or `/workspace` route.
  • Reframed the public-site copy and docs to make the local/LAN product boundary explicit: the hosted site is documentation only, while annodex itself remains a local-first browser workspace.

Fixes

  • Restored historical message timestamps by hydrating chat history from local Codex session JSONL records instead of assigning the entire loaded thread the same `updatedAt` time.

0.1.31

Improvements

  • Added presentation copy and helper scripts for rendering or manually publishing the annodex promo deck and Xiaohongshu post assets.

Fixes

  • Normalized assistant messages that arrive as plain strings so the session UI still renders them as text blocks instead of dropping their content.
  • Removed outdated public/open-source wording from the presentation deck so the promo materials match the current annodex positioning and repository visibility.

0.1.30

Improvements

  • Added a public-facing landing page and documentation section so annodex now has a clearer project website instead of dropping users directly into the workspace UI.
  • Added a dedicated `/workspace` route for the actual working interface, keeping the browser workspace accessible while allowing `/` and `/docs` to serve as product-facing entry points.
  • Expanded the documentation set with quick start, installation, configuration, architecture, runtime, and workspace guides aligned to the current annodex product surface.

Fixes

  • Corrected project-site and docs copy to reflect the current product structure, including the workspace entry path and the removal of the old Report tab terminology.
  • Excluded generated Fumadocs `.source/` files from linting and git noise, while keeping the authored docs content tracked in the repository.

0.1.29

Fixes

  • Switched the mobile composer overflow menu outside-click handling to `pointerdown` with `mousedown` fallback, so tapping the three-dot button on phones reliably opens the More menu.

0.1.28

Fixes

  • Cleared the server-side prompt busy state as soon as an `agent_end` event arrives, so completed assistant replies no longer leave the composer stuck showing the red Stop button.

0.1.27

Improvements

  • Expanded project/session loading to prefer complete Codex thread metadata, so project chat counts and expanded project histories can reflect the full set of chats instead of only local cache fragments.
  • Added per-project chat count display in the left sidebar and a recent-project chat count fallback, making project activity easier to scan without opening every thread.
  • Improved chat runtime visibility with a live Working panel, elapsed-seconds label, periodic reconcile while sessions are running, and default full-access sandbox mode for new or resumed chats when configured.
  • Tightened mobile chat UX: the minimap and subagent overlays stay out of the way on phones, the composer is more compact and sticky, and the final messages now keep enough bottom space above the mobile input bar.

Fixes

  • Restored assistant timestamp rendering after replies finish so completed AI messages keep their visible time markers.
  • Hardened client refresh behavior with more reliable streaming/reconcile updates, reducing cases where users had to manually refresh the page to see the assistant reply.

0.1.25

Improvements

  • Reworked the chat message surface with a live process panel that keeps tool calls, thinking blocks, and runtime status visible while a Codex session is running.
  • Added floating preview windows for images and PDFs, including gallery navigation for generated image groups, so visual files no longer need to occupy right-panel tabs.
  • Expanded the chat input toolbar with a slash-command menu and practical prompt shortcuts for `/memory`, `/init`, and `/goal`, while keeping `/compact` as the only true native command.
  • Added persistent app settings for default sandbox mode and auto-restart, and wired the default sandbox choice into new sessions and restored threads.
  • Upgraded the project sidebar to support stable project ordering with pinning and manual reorder metadata, while keeping project history lazy-loaded.

Changes

  • Simplified the CLI help output by removing app-specific environment variable details from the default help screen.

0.1.24

Improvements

  • Reduced global install weight by moving build-only frontend packages out of runtime dependencies while keeping the production `.next` package layout.
  • Kept the npm package source-minimized: published files still contain production build artifacts, CLI files, defaults, and public assets rather than app/component source trees.

Fixes

  • Added a package check that prevents build-only frontend libraries from accidentally returning to runtime dependencies.

0.1.23

Maintenance

  • Released the verified 0.1.22 project sidebar, lazy session loading, and new-chat rollout handling changes as the current patch version.
  • Confirmed the local development server can run on an alternate Next.js dev port when the default port is already occupied.

0.1.22

Improvements

  • Reworked the left sidebar project list to a CodePilot-style Threads view with compact expandable project rows and hover actions for starting a chat in a project.
  • Updated the add-project dialog so users can either browse server folders or manually enter a project path and use it directly.
  • Kept project session history lazy-loaded per project so opening the sidebar does not eagerly read every Codex thread.

Fixes

  • Fixed session restore paths to use lightweight thread metadata lookup before loading full history, preventing old sessions from being blocked by unrelated project/session scans.
  • Treated missing Codex rollouts and not-found thread reads as absent sessions instead of hard failures.
  • Skipped `thread/resume` before the first prompt for newly created chats, avoiding `no rollout found` errors on new thread startup.

0.1.21

Improvements

  • Reworked the left sidebar project channel to match the AnnoVibe grouped project view: all chat projects are shown, project chat history is collapsible, and only the current or most recently active project expands by default.
  • Added a right-panel Tools tab that shows live Codex chat runtime status, including phase, model, active tools, wait time, last event, and abort control.
  • Added a lightweight Starfleet-inspired favicon.
  • Opened the right panel on Files by default after removing the Report tab.

Changes

  • Removed the Analysis Report tab, report update parsing, report prompt injection, report storage, and report API surface.

Fixes

  • Exposed `/api/agent/runtime` for UI runtime polling and expanded runtime state tracking for running sessions.

0.1.20

Fixes

  • Wait for the `connected` SSE event before sending the first prompt in new and resumed chats, so the event subscription is live before Codex emits turn events.
  • Treat agent event stream connection timeouts as send failures instead of entering "Waiting for model...", and clean up unconfirmed EventSource connections.
  • Prevent duplicate sends while a chat is still creating its session or waiting for SSE setup.
  • Send the SSE `connected` event only after the server has registered the session event listener.

0.1.19

Fixes

  • Fixed new chats getting stuck on "Waiting for model..." after the temporary new-session view switches to the real Codex thread id.
  • Scoped EventSource cleanup to the session id it owns so session creation, model-switch forks, and reconnects do not accidentally close the active SSE stream.

0.1.18

Improvements

  • Moved the file explorer out of the left sidebar into a persistent right-panel Files tab.
  • Restored the left sidebar project list as an expanded project tree, with only the most recently active or current project's chats expanded by default.
  • Open PDF and image files in draggable preview windows instead of occupying right-panel file tabs.

Fixes

  • Kept project chat loading scoped per project so expanding one project's history does not force all project histories to load at once.

0.1.17

Improvements

  • Added the Annodex Router provider so Codex app-server now sees one stable `annodex-router` provider per workspace while Annodex routes real provider/model requests by wire model key.
  • Centralized Responses and Chat Completions routing in the local router, reusing the compat proxy translation path for Chat-only providers.
  • Kept legacy multi-provider workspace env generation available as a rollback/test path.

Fixes

  • Resumed chats now bind the current wire model before each prompt, allowing historical chats to continue and switch models without losing the thread.
  • Prevented `annodex-router` provider ids and hashed wire model keys from leaking into UI session runtime, history rendering, and context usage recovery.
  • Preserved protocol correctness by keeping `turn/start` provider-stable and sending only the wire model id for each turn.

0.1.11

Improvements

  • Router/relay providers (DeepRouter, OpenRouter, etc.) now default to Responses API without the compat proxy, matching codex CLI behavior and eliminating ~6s of SSE translation latency.
  • New chats auto-select a default model from annodex providers.json when no codex config.toml default is set.

Fixes

  • Cross-provider model switching no longer forces a full ChatWindow remount, preserving the selected model across the fork so the UI does not appear blank after switching.
  • Session-change effect uses `[session?.id]` dependency instead of mount-only, with a ref guard to avoid reconnecting the already-live EventSource after the first message creates a session.

0.1.10

Improvements

  • Added collapsible "Chats" section in the sidebar, matching the existing Project and Explorer toggle behavior, with session count display.

Fixes

  • Fixed cross-provider session context loading (e.g. DeepRouter threads queried through DeepSeek server) by looking up the session's stored provider runtime before choosing a codex app-server instance.
  • Moved `codexServerEnvForModel` to a shared location to avoid circular imports between `rpc-manager` and `session-reader`.

0.1.9

Fixes

  • Fixed cross-provider model switching (e.g. DeepSeek → DeepRouter) silently creating a fresh thread instead of leaking a "thread not found" error, since each codex app-server instance only knows its own threads.

0.1.8

Improvements

  • Added per-provider `reasoningConfig` to `providers.json`, allowing explicit control over thinking/reasoning parameter mapping (thinkingParam, effortParam, effortValueMode) when the compat proxy translates OpenAI Resposnes to Chat Completions. Falls back to hardcoded provider defaults when not configured.
  • Vulcan salute (LLAP 🖖) favicon replacing the generic hand icon.

Fixes

  • GPT-pattern models (e.g. `gpt-5.5`) on Chat Completions providers like DeepRouter no longer force `openai-responses`; they now inherit the provider's API setting, ensuring the compat proxy starts and translates correctly.
  • Included `reasoningConfig` fingerprint in the codex app-server instance key so switching models with different thinking parameter mappings creates a fresh compat proxy instead of reusing a stale one.

0.1.7

Fixes

  • Moved `-c` global config overrides before the `app-server` subcommand so Codex app-server correctly loads dynamic provider settings (DeepSeek, DeepRouter, etc.), fixing sessions that were stuck on "Waiting for model...".
  • Fixed DeepRouter/OpenRouter API detection — now correctly identified as Chat Completions providers instead of defaulting to OpenAI Responses, ensuring the compat proxy translates requests properly.
  • Added `crazyrouter`, `therouter` to Chat Completions provider patterns and compat proxy detection for consistent routing.

0.1.6

Improvements

  • Kept UI-managed providers and Codex home providers distinct when their ids or model names collide, so duplicate models such as `gpt-5.5` resolve to the selected source.
  • Marked Codex-loaded providers as read-only in the Models settings UI and prevented them from being written back to annodex provider config.
  • Replaced the old pi favicon with an LLAP hand favicon.

Fixes

  • Resolved provider normalization and app-server switching issues that could send a UI-configured deeprouter GPT model through a stale DeepSeek-compatible connection.
  • Added session alias handling when Codex cannot resume an old thread and creates a replacement thread, fixing restored-session `thread not found` failures.
  • Removed the misleading Steer and Follow-up input controls because Codex app-server does not support native steer or queued follow-up operations.

0.1.5

Improvements

  • Added collapsible Project controls in the left sidebar, matching the Explorer section behavior.
  • Made the Project header refresh projects and current project sessions when toggled, while keeping the dedicated refresh button for refresh-only updates.
  • Improved deeprouter and mixed-provider model handling so GPT-style models can use OpenAI Responses while DeepSeek/Kimi/Qwen-style models use Chat Completions through the compat proxy.

Fixes

  • Switched Codex app-server connections when the UI model/provider changes, preventing a selected deeprouter GPT model from being sent through a stale DeepSeek provider connection.
  • Preserved `custom` providers in session runtime so restored sessions keep the correct provider context.
  • Merged Codex `~/.codex/config.toml` and `auth.json` defaults with annodex-managed provider models, including API key discovery from Codex auth state.

0.1.4

Improvements

  • Restored Codex token statistics in the top bar by reading `token_count` events from local Codex session JSONL history.
  • Added context usage recovery for Codex app-server sessions, including context window fallback from known model defaults and configured models.
  • Attached per-turn token usage to assistant messages when Codex history includes usage snapshots.
  • Display context usage as used tokens over context window, with percentage detail in the tooltip.

Fixes

  • Avoided double-counting duplicate Codex token snapshots emitted during the same turn.
  • Kept live agent state aligned with recovered context usage after refresh or idle resume.

0.1.3

Improvements

  • Aligned model settings with annodex's Codex Web target by supporting only the two backend protocols that actually run: OpenAI Responses and Chat Completions through the compat proxy.
  • Added provider protocol inference so DeepSeek/Kimi/Qwen/Zhipu-style endpoints default to Chat Completions while OpenAI and deeprouter-style endpoints default to Responses.
  • Made model testing perform a real lightweight provider request instead of returning a placeholder success.
  • Preserved model-level protocol overrides, reasoning flags, thinking-level maps, and compatibility metadata across save/load.

Fixes

  • Reused Codex app-server processes only when provider protocol, base URL, API key source, and context window match, preventing stale credentials after model settings changes.
  • Passed thinking-level defaults into the Chat Completions compat proxy for reasoning-capable providers.
  • Kept model, skills, projects, and session APIs aligned with `CODEX_HOME` and active Codex runtime state.

0.1.2

Improvements

  • Load projects, sessions, skills, and model settings from local Codex/annodex state without blocking on a cold `codex app-server` startup.
  • Read Codex-native skills from project, user, and system skill directories, and install skills with the Codex agent target.
  • Make model configuration work with just `baseUrl`, `apiKey`, and a manually entered model id; model discovery is now optional.
  • Surface managed-server update and idle-restart state in the Web UI top bar.
  • Improve Analysis Report prompting and fallback generation with representative figure links and richer output file notes.

Fixes

  • Fixed settings panels that could remain stuck on loading for projects, skills, and models.
  • Preserved Codex defaults from `~/.codex/config.toml` unless the user explicitly changes annodex-managed defaults.
  • Scoped session listing to the active project and skipped injected context in previews.

0.8.17

Improvements

  • Added streaming progress updates and cancel support for skill installs.
  • Made `npx skills` invocation non-interactive and increased the install timeout for slow GitHub clones.
  • Improved skill install error cleanup so spinner control codes and npm first-run warnings do not obscure the real failure.
  • Fixed the npm publish workflow package name after the AnnoVibe rename.

0.8.16

Improvements

  • Auto-detect image-capable models during Models discovery and import them with `input: ["text", "image"]`.
  • Show an `image` capability marker in the Models discovery list for imported vision models.

0.8.15

Fixes

  • Fixed Plot tool preset activation so new sessions actually allow `kernel_plot_*` tools.
  • Kept Plot mode synced on existing sessions after idle wrapper recreation or later prompts.
  • Prevented Plot mode from being implicitly enabled when restoring ordinary sessions.

0.8.14

Improvements

  • Added idle-aware auto-restart for managed AnnoVibe servers after package updates.
  • Improved bioinformatics analysis reporting so completed analysis runs create topic-scoped Report updates, including large PDF/result directories.
  • Prefer generated UI widgets over Mermaid for diagrams unless raw Mermaid/source output is explicitly requested.

Fixes

  • Fixed PDF.js compatibility in browsers missing `Uint8Array.prototype.toHex`.
  • Prevented Mermaid syntax errors from flooding or crashing the chat UI.
  • Added clearer sidebar API error messages and ignored local `.pi/` workspace data.

0.8.12

Changes

  • Renamed the product surface from Pidex to AnnoVibe / annovibe.
  • Added AnnoVibe version checking with npm update command hints.
  • Added plot kernel status APIs, memory display, release action, and idle timeout settings.
  • Kept legacy pidex settings, auth cookies, and CLI state files compatible during migration.

0.7.9

Improvements

  • **Global file editor in right panel** — soul.md and harness.md now open in right panel with CodeMirror, instead of inline sidebar textarea.

0.7.8

Fixes

  • **stderr null reference** on daemon detach.

0.7.7

  • Updated README with all features and CLI commands.

0.7.6

Fixes

  • **Login redirect** — auth env was exposed to `next.config.ts` so Edge Runtime middleware can read it.
  • **Password management** — `annovibe passwd` (change), `annovibe passwd --reset` (remove). Password stored at `~/.pi/agent/web-auth.json`.

0.7.5

New Features

  • **CLI commands** — `annovibe --version`, `annovibe --help`, `annovibe update` (self-update from npm).
  • **Version check** — auto-checks npm for newer version on startup.

0.7.4

Changes

  • **Removed @lobehub/icons** — replaced 25 provider icons with inline SVGs. Eliminates @lobehub/ui → antd → @emoji-mart heavy dependency chain. No more peer dependency warnings on install.

Improvements

  • **Daemon mode** — annovibe auto-detaches after startup, returns terminal prompt while server runs in background.

0.7.2

Fixes

  • **Login redirect broken** — `router.push()` not sending `SameSite=Lax` cookie, causing endless login loop. Fixed with `window.location.href` hard navigation.
  • **npm-publish workflow** — explicit `.npmrc` auth token, handle already-published packages, fix `useSearchParams` Suspense wrapper, split `auth-token.ts` from bcryptjs for Edge Runtime compat.

0.7.1

New Features

  • **Streaming widgets** — `show-widget` fence support. LLM outputs charts/plots/SVG inline during streaming, rendered in sandboxed iframe with postMessage protocol.
  • **Visualization harness** — global `harness.md` behavioral constraints. Default template covers when to visualize, chart type guidelines, and matplotlib/R script→base64 PNG embedding.
  • **Global harness editor** — inline editing in sidebar Context panel (same UX as soul.md).

Changes

  • harness.md moved from per-project (`{cwd}/`) to global (`~/.pi/agent/`) alongside soul.md
  • SoulEditor renamed to GlobalEditor (shared by soul.md + harness.md)

0.7.0

New Features

  • **Password authentication** — optional password protection (like Jupyter). Set on first start via CLI prompt or `ANNOVIBE_PASSWORD` env var. bcrypt-hashed, HMAC-signed session cookies.
  • **Subagent panel** — track subagent runs (active/completed/failed) in a slide-out panel in the chat area.
  • **Resizable panels** — drag sidebar and right panel dividers to resize. Widths persist via localStorage.
  • **Document viewers** — PDF, DOCX, XLSX, PPTX preview in sidebar file explorer and drag-drop attachments in chat.
  • **Text file editing** — CodeMirror 6 editor with syntax highlighting for 10+ languages. Ctrl+S to save.
  • **Project Context** — sidebar section for soul.md (global, Spock personality), memory.md (project-level, self-updating), and AGENTS.md.

Improvements

  • Renamed from `@agegr/pi-web` to `@seqyuan/annovibe`
  • SSE reconnection now works during tool execution (not just text streaming)
  • File explorer auto-refreshes on custom path changes
  • Custom messages (`subagent-notify`) now rendered in chat
  • soul.md / memory.md auto-injected into system prompt at session creation

Fixes

  • `xdg-open` crash on systems without xdg-utils installed
  • Session switching no longer loses in-progress agent responses