About

Dahawa Life Plan


  • An intelligent programming assistant who understands you
  • An intelligent assistant who understands you
  • An assistant who understands you

One is the bottom line reserved for yourself

Versions


  • v2.8.0 ~ v2.8.2 (2026-11-03 ~ 2026-11-05)

    • Added agentMessageService, a unified message delivery system: unified ‘main’/‘agent:{agentId}’ addressing with Force/Try/Serial delivery modes plus waitMessages/peekMessages; fixed the loop scheduled task silently dropping prompts on busy
    • Removed the deprecated TaskTool and TaskTeamTool; subagent task scheduling is now unified under AgentTool, which supports filtering the tool list by agentConfig.tools
    • Web client enhancements
      • Subagents now support prompt input; fixed mailbox-injected messages (including main busy queued messages) being received by the model but not displayed on the page
      • Added pending prompt list (pending_prompts) and Task/TodoWrite task list (tasks_snapshot) displays above the input box, aligned with CLI ordering and styling
    • Added a channel notification handling system: receives MCP server→client notifications, writes date-partitioned log files, and broadcasts dispatch via eventBus (shared routing between the main system and the codemode system)
    • Fixed stdio subprocess leaks caused by MCP cache invalidation/reconnection
    • Fixed PersistentShell external abortSignal being silently overridden by the internal signal; the timeout branch now correctly reports interrupted and ensures the process tree is cleaned up
    • MCP main path now supports ${} dynamic variable interpolation (${env.NAME}, ${home}, ${cwd}, ${projectName}, etc.) with the same syntax as .codemode.json; interpolation happens in memory only and never writes back to config
  • v2.7.19 ~ v2.7.20 (2026-11-01 ~ 2026-11-02)

    • Fixed the second tool confirmation getting stuck when confirmations arrive concurrently: the close path now guards with a timer, ignores duplicate closes, and avoids clearing the timer that displays the next confirmation
    • Message Archiving placeholders switched to a bracket short-marker format (<system>[archived xxx: id xxx]</system>) to prevent the model from imitating them into files
    • Global prompt prohibition rules now explicitly cover archiving placeholders: declared alongside markers as system-generated tokens, with the prohibition extended to files you write
  • v2.7.14 ~ v2.7.18 (2026-10-28 ~ 2026-10-29)

    • ProxyToolLoad added an XML parameter description format: proxyToolSchemaFormat supports json/ts/xml; xml mode outputs a pure XML document with special character escaping
    • Refactored ProxyToolLoad schema format building: extracted buildJsonMessage/buildXmlMessage/buildTsMessage into standalone functions
    • MessageArchivingTool prompt slimmed down and translated into English
    • Simplified TodoWriteTool prompts, removed forced task and todo reminders, and deleted the TodoWrite mandatory usage reminder from the system prompt
  • v2.7.10 ~ v2.7.13 (2026-10-24 ~ 2026-10-27)

    • ProxyToolLoad supports switching parameter description formats via config: new settings proxyToolSchemaFormat (‘ts’|’json’) with a corresponding Config panel enum setting
    • Config panel now supports Tab grouping: new General/Context tabs, switched with arrow keys
    • codemode process lifecycle fixes: ESC cancel now takes effect through the mainLoop abortController; timeout/cancel/error paths converge on a unified terminate(reason) exit, eliminating subprocesses that ignore SIGTERM; describe removed the endsWith fallback in favor of exact matching, eliminating phantom method names
    • Message Archiving enhancements
      • Addressing markers wrapped in <system> tags to prevent the model from repeating internal addressing tokens in user-facing replies
      • Added thinking block archiving (thinking / redacted_thinking); markers are injected at the end of the user message following the assistant (after tool_result, satisfying the deepseek tool_result-first compatibility constraint)
      • Marker insertion moved before the first reminder block, fixing the latent defect of reminders being included in the cache segment
      • Added __tool_input__ automatic input archiving: leaf string fields with more than 100 words (nested objects and array indices supported) are automatically archived; unarchive restores all archived input fields
      • Archiving result rendering slimmed: counts by tool result/input field/thinking block category, with skipped reasons deduplicated and merged
    • Adjusted low-context-usage reminder wording to consistently guide toward archiving
    • buildContextUsageMessage cooldown now uniformly returns only a plain usage sentence, always injecting the usage signal without inducing archiving
  • v2.7.6 ~ v2.7.9 (2026-10-17 ~ 2026-10-22)

    • WebFetch added headless browser rendering for JS pages: playwright-core as an optional dependency, SPA shell detection, and dual settle detection (DOM silence + in-flight requests); new headlessBrowser switch in /config
    • Bing Headless Search Provider: models without native search capability (OpenAI/DeepSeek and default) now search via www.bing.com with a three-tier fallback chain (headless rendering + in-page DOM extraction → static parsing → exception fallback)
    • Table rendering upgrades
      • Layout algorithm migrated to the hawa-table component with water-filling column width allocation and display-width-aware wrapping, fixing overflow/misalignment of long table content
      • Fixed emoji display width misjudgment (miscellaneous technical symbols counted as width 2) and misalignment caused by counting variation selectors and zero-width joiners as width
      • Table headers now centered by default; added renderMarkdownTable to parse markdown pipe tables
    • string-cli-width added truncateByWidth to truncate strings by terminal display width (correctly handling multi-byte characters and emoji); pending hints now uniformly use it
    • Fixed npx tsx –test hanging forever: lspManager/fileFreshness switched to lazy loading, timers unref’d
    • Fixed autoCompact summary extraction failure when thinking is enabled
    • Context usage reminder added a high-water mark of 0.85: dynamic usage reminders are abandoned beyond it, leaving fallback to auto-compaction
    • Archiving guidance now enforces a step interval: at least 5 requests between two archiving actions by default (adjustable in real time via HAWA_CODE_ARCHIVE_STEP_INTERVAL)
    • Context optimization reminders split into a static guide and a dynamic usage line (gated by HAWA_CODE_CONTEXT_OPT_SPLIT)
    • Simplified codemode.session API: kept only get/set, with value null as the delete sentinel
    • Fixed CLI terminal forcibly breaking long words in thinking/text messages
    • Moved LSP usage reminders from system reminders into tool descriptions and parameter descriptions
    • Deduplicated archiving system reminder wording: static guide handles full explanations, dynamic usage keeps only the signal and minimal action suggestion
  • v2.7.0 ~ v2.7.5 (2026-10-13 ~ 2026-10-16)

    • codemode Session v1: added codemode.session cross-process session storage capability
    • codemode config merging extracted into mergeCodemodeConfigs, uniformly applying dynamic parameter interpolation to merged global and project-level .codemode.json results
    • Added showWindowTokens setting: status bar now shows current window token count and context ratio
    • getGitPrompt is now controlled by the HAWA_CODE_GIT_PROMPT environment variable (disabled by default)
    • ProxyTool prompt optimization: loadOne responses add a Required arguments section and remove the Usage example section
    • Added screenService as a unified clear-screen entry point, consolidating all REPL clear-screen call sites; resize now safely re-mounts Static to rewrite history at the new width
    • Fixed tool confirmation dialog race conditions: preventing closed dialogs from resurrecting and zombie dialogs
    • Fixed schemaToType index signature generation to use the actual additionalProperties type
  • v2.6.12 ~ v2.6.13 (2026-10-11)

    • Removed the ps-tree dependency; added a self-developed processTree utility to unify process tree termination and liveness checks
    • The update/config/mcp/plugin/approved-tools/doctor subcommands and –version/–help now skip eager loading of MCP tools
    • Adjusted tool registration order so ProxyTool-related tools are registered first
    • Simplified tsconfig paths wildcard fallbacks; bare path imports changed to relative imports
    • Fixed react/jsx-runtime mapping pointing to .d.ts, which caused missing jsx exports in tsx runtime
    • Removed the example prompt from the Agent tool
  • v2.6.10 ~ v2.6.11 (2026-10-09)

    • Optimized startup time
    • Codemode now excludes providers that failed to connect
    • Unified codemode meta function signatures to object parameters
    • Fixed PromptInput issues when entering large text
    • Fixed the describe parameter in prompts
  • v2.6.2 ~ v2.6.9 (2026-10-06 ~ 2026-10-08)

    • Startup optimizations
      • Moved the startup loading hint before parseArgs’s getCommands(), covering normal startup and –resume paths to avoid long periods without feedback
      • Added connection timeout protection for MCP HTTP/sse/streamable-http branches; the configured timeout now also applies to HTTP servers
    • codemode enhancements
      • Unified tool name sanitization: prefixed tool names are converted to valid identifiers; only sanitized names are exposed to the sandbox and prompt, while original names are used when calling the MCP server
      • Unified snippet description syntax in describe to snippet., connecting the search → describe flow
      • Added memoize caching to getCodemodeTools to avoid repeated listTools calls on every execution
      • Improved Chinese search retrieval
      • Fixed inconsistency between codemode.search meta function outputSchema and its implementation
      • Added a CodeMode snapshot saving reminder to systemReminder
  • v2.6.0 ~ v2.6.1 (2026-10-03)

    • Default configuration changes
      • Tool exposure mode lazyTool now defaults to proxy
      • Real-time memory extraction autoMemory.enabled and memory consolidation autoDream.enabled now default to false
    • Removed the ThinkTool tool (including web-side render components and related references)
    • Fixed a model configuration bug and added source name renaming
    • ProxyToolCall self-invocation is now forbidden; the error message is unified to toolName cannot be ProxyToolCall
    • codemode MCP descriptions are truncated by word count (English by words, Chinese by characters), with an ellipsis appended
    • proxytoolload changed to single loading
    • Unified codemode naming to camelCase
    • Fixed a batch of compilation errors
  • v2.5.1 ~ v2.5.2 (2026-09-29 ~ 2026-09-30)

    • Optimized ProxyTool prompts, emphasizing that tools must be loaded before calling
    • proxy-tools now supports a maximum tool count; provider and methods layout optimized
    • The maximum number of methods shown per provider in codemode is now configurable via /config (codemodeMethodsMax, 1-100, default 20)
    • Markdown table improvements: separator lines added between data rows, green header highlight
    • Simplified codemode usage instructions
    • Removed unnecessary bun dependencies
  • v2.5.0 (2026-09-28)

    • Split ProxyTool into two tools: ProxyToolLoad and ProxyToolCall
    • Optimized useWindowSize non-TTY fallback size caching to avoid duplicate renders from invalid resize events
    • Removed duplicate git command instructions from the PowerShellTool prompt
    • Fixed a batch of compilation errors (agent.ts, apiTransformer.ts, NormalizedMessage, react key, etc.)
  • v2.4.52 ~ v2.4.55 (2026-09-26 ~ 2026-09-27)

    • Optimized ProxyTool prompts and JSON schema descriptions, clarifying the usage rules and parameter requirements for load and call
    • Added explanations of incorrect invocation patterns to prompt examples (duplicate control parameters inside arguments, flattened parameter calls)
    • Optimized the codemode describe output schema hint, emphasizing that the output structure should be inferred and persisted only after the first real call
    • Optimized PowerShell tool use display
  • v2.4.51 (2026-09-25)

    • Built-in default Skill support
      • Added repository root skills/ directory, copied to dist/skills during build and shipped with the package
      • SkillService added builtin scan path (lowest priority; user/project skills with the same name can override), watcher skips builtin
    • Changed snippets storage path to .hcode/.codemode-snippets.json
    • Optimized codemode prompt (emphasizing code invocation) and automatic output schema saving
    • Optimized ProxyTool prompts, clarifying the load-then-call invocation flow
    • Refactored loop architecture
  • v2.4.49 ~ v2.4.50 (2026-09-24)

    • Renamed ProxyTool call parameter input to arguments; TS input type in load results uniformly renamed to arguments type
    • Changed proxytool reminders to English
    • Streamlined BashTool prompt: removed git commit/PR operation guides, directory verification steps, and unused imports
    • Fixed unwrapMcpResult failing to parse JSON after concatenating multiple text contents
  • v2.4.45 ~ v2.4.48 (2026-09-23)

    • ProxyTool parameter rename: action → proxyToolAction, name → toolName, avoiding nested name collisions with the target tool’s own action/name parameters that caused the model to omit arguments
    • codemode enhancements
      • Custom Instructions support: .codemode.json MCPServer added instructions property, taking priority over the MCP Server’s own configuration
      • renderToolResultMessage adds single-line truncation: lines over 200 characters are truncated with a … marker
      • output schemas storage split by provider’s codemode config location: user-level stored in ~/.hcode/codemode-output-schemas.json, project-level stored in {projectDir}/.hcode/codemode-output-schemas.json; merged on read with project-level overriding user-level
      • Show loading hint when loading MCP tools at startup
    • Fixed flickering and black-screen issues caused by BashTool/PowerShellTool outputting full progress during execution; display side truncated to the last 5 lines
    • PowerShellTool terminal result display now reuses BashTool’s BashToolResultMessage, consistent with BashTool styling
  • v2.4.40 ~ v2.4.42 (2026-09-22)

    • Streamlined product features
      • Removed release-notes, login(OAuth), and Sentry features
      • Spinner animation changed to braille dot matrix single-direction rotation; removed unreferenced dead code files
    • Fixed memory files still being displayed when the memory feature is disabled
  • v2.4.33 ~ v2.4.39 (2026-09-18)

    • Simplified TodoWriteTool prompt: removed all Examples sections, keeping only When/When Not/Task States core descriptions
  • v2.4.30 ~ v2.4.32 (2026-09-08 ~ 2026-09-17)

    • ProxyTool loading mechanism upgrade
      • action renamed from describe to load; load became the default action, strengthening the load-before-call guidance
      • Prompt tags unified from to , consistent with tool list structure naming
      • load action displayed as LoadTool(target tool name) on CLI and Web, distinguished from call
      • Type signatures in load results no longer wrapped in typescript fences, output as plain text consistent with CodeMode describe
      • system prompt injects loading hint when ProxyTool is enabled: must load before call to obtain tool signatures
    • rules compatible with ProxyTool proxy mode
      • path rules unwrap real tool names and arguments before matching; load action does not participate in matching
      • Rule expansion tag changed from to , inserted before the trailing reminder block when merging
      • Fixed dynamic rules cache hit issue
      • log.ts isMessageRecord recognizes path_rules type, matchedPathRules can be restored after resume
    • Optimized lazy loading hint priority
  • v2.4.26 ~ v2.4.29 (2026-09-07)

    • Code Mode snippet feature
      • Added codemode.snippet.<name>(input), supporting execution of saved snippets by name; newly saved snippets are available immediately at runtime
      • saveSnippet added optional inputSchema/outputSchema parameters with object validation
      • describe no longer returns source code for snippets; instead generates concrete type signatures based on schema (falls back to unknown without schema)
    • Fixed error prompts for nonexistent tools
      • Only prompts to load via ToolLoader or ProxyTool when the tool exists in the full _tools list
      • Returns No such tool available when a tool can neither be loaded nor proxied
  • v2.4.24 ~ v2.4.25 (2026-09-06)

    • Added appwrite provider configuration in .codemode.json
    • Proxy mode exposure layer changed from ProxyTool+CodeMode only to ProxyTool + proxyWhiteList whitelist tools
    • MCP client supports timeout configuration in .codemode.json; default connection timeout for both MCP paths unified to 20s
  • v2.4.22 ~ v2.4.23 (2026-09-04)

    • Replaced JSON Schema with TypeScript type signatures as the description and validation basis for tool parameters
    • Fixed issue where subagents could not obtain ProxyTool in proxy mode
    • Optimized ProxyTool proxy invocation rendering logic, adding a <> prefix identifier
    • Added CodeModeToolResult rendering component
  • v2.4.14 ~ v2.4.21 (2026-09-04)

    • ProxyTool proxy tool enhancements
      • Merged lazyTool/proxyToolEnable into a three-state enum LazyToolMode
      • Fixed issue where directly invoking real tools in proxy mode bypassed ProxyTool isolation
      • Parameter validation failure prompts guide users to query the correct input structure via ProxyTool describe
      • Optimized proxy tool prompt, strengthening the describe-first guidance
  • v2.4.10 ~ v2.4.13 (2026-09-02 ~ 2026-09-03)

    • Supports setting maximum token return count
    • Optimized tool lazy loading order to increase cache utilization
    • Optimized prompt cache points, reduced to only one
    • Fixed opus-4-8 model thinking configuration
    • Optimized codemode display
  • v2.4.3 ~ v2.4.6 (2026-09-01)

    • Optimized codemode prompt wording
    • Tool lazy loading no longer displays method hints
  • v2.4.1 ~ v2.4.2 (2026-08-31)

    • codemode no longer displays stack traces for MCP errors; ZodError shows complete error message
    • Added support for minimum, maximum, minLength, and maxLength properties in JSON Schema, with corresponding comments added to generated TypeScript types
    • Added detailed input parameter comment feature; when HAWA_CODE_JSDOC is set to true, JSDoc comments include descriptions for each input field
  • v2.4.0 (2026-08-30)

    • Code Mode 0.1 support
      • Added codemode tool, supporting natural language invocation of MCP server capabilities
      • Optimized codemode tool confirmation message prompts
      • Added codemode.search method documentation
      • Codemode Prompt displays parameters
      • Optimized codemode Prompt to display MCP server descriptions
    • Added LS tool component on Web
      • Supports directory list display and expansion
    • Web subagent disables user input when status is ended
  • v2.3.5 (2026-08-23)

    • Web tool calls support notifications
    • Web UI style optimizations
      • Changed web Prompt prefix to vertical bar
      • Optimized web message and tool result styles
      • Simplified PromptInput status hints and centered input box
      • Settings page scrollbar unified to custom dark theme style
      • Optimized Settings and Agent Viewer switching logic
  • v2.3.4 (2026-08-22)

    • Web UI comprehensive upgrade
      • Web optimization 0.1
      • Optimized web layout
      • Frontend adopts dark theme
      • Fixed header style height issue
      • Changed web logo
      • Optimized frontend buttons
  • v2.3.3 (2026-08-22)

    • Upgraded web UI display
  • v2.3.3 (2026-08-20)

    • Anthropic API thinking block merge fix
      • Support thinking and redacted_thinking content blocks in mergeAnthropicChunks
      • Accumulate thinking_delta and signature_delta, preserving signature for multi-round passthrough
      • Fix related TypeScript type errors
      • Add api-anthropic merge test cases
  • v2.3.2 (2026-08-16)

    • Web Prompt input optimization
      • Prevent IME Enter from sending messages directly
      • Expand input height
      • Center send button
    • Fixed TextInput custom chunked paste detection
  • v2.3.1 (2026-08-10)

    • Plugin marketplace list hides source; detail page shows source (except default)
  • v2.3.0 (2026-08-08)

    • Split Plugin marketplace lifecycle into add/install/uninstall/remove
    • Skill defaults user-invocable to false
    • Fixed useTextInput Shift+Enter being reported as meta+return
  • v2.2.3 (2026-08-06)

    • Translated system reminder wording to English
  • v2.2.2 (2026-08-05)

    • MessageArchiving prompt simplification
      • Removed tool_use_id lookup guidance from the prompt; handled automatically by the tool
  • v2.2.1 (2026-08-04)

    • Web Settings plugin management
      • Added plugin and marketplace management to the Web settings panel
  • v2.2.0 (2026-08-03)

    • MessageArchiving enhancements
      • Skip archiving short tool_use input fields (≤100 characters) to avoid meaningless archiving
      • Pass historyMessages to tool calls for archival eligibility checks based on conversation history
      • Added settings.archiveToolUseInputs setting to control input field archiving
  • v2.1.5 (2026-07-30)

    • WebServer model config validation enhancement
      • Return detailed field-level errors for invalid model configurations
  • v2.1.4 (2026-07-29)

    • Plugin compatibility configuration
      • Changed Claude Code plugin compatibility to the settings.plugins.pluginClaudeCompat setting, enabled by default
  • v2.1.2 / v2.1.3 (2026-07-28)

    • MCP HTTP server enhancement
      • Supports streamable-http as an MCP HTTP server type
  • v2.1.1 (2026-07-27 ~ 2026-07-28)

    • Plugin plugin system enhancement
      • PluginManager marketplace detail page supports Update and Remove operations
    • Terminal compatibility fix
      • Fixed inconsistent line endings on Windows, unified to \n
  • v2.1.0 (2026-07-23 ~ 2026-07-25)

    • Plugin plugin system
      • Enabled plugin compatibility
      • Supported plugin 0.1, added PluginManager management interface
      • Added core modules such as MarketplaceService, PluginInstallService, PluginRegistry, PluginManifestService, PluginSecurity, PluginUpdateService
      • Supports fetching plugins from multiple sources including GitHub, Git, NPM, and local directories
      • Supports plugin MCP services; plugins can register custom MCP Servers
      • Added plugin-related tests (install, marketplaceValidator, schemas, PluginRegistry MCP, etc.)
    • Fixed conflict between auto mode thinking and tool_choice
  • v2.0.3 (2026-07-21)

    • History storage optimization
      • History records now stored in history.jsonl
    • Settings model configuration optimization
      • Fixed issue where comma input in the models field of model configuration was blocked
  • v2.0.2 (2026-07-17)

    • Added /cd slash command
      • Supports quickly switching working directories
      • Supports generic argument hints (arg-hint)
    • Configuration initialization refactoring
      • Unified configuration initialization logic into modelManager
  • v2.0.1 (2026-07-11 ~ 2026-07-16)

    • Terminal framework upgraded to ink 7
      • Replaced custom paste detection with ink 7 usePaste
      • Fixed Esc key routing, terminal clear timeout, and functional state update issues
      • REPL terminal resize debouncing to reduce flicker and clear races
      • Slash command arrow/enter navigation restored
      • Spinner and periodic UI refresh migrated to ink 7 useAnimation
      • Unified window resize handling with shared useWindowSize hook
      • Removed unused sticker form and animated asterisk components
    • Agent execution enhancement
      • Supports configuring agent depth limits
      • Waits for background subagent tasks to complete before continuing
    • Agent Viewer enhancement
      • In-progress tool_use displays a spinner
  • v2.0.0 (2026-07-10)

    • Settings form layout optimization
      • Replaced flex space-between with a grid layout using a fixed label column
      • Improved alignment of controls in General, Web Server, Auto Mode, Memory, and other settings to avoid excessive gaps
  • v1.42.3 (2026-07-09)

    • Agent Viewer enhancement
      • Supports prompt input
      • Supports interrupting main agent requests
    • Unified interactive tool rendering
      • Added toolUserResponseService, supporting unified rendering of interactive tools in terminal and Web
    • Settings enhancement
      • Added planDirectory setting, supporting custom plan file storage directory
  • v1.42.2 (2026-07-04)

    • Fixed compressed thinking failure, ensuring message content is correctly handled during compression to avoid errors caused by unexpected content formats
    • Removed unused src/messages.ts and related references
  • v1.42.1 (2026-07-03)

    • Fixed clearConversation function not triggering REPL re-render when clearing messages
  • v1.42.0 (2026-07-03)

    • Web tool confirmation 2.0
      • Added ConfirmationService, decoupling tool permission confirmation flow from the UI layer
      • Unified tool confirmation support for CLI local UI and Web clients
      • Added ToolConfirmQueue component on Web, with modal-style tool call confirmation
      • WebSocket broadcasts tool confirmation requests and completion notifications
      • Other clients’ confirmation windows automatically close after one client responds
      • Pending confirmation requests can be restored after reconnecting or refreshing the page
    • Settings migration
      • Memo and Message Archiving toggles migrated from environment variables to settings
      • Added memo and messageArchiving settings, disabled by default
      • Config panel supports enabling/disabling Memo and Message Archiving
      • Settings file hot-reload listener changed to unref to avoid blocking process exit
  • v1.41.4 (2026-07-02)

    • Version bump
  • v1.41.3 (2026-07-02)

    • Optimized context usage reminder
      • Fixed MessageArchiving and Memo tool loaded-state judgment logic
      • Prompts when tools are not loaded are more specific and actionable
      • Added reminder: even if context usage is low, historical messages with a lot of task-irrelevant content should be handled
    • Web Settings panel optimization
      • Adjusted JSON editor height
      • Improved Model Config JSON editor styling
  • v1.41.2 (2026-07-02)

    • Web model configuration Settings panel
      • Added /api/model-config API, supporting reading and updating config.json
      • Added ModelConfigSetting component, supporting form mode and JSON edit mode
      • Supports sources and routing configuration
      • Added model config validation logic and related tests
  • v1.41.1 (2026-07-01)

    • Optimized Agent Viewer and supported Memo write detail display
      • AgentToolUse added prompt detail expand/collapse, showing model, type, resume, background execution, and other metadata
      • AgentToolResult long results support collapsing after expansion
      • MemoToolUse write operation added details button to view full written content
  • v1.41.0 (2026-07-01)

    • Web Settings configuration panel
      • Added /api/settings REST API and configuration write validation
      • WebSocket real-time synchronization of configuration changes (settings_changed / settings_snapshot)
      • Frontend SettingsPanel component and basic editing controls
      • Configuration file hot reload broadcasts changes via eventBus
      • Added settingsValidation validation module and related tests
    • Settings panel optimization
      • Adjusted Advanced configuration order to env/permissions/sandbox/sessionSummary
      • env configuration changed to KeyValue form mode, supporting add/delete/edit
      • Changed from real-time save to save-button batch submission mode
      • Improved env configuration validation rules and added tests
    • /cost command UI panelization
      • Added token usage, context window ratio, and cache hit rate display
      • cost-tracker added cacheTokens and currentContextTokens tracking
      • llmodel updates cache and context token statistics on each API call
    • Web tools and message optimization
      • Memo tool Web component implementation, including usage and result display components
      • Filtered internal messages displayed on Web (INNER_MESSAGE, SYSTEM_NOTIFICATION, system-reminder)
      • Fixed archive function Web display
    • Lazy-loaded tool prompt optimization
      • Fixed incorrect prompt when lazy-loaded tool does not exist
      • Optimized prompt copy for unloaded tools
  • v1.40.1 (2026-06-24)

    • Unified lazy-loaded tool reminders to use tools parameter, optimized LSP prompt copy
      • getToolLazy and getLSPServer methods now use the current agent’s actual tool list instead of global context data
      • Optimized unloaded tool prompt copy: replaced Unloaded tools with Available but not loaded tools
      • LSP reminders now determine whether LSP tools are loaded via the tools parameter, removing direct dependency on CONTEXT_LOADED_TOOLS
  • v1.40.0 (2026-06-24)

    • Subagent tool lazy loading
      • Full support for subagent tool lazy loading, with loaded tool state isolated per agent
      • ToolLoader / ToolUnLoader isolate loaded state by agentId, so subagents do not pollute the main agent’s tool list
      • Fork-mode subagents pass the complete original tool list (_tools), ensuring lazy loading can access all available tools
      • Tool.prompt added optional context parameter, allowing ToolLoader to perceive the current agent’s tool scope
      • In lazy loading mode, ToolLoader / ToolUnLoader are always available (fixTools dynamically supplements based on enableLazyTool)
      • Unloaded tool error prompts also apply to subagents
  • v1.39.2 (2026-06-23)

    • Optimized context usage reminder
      • system reminder context usage prompt is now shown at all usage levels, not only when ≥50%
      • Optimized MessageArchiving and Memo tool load/loaded prompt copy to be more concise and clear
      • Multiple tool suggestions (archive + memo) are presented as a list for clearer structure
  • v1.39.1 (2026-06-22)

    • Fixed webServer frontend process is not defined error caused by referencing @constants/product.js
  • v1.39.0 (2026-06-21)

    • Message archiving and context optimization
      • Message archiving 1.0 officially launched
      • Supports MessageArchiving lazy loading and optimized guidance reminders
      • Decoupled Message Archiving and Memo context optimization reminders
      • Centralized Message Archiving enablement judgment in SettingManager
      • Archive tool results support optional summary field for summarizing key information
      • Skips archiving for tools with little return content (e.g., Cwd, Think, TodoWrite, MessageArchiving, etc.) to avoid meaningless replacement
      • Applies messageArchivingService.applyToMessages before automatic compression to ensure archived content is also replaced
      • Centralized AUTO_COMPACT_THRESHOLD_RATIO in constants/product.ts
      • system reminder context usage prompt supplemented with automatic compression trigger threshold (92%)
    • Memo tool enhancement
      • Simplified prompt and extracted constants, schema added basic validation
      • Added input validation to prohibit saving content containing …(argument truncated) placeholders
      • Changed to truncation mode: placeholders replaced with truncated text, keeping first 20 characters and adding a hint
      • Removed duplicate summary hint from successful Memo write results
      • Added SettingManager.isMemoEnable, controlled by HAWA_CODE_MEMO environment variable
      • system prompt added explanation of Memo content placeholders
      • Added content parameter to filter content during queries to reduce context usage
      • After truncating old Memo write content, insert a synthesized explanation message to reduce model hallucination
    • Configuration and interaction
      • Added autoMode toggle option in settings panel
      • /model command added Open Config button
      • Slash commands support controlling tool lazy loading
      • autoModel enabled by default
      • Fixed bug where autoDream still executed after being disabled
    • Tools and permissions
      • Restored LS directory listing tool
      • Backend added /api/config endpoint returning userType
      • Frontend added useConfig hook to get userType and filter tools based on userType
      • Added description fields to BashTool and PowerShellTool input schemas
      • Added missing agent id parameter
    • Other fixes
      • Fixed websocket module import issue, compatible with CommonJS and ES modules
  • v1.38.12 (2026-06-16)

    • Fixed error when reading empty files
  • v1.38.11 (2026-06-15)

    • Fixed agentviewer bug
    • Architecture optimization: separated tool execution from agent execution
  • v1.38.10 (2026-06-14)

    • Fixed AgentTabs main tab display issue, keeping it consistent with backend agentId
    • Fixed bug where main agent could not be awakened after subagent ended
    • Added agentType, agentName, and description parameters to hawaContext.onQueryStart to facilitate tracking sub-agent lifecycle
  • v1.38.9 (2026-06-12)

    • Hidden tool unload messages
    • webviewer 2 added usage and result components for multiple tools: NotebookEdit, WebSearch, WebFetch, TaskStop, TodoWrite, Think, AskUserQuestion, EnterPlanMode, ExitPlanMode, Enter WorktreeTool, ExitWorktreeTool, SlashCommand, Skill, CronCreate, CronDelete, CronList, TeamCreate, TeamDelete, SendMessage
    • Optimized normal MCP tool display
  • v1.38.8 / v1.38.7 / v1.38.6 (2026-06-12)

    • Three tags point to the same commit
    • Hawa Code - Agent Viewer centered display
  • v1.38.5 (2026-06-12)

    • hands tool supports cwd tool
  • v1.38.4 (2026-06-12)

    • hands tool server supports Session reuse of current mcpserver
    • Optimized command message display
  • v1.38.3 (2026-06-12)

    • Fixed error where retries could not be interrupted
    • Supports proxy setting in config, allowing users to enable or disable proxy functionality
    • Fixed edit tool display issue in webviewer
    • Optimized hands remote identifier
    • Optimized hands tool rendering in webviewer
    • Optimized overall webviewer rendering
    • Removed cost display
  • v1.38.2 (2026-06-08)

    • Fixed port conflict when starting multiple hcode webserver instances
  • v1.38.1 (2026-06-08)

    • Fixed webviewer static file path issue
  • v1.38.0 (2026-06-08)

    • Supports webviewer 1.0
    • Web viewer supports table display
    • Optimized webview frontend page rendering of tool use and tool result correspondence
    • Switched to incremental messages for better performance
    • TaskCreate, TaskGet, TaskUpdate tools no longer render on Web, consistent with CLI
    • Fixed duplicate display of default and main agent
    • Optimized webserver startup log output
    • Optimized webserver display in config
  • 1.37.4 (2026-06-07)

    • Optimized hands tool local rendering
  • 1.37.0 (2026-06-03)

    • Supports Goal slash command
    • Stop Hook added last_assistant_message parameter
  • 1.36.0 (2026-05-24)

    • Supports built-in Hands tool, directly start hands command without installing mcp
  • 1.35.5 (2026-05-21)

    • Fixed Edit tool line misalignment bug during file comparison
    • Supports Http request powerful proxy
    • Supports custom use agent, supports authorization, x-api-key
    • Supports enabling hawa code built-in computer use via environment variable
  • 1.35.0 (2026-05-16)

    • Supports setting openai image detail via environment variable
  • 1.32.0 (2026-05-08)

    • hawa code fully supports windows, skill, slash commands, and user instructions all support powershell
    • Fixed image paste bug
  • 1.31.4 (2026-05-08)

    • Optimized hawa code update performance on windows
  • 1.31.3 (2026-05-08)

    • Optimized Shell execution performance
  • 1.31.2 (2026-05-07)

    • Optimized tool lazy loading performance
    • Fixed openai response request bug
  • 1.31.0 (2026-05-07)

    • Supports automatic tool unloading in tool lazy loading mode
    • Supports thinking depth switching
    • Compatible with openai response api search
    • Fixed openai chat completions thinking protocol conversion bug
    • Optimized multi-model token compression estimation calculation
    • Supports multi-model load balancing
  • 1.28.0

    • Supports powershell tool
    • Supports memory recall during query
    • Agent Team idle messages are suppressed
    • Memory slash command supports manual memory clearing
  • 1.27.0

    • autoDream supports team memory
    • autoMemory supports automatically recalling up to 5 related memories before Query
    • Supports /memory slash command to manage memory function on/off and memory files
    • Supports auto permission mode, where the model autonomously judges and authorizes tool execution
    • Supports /auto slash command to quickly enable auto mode
    • Supports switching auto mode via terminal shortcut
    • Optimized error log output
  • 1.26.0

    • Supports session memory automatic extraction, autoMemory, currently disabled by default
    • Supports session memory automatic integration, autoDream, currently disabled by default
  • 1.25.3

    • Supports session summary compression mode
    • Fixed resume slash command duplicate message bug
  • 1.24.0

    • Supports git worktree tool
    • subagent supports git worktree
    • Fixed agent team tab switching loading position anomaly error
  • 1.23.0

    • Fixed Agent Team Tab logo not displaying
    • Optimized terminal rendering performance
  • 1.22.8

    • Fixed automatic compression bug
    • Fixed bash path issue
  • 1.22.5

    • Fixed tree-sitter-bash testing issue
  • 1.22.3

    • Optimized compressed messages
    • Fixed TreeSitterNode path bug
  • 1.22.2

    • Added permission release for acceptEdits mode, allowing all files without file restrictions
    • Fixed permission path matching issue
  • 1.22.1

    • Message logs support linked list association
    • Fixed error log printing bug
    • Fixed crash when accessing Kimi process bug
  • 1.22.0

    • Optimized message log storage performance
    • Fixed terminal message display disorder bug
  • 1.21.0

    • Fixed some tool configuration permission anomaly bug
  • 1.20.0

    • Supports autoAllowBashIfSandboxed parameter, if enabled sandbox Bash no longer validates
    • Permission configuration supports ask configuration, can force tool execution to require user confirmation
    • In bypassPermissions mode, writing to .git, .hcode, .vscode, and .idea directories still prompts confirmation, but writing to .hcode/commands, .hcode/agents, and .hcode/skills is exempted
    • Supports disableBypassPermissionsMode parameter to disable bypassPermissions mode
    • Uses tree-sitter-bash to interpret shell, optimizing parsing performance
    • Fixed shell prefix matching bug
    • Supports shell saving as multiple subcommands instead of a single named match
  • 1.19.0

    • Supports sandbox, can isolate network, disk files, users can specify allowed domains, disk file methods, etc.
    • Supports sandbox slash command
  • 1.18.0

    • Skill dynamic parameter replacement, $ARGUMENTS, $ARGUMENTS[N], $N, ${HCODE_SESSION_ID}, ${HCODE_SKILL_DIR}
    • Skill supports disable-model-invocation, user-invocable parameter configuration
    • Skill supports !command dynamic shell execution
  • 1.17.0

    • Skill supports context fork parameter for subagent execution, supports agent parameter
  • 1.16.0

    • Plan mode supports local file storage, stored at ~/.hcode/plan
    • Added plan command to enter plan mode
    • Agent Team supports mode parameter
    • Supports Read, Edit tool permission configuration
  • 1.15.0

    • Supports scheduled task scheduling
  • 1.14.0

    • Supports automatic memory, Hawa code automatically extracts memories from conversations, memories are cross-session
  • 1.13.5

    • Fixed bug where Agent Team was enabled but Tasks were not enabled
  • 1.13.4

    • Optimized Agent Team list display
  • 1.13.2

    • Supports terminal display of Agent Team member messages
  • 1.13.1

    • Enabling Agent Team automatically enables Tasks function
    • Tasks list added owner display
  • 1.13.0

    • Supports Agent Team
  • 1.12.2

    • Supports SessionEnd Hook
  • 1.12.1

    • Supports SessionStart Hook
    • Fixed TODO restore bug
  • 1.12.0

    • Task planning mode upgraded from TodoWrite to Tasks mode, supporting task local file storage and cross-session communication
    • Fixed terminal title display anomaly
    • Optimized tool name usage
  • 1.11.3

    • Fixed Subagent deadlock issue
    • Optimized log output performance
  • 1.11.2

    • Added PostToolUse Hook, supports triggering custom operations after successful tool execution
    • Added PostToolUseFailure Hook, supports triggering custom operations when tool execution fails
    • Optimized Hook Matcher matching performance
  • 1.11.1

    • Supports tool inputScheme lazy loading, optimizing startup time
    • Optimized Task Tool progress display, solving terminal flicker issue
    • Supports disabling Prompt prompt function
    • Fixed message duplicate publishing bug
    • Fixed system reminder message duplicate bug
    • Optimized tool execution performance
  • 1.11.0

    • Supports PreToolUse Hook
  • 1.10.2

    • Supports using shortcut keys to switch tasks to background execution
    • Supports controlling background task running reminders
    • Optimized Markdown display
    • Supports displaying output during shell execution
    • Fixed inaccurate background shell task count display issue
  • 1.10.0

    • Added TaskStop tool, supports aborting background subagent tasks and shell task execution
    • Removed KillShell tool
    • After background shell tasks complete, supports restarting conversation
    • Supports displaying background shell task count
    • Fixed background subagent conversation restart deadlock issue
  • 1.9.3

    • Supports SubagentStart hook
  • 1.9.2

    • Supports Stop, SubagentStop hook
  • 1.9.0

    • Supports user-level rules, project-level rules, and on-demand loading by path
    • Supports startup commands
    • Optimized message reminders
  • 1.8.0

    • Optimized terminal MCP auto-authorization configuration
  • 1.7.0

    • Remote MCP supports auto-authorization
    • Optimized usage effect in githubcodespace
    • MCP Tool permissions.allow supports wildcard setting
    • Optimized compatibility with non-standard Tool input JSON and erroneous JSON formats in Qwen-code-plus
  • 1.6.0

    • Supports MCP Tool lazy loading
    • Fixed Task Tool verbose mode crash bug
    • Optimized network request retry performance
  • 1.5.0

    • Supports settings.json configuration and hot reload
  • 1.4.0

    • AskUserQuestion tool supports multiple questions and custom input
    • Optimized Grep Tool
  • 1.3.0

    • Supports prompt suggestion statements at the end of conversations
  • 1.2.0

    • Supports submitting prompt statements during conversations
  • 1.1.0

    • Supports subagent background execution
    • Supports subagent resume execution
    • Optimized LSP tool file path validation
  • 1.0.16

    • Optimized tool lazy loading performance
    • Optimized LSP tool terminal display
  • 1.0.15 Restored TODO LIST when restoring session