Download
Changes
v0.6.0 (Added)
- MCP servers. Connect external MCP servers over stdio or HTTP and use their tools from agent sessions. A new MCP settings page manages servers and their tools; MCP tool calls show confirmation cards and status in chat. Server entries can be imported from Claude Desktop, Claude Code, and Cursor configs (imported entries arrive disabled). The new
/connectcommand starts a guided flow for connecting external software, picking between MCP, CLI, and HTTP channels and verifying the connection actually works. - Multi-model providers and a bundled models.dev catalog. Custom models are now grouped into providers, each hosting multiple models, replacing single custom-endpoint entries. Providers can be added from the bundled models.dev catalog (70+ services with prefilled official endpoints) or configured manually in a two-step dialog with per-field validation. Reasoning options such as
enable_thinkingand thinking type can be set per model, and the model selector groups custom models by provider. Existing configurations migrate automatically; old model ids keep working. - External skill discovery. Optionally discover read-only agent skills from Claude Code, Codex, and
.agentsdirectories — user-level and per-workspace — plus installed Claude Code plugins. Off by default. Skill activation is now split into separate auto-inject and command channels with per-skill controls; external command skills support$ARGUMENTSand$1–$9substitution. - Extra working directories. A workspace can attach additional directories through its context menu; file tools can read and edit within them, and the workspace selector shows attached paths inline.
- Unity object preview straight from disk. Files Unity does not serialize (markdown, plain text, source code, binaries) now preview from disk, so previews keep working for assets Unity has not imported — such as AI-generated files under symlinked folders. Preview folding is now optional, and the asset inspector keeps previews expanded. (#114)
- Copy selection in chat. Right-clicking selected text in a message offers copying the selection as the first menu item.
- View log bar toggle. The log bar in view windows is hidden by default and can be enabled in display settings; the choice syncs across windows.
v0.6.0 (Fixed)
- Command-tool friction on Windows: managed Python environment variables now apply only to Python invocations instead of the whole command environment; command output is decoded using the system ANSI code page, fixing garbled Chinese (GBK) output; long-output truncation keeps both head and tail instead of only the head.
- Deferred tools now load through Anthropic native tool references and Codex native tool search, replacing the previous meta-tool activation.
- The builtin Unity profiler sampling skill now defaults to summary injection so agents can discover it on demand; it previously shipped with injection off.
- Helper windows (plan review, diff review, import dialogs, and others) open through a pre-warmed window pool and appear faster.
- UI locale catalogs are code-split and loaded on demand.
- Session and knowledge-index databases vacuum automatically once free pages dominate the file, reclaiming disk space.
- Context menu items now carry icons with a unified layout.
- Plugin toggles apply immediately in the plugin list instead of waiting for the backend round-trip.
- The scroll wheel no longer changes focused number inputs in settings.
v0.6.0 (Removed)
- The single-endpoint custom model configuration is gone, replaced by the multi-model provider dialog; existing custom endpoints migrate automatically.
v0.5.8 (Added)
- Standalone plan review. Plan approvals can open automatically in a dedicated window selected from Display settings. The window supports reviewing the Markdown plan, approving implementation, or sending it back with an optional note.
v0.5.8 (Fixed)
- Resolved intermittent DeepSeek HTTP 400 failures on Windows. Upgraded
schannelfrom 0.1.28 to 0.1.29, preventing pending request data from being resent during TLS 1.3 renegotiation and corrupting large JSON bodies. This resolves the400 Bad Request: Failed to parse the request body as JSONfailures tracked in issue #48. (PR #110) - Plan approval flow. Approval cards now render Markdown, attach optional feedback to Send back, and preserve approved plans or send-back feedback in the transcript with the correct lifecycle state. Selecting
/planin an idle session immediately enters sticky Plan mode. - Fast-capable Codex models now show
Fastin their model labels while Fast mode is enabled. - Exact edit tool contracts.
editandknowledge_editnow expose one exact replacement per call.knowledge_readcan return the storedsummary,body, ormaintenanceRulessection verbatim—including whitespace and empty content—so edits can match the selected section exactly. Existing persisted batch file-edit calls remain executable.
v0.5.7 (Added)
- GPT-5.6 models and Fast mode. ChatGPT subscriptions now include GPT-5.6 Sol, Terra, and Luna with a 353,400-token Codex runtime context budget and reasoning levels up to Max. The model picker also offers Fast mode for faster responses with increased subscription usage.
- Manual Codex usage-limit resets. ChatGPT subscription settings list available usage-limit reset credits and expiry dates. After confirmation, a credit can be consumed to reset currently eligible Codex usage windows and refresh the displayed quota.
- Chat input history. The chat composer recalls previous user messages with Up/Down, restores their attachments and composer intent, and returns to the current draft at the end of the history.
- Double-press shortcut to stop responses. A configurable shortcut now stops the active response after a second press, with Esc as the default; the first press shows a confirmation notice.
v0.5.7 (Fixed)
- Unity documentation imports now recognize the current
cloudmedia-docs.unity3d.comdownload host and legacy Google Storage URLs. - Escape closes active previews, popovers, and diff overlays before the global response-stop shortcut is evaluated.
v0.5.6 (Added)
- Import local files as knowledge references. External sources can now import a local file or folder as a reference folder, in two modes: live link mounts the path through an OS link (junction/symlink), so content always reflects the latest files on disk and stays read-only; snapshot copies the current content once, with optional AI editing and a manual re-sync action. Markdown and text documents (
.md/.markdown/.txt) become searchable in knowledge. Deleting a live-linked reference only detaches the link — source files are never touched. (#85) - LaTeX math in chat. Messages render LaTeX formulas with KaTeX, recognizing
$…$,$$…$$,\(…\), and\[…\]delimiters.
v0.5.6 (Fixed)
- Chat-completions requests are sent byte-for-byte as serialized, and request logs capture the same bytes that went on the wire. When a provider rejects a request with a JSON parse error, the message now explains that the body was most likely corrupted in transit (proxy, VPN, security software, or a gateway) and suggests a curl replay to confirm. (#106)
- Long streaming replies no longer slow down as they grow: live text, thinking, and the typewriter append new chunks instead of re-rendering the whole message.
- The message list no longer flashes for a frame when a streaming reply finishes.
v0.5.5 (Added)
- Per-file revert. The changes panel, the diff review window, and a new row context menu can restore a single file to its snapshot from before the current round, without popping the undo stack. If the file has later edits, Locus asks before rolling them back. (#100)
- Automatic retry for model requests. Connection errors, timeouts, HTTP 5xx, and 429 rate limits retry automatically, honoring
Retry-Afteron 429. Retries only happen before any output has streamed; the attempt cap is adjustable in General settings (default 3, 0 disables). (#101) - Inline
<think>tags routed to the thinking channel. On the chat-completions and OpenRouter paths, inline<think>…</think>segments in streamed replies are stripped from the message body and shown as thinking instead (enabled by default). - Subagent limits. General settings now cap
tasksubagent nesting depth and per-session concurrency (default depth 1). Calls over the limit return an error explaining the current caps. /dreammemory consolidation skill. A built-in skill that merges duplicate memories, fixes stale facts, and prunes the Memory index.
v0.5.5 (Fixed)
- Auto-compaction scales its retention and request budgets to the model’s context window and recognizes more provider “prompt too long” errors, so compaction converges on small-context models.
- Replayed tool-call arguments are normalized before being resent to chat-completions/OpenRouter providers — empty or malformed JSON becomes
{}; Codex replays stay verbatim. (#94) - Workspace file paths resolve lexically, so symlinked files open and reveal correctly. (#100)
- Smoother streaming of long replies: finished markdown blocks are frozen and only the tail re-parses during streaming.
- Context token estimates no longer undercount CJK text.
- Auth re-checks no longer tear down open tabs, and views preload to avoid a flash on first visit.
v0.5.4 (Added)
- Sticky plan mode. Plan mode is now a persistent, per-session read-only mode: the agent researches and writes the plan but cannot edit files or run non-read-only tools until you approve it from an in-chat card. A status bar shows plan mode is active with a one-click exit, and subagents spawned during planning inherit the read-only restriction.
- Main log written to a file. Locus mirrors its log (including the frontend console) to a rotating file at
%APPDATA%\locus\logs\locus.log, flushed on crash. Console settings has a new “Locate Log File” button. - Model catalog refresh. Added Fable 5 and Sonnet 5 (1M context) and made Opus 4.8 the default; removed the older Sonnet 4.6, Haiku 4.5, and Opus 4.7 entries.
v0.5.4 (Fixed)
- Model names no longer show the internal
[1m]context-window marker in the pickers. - Unity YAML parsing no longer panics on a multi-byte character right after a GUID, and single-quoted scalar names are unquoted correctly.
- Scene diffing now detects prefab source swaps and reparenting instead of reporting them unchanged, and skips rebuilding byte-identical scene targets.
- Faster asset re-scans: unchanged files are no longer re-parsed during watcher reconciliation, and the asset database rebuilds once on first launch after updating (schema v13).
- Smoother response streaming: cached diagnostics/trace checks, shallower tool-call watches, batched tool-result updates, and stabilized message groups cut redundant transcript work.
- Hot reload now fails closed on unsafe edits: ref-struct instance members, members referenced inside expression trees, namespace-scoped
usingchanges, and cold-diff reverts. - Hardened the Unity hot-reload bridge: applied detours roll back on apply failure, recompile completion is gated on a compile epoch so pre-request compiles can’t finish the request, components are skipped on GameObjects being destroyed, and convergence races / monitor-stop handoff are fixed.
v0.5.4 (Removed)
- Removed the old one-shot “plan → continue implementation” confirmation card; it’s replaced by the sticky, approval-gated plan mode above.
v0.5.3 (Added)
- Tuanjie (Unity China fork) support: Locus now discovers, launches, and connects to the Tuanjie editor (
Tuanjie.exe) alongside standard Unity — covering process matching, the native engine module and its PDB, and window-title detection. Standard Unity installs are unaffected. - Claude subscription support: Sign in to a Claude subscription or import an existing Claude Code / Codex CLI login (including a custom endpoint), and see remaining subscription quota in the Anthropic panel.
- Gateway-truncation diagnostics: Failed Anthropic requests now log transport facts and the upstream JSON parse offset, and when a 400 looks like a mid-transit truncation Locus saves the exact request bytes plus a runnable
curlso the failure can be reproduced and reported. (#48)
v0.5.3 (Removed)
- Removed the “Claude subscription paused” disclaimer modal and its notice; the subscription sign-in flow replaces it.
v0.5.2 (Added)
unity_code_usagesmember lookups now read from a serialized member-binding index built during asset scanning, so they catch broken/unbound UnityEvent calls named only by a type string (m_Target: {fileID: 0}, no GUID) and resolve AnimationEvent function names across the whole project, instead of re-scanning the referencing scenes/prefabs and every.animclip on each query. The asset database rebuilds once on first launch after updating (schema v12).- Unity editor resolution now falls back to the Unity Hub install cache (
editors-v2.json), so editors installed on non-default drives (for exampleD:\orF:\) are found.
v0.5.2 (Fixed)
- Unity 6.5 (6000.5) compatibility:
GetInstanceID()andIsLoadingAssetPreview(int)became errors and the 32-bit InstanceID was replaced by the 64-bit EntityId. ALocusObjectIdentityshim folds the EntityId back to its low 32 bits (keeping the existing InstanceID and wire protocol), and the deprecated build-target APIs are gated by editor version. Older editors are unaffected. (#95) - Fixed asset-database lock poisoning on CJK input: a bare CJK search term, or a
.metafile with CJK text afterguid:, sliced inside a multi-byte character and panicked while the asset-database lock was held, which broke every later asset query until restart. Slicing now happens on character boundaries. (#97)
v0.5.2 (Removed)
unity_code_usagesmember mode no longer reports a UnityEvent call whose serialized type name points to a different class; it now matches only the exact class short-name or the bound script GUID.
v0.5.1 (Fixed)
- The grep tool now streams search results instead of reading whole files into memory and keeps only the first N matches in path order; on very broad patterns it stops early and reports that the results are an incomplete, non-deterministic subset.
- Fixed a focus flicker when clicking the input box in the embedded Unity window; the window is only force-activated when it doesn’t already hold the foreground, so the overlay no longer bounces between blur and focus.
- Fixed the native-plugin overlay failing to mount because its control-pipe name wasn’t normalized to the full pipe path, so the client never connected.
v0.5.0 (Added)
- Editor hot reload is now available: the agent can modify C# scripts at runtime and apply the new logic live, matching the capabilities of mainstream commercial hot-reload plugins.
- The Unity IPC connection has moved from the C# plugin to a native plugin written in Rust, which keeps the connection stable across domain reloads and while Unity’s main thread is blocked, and reports Unity state in real time.
- C# compilation has moved out of the Unity process into a standalone CoreCLR process; the old path is retained for now as a compatibility fallback.
- The Rust backend’s memory allocator was switched to mimalloc.
- Settings has a new Testing page. This release involves significant architectural changes that may cause compatibility regressions, so if you run into problems you can run these tests for reference.
- Exposed more APIs to the View Package.
v0.5.0 (Fixed)
- Asset database performance and correctness improvements.
- Fixed a case where the message history could hide the last tool call.
- The grep tool now resolves paths against the workspace directory.