Releases: Pheem49/Mint
Mint v1.5.5
Mint Release Notes
v1.5.5
This release introduces task cancellation support, visual UI updates, customizable Gemini API safety settings, validation libraries, and critical bug fixes.
Task Cancellation & UI Visual Updates
- Cancellation Support: Implemented task cancellation via
AbortControllerincode_agent.jsandinteractive_chat.js, allowing users to interrupt long-running operations. - UI Enhancements: Redesigned interactive chat interface elements and updated the Desktop UI styles (
styles.css) for a more responsive and modern user experience.
Gemini API Integration
- Unrestricted Interactions: Configured
safetySettings(set toBLOCK_NONE) across all categories for Gemini API requests. - System Instructions: Updated default agent and chatbot instructions to handle mature, creative, and uncensored interactions without unwarranted refusals.
Dependencies & Build Workflow
- Data Validation: Added the
zoddependency for schema validation and parsing. - Dependency Overrides: Added a package override for
gh-pagesto resolve build configuration conflicts. - CI Environments: Enabled
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24in Github Actions CI to ensure compatibility with Node.js 24 runtime environments.
Bug Fixes
- Directory Walker Fallback: Fixed the fallback directory-walking logic in
code_agent.jswhen ripgrep is not installed or fails, ensuring it scans the correctsearchRootinstead of defaulting to the fullworkspaceRoot.
v1.5.4
This release introduces automated one-liner installation scripts for macOS, Linux, and Windows, replaces AppImage with .tar.gz for Linux packaging, fixes missing dependencies, and improves continuous integration workflows.
One-Liner Automated Installers
We have introduced automated installation scripts to make setting up and updating Mint CLI easier than ever.
- Linux & macOS (One-liner):
curl -fsSL https://raw.githubusercontent.com/Pheem49/Mint/main/install.sh | bash - Windows (One-liner via PowerShell):
powershell -Command "iwr -useb https://raw.githubusercontent.com/Pheem49/Mint/main/install.ps1 | iex"
- Smart Permission Handling: The Linux/macOS script automatically detects NVM environments and user write permissions, avoiding unnecessary
sudorequests when installing the NPM package globally.
Packaging & CI Improvements
- Linux Packaging: Replaced
.AppImagewith.tar.gzpackaging for better compatibility across different Linux distributions. - CI Workflow Update: Updated the GitHub Actions workflow to run
npm installinstead ofnpm ci, resolving dependency synchronization issues and ensuring smooth builds.
Dependency & Bug Fixes
- Missing Dependency: Added
read-excel-fileto the package dependencies to fix a runtime module error when launching themintcommand.
Mint v1.5.4
Mint Release Notes
v1.5.4
This release introduces automated one-liner installation scripts for macOS, Linux, and Windows, replaces AppImage with .tar.gz for Linux packaging, fixes missing dependencies, and improves continuous integration workflows.
One-Liner Automated Installers
We have introduced automated installation scripts to make setting up and updating Mint CLI easier than ever.
- Linux & macOS (One-liner):
curl -fsSL https://raw.githubusercontent.com/Pheem49/Mint/main/install.sh | bash - Windows (One-liner via PowerShell):
powershell -Command "iwr -useb https://raw.githubusercontent.com/Pheem49/Mint/main/install.ps1 | iex"
- Smart Permission Handling: The Linux/macOS script automatically detects NVM environments and user write permissions, avoiding unnecessary
sudorequests when installing the NPM package globally.
Packaging & CI Improvements
- Linux Packaging: Replaced
.AppImagewith.tar.gzpackaging for better compatibility across different Linux distributions. - CI Workflow Update: Updated the GitHub Actions workflow to run
npm installinstead ofnpm ci, resolving dependency synchronization issues and ensuring smooth builds.
Dependency & Bug Fixes
- Missing Dependency: Added
read-excel-fileto the package dependencies to fix a runtime module error when launching themintcommand.
Mint v1.5.3
Mint Release Notes
v1.5.3
This release focuses on the desktop assistant experience: a cleaner navigation shell, a local-only Pictures library for sent images, safer chat history behavior, and more complete appearance controls.
Desktop Navigation, Local Pictures, and Privacy
Mint Desktop now has a more workspace-like layout with a collapsible sidebar, clearer Chat/Pictures navigation, startup polish, and safer reset actions. Image attachments sent from the desktop chat can now be kept locally as files without storing raw image data in chat history.
Highlights
- Collapsible Sidebar by Default: The desktop app now starts with the sidebar collapsed, keeping the chat/model workspace focused on launch.
- Chat and Pictures Navigation: Added explicit
ChatandPicturessidebar actions for switching between the conversation and local image gallery. - New Chat Confirmation: Renamed
New ConversationtoNew Chatand added confirmation before clearing the current conversation. - Clear Confirmation: The
Clearaction now asks for confirmation before deleting chat history. - Smoother Page Switching: Added fade/slide transitions when switching between Chat and Pictures.
- Improved Pictures Gallery: Added a cleaner local gallery layout with larger cards, hover states, and a more polished header.
- Local Pictures Library: Desktop images are saved locally under
~/.config/mint/Picturesafter the user sends a message with an image. - Pictures Metadata Index: Saved images are indexed in
~/.config/mint/Pictures/pictures.jsonso the desktop gallery can list them. - No Raw Image History: Chat history replaces image payloads with a text placeholder instead of storing raw image base64 data.
- Timestamp Preservation: Chat history now preserves original message timestamps across app restarts and Gemini history syncs.
- Theme-aware Loading Screen: Startup loading now follows the active theme, accent color, and text color.
- Theme & UI Settings: Added UI font size control alongside theme, accent color, system text color, glass blur, and font family.
- README Polish: README sections were reorganized, made collapsible where useful, and updated with new desktop/privacy feature notes.
Local Pictures Library
Desktop image attachments now use a local-first storage flow:
- Images are saved only after the user sends a message.
- Files are written to
~/.config/mint/Pictures. - Metadata is written to
~/.config/mint/Pictures/pictures.json. - The in-app
Picturespage reads that local index and renders saved images as a gallery. - Proactive screen captures are not saved to the Pictures library.
Example saved files:
~/.config/mint/Pictures/
├── mint-20260525-034738-7c0a9739.png
└── pictures.json
Chat History Privacy
Desktop image payloads are no longer stored as raw base64 inside ~/.config/mint/mint-chat-history.json.
When a history entry contains image data, Mint stores a placeholder such as:
[Image omitted from chat history; saved locally when sent by the user.]
The actual image file remains in the local Pictures folder when it was sent by the user.
Desktop Appearance Updates
- Sidebar starts collapsed on launch.
- Sidebar actions now include
New Chat,Chat,Pictures, model controls, assistant shortcuts,Clear, andSettings. New ChatandClearare guarded by confirmation prompts.- Pictures view uses a dedicated gallery page instead of being mixed into the chat surface.
- Light, dark, midnight, and custom themes now apply more consistently across loading, chat, sidebar, and gallery surfaces.
- Settings now include
Font Sizeoptions: Small, Medium, Large, and Extra Large.
Interactive CLI UX
- Clipboard images are now attached first and sent only when the user presses Enter.
- Pending image labels are rendered inside the input box.
- Multiple pending images are shown as compact labels:
[Image #1] [Image #2]
- Fixed terminal input edge cases where
Ctrl+Vcould insert strayvcharacters. - Long pasted text no longer breaks the input border or terminal layout.
- Pasted content can be combined with typed text:
- text before paste
- pasted content
- text after paste
- Image attachments follow the same composition model:
- text before image
- image labels
- text after image
- Code Agent
search_codecan now scope searches to a relative file or folder withinput.path, avoiding whole-project scans when the likely area is known. - Scoped search activity now displays the target folder, for example
Search requestApproval in src/CLI. - Code Agent search heuristics now inspect or use the current project layout before choosing a scoped search path, so Mint works better across projects with different structures.
Provider and Vision Handling
- Gemini image MIME handling now preserves the real image MIME type instead of assuming PNG.
- Chat provider paths can receive multiple images in one request where supported.
- Code Agent multimodal requests now pass attached image context to supported providers.
Current Test Status
- 190 tests passed
- 29 test suites passed
Mint v1.5.2
Mint Release Notes
v1.5.2
This release improves desktop readability and adds repository-aware CLI tools for summarizing codebases, indexing symbols, and searching source code semantically.
Repository Intelligence, Semantic Code Search, and CLI Readability
This patch makes Mint more useful inside a project workspace. The CLI can now inspect a repository directly, build a lightweight source symbol index, and create a semantic code index backed by Gemini embeddings.
Highlights
- Desktop UI Polish: Updated the app interface layout and control styling for a cleaner, more organized desktop experience.
- Clearer Conversation Flow: Improved chat presentation so user and AI messages are easier to distinguish while reading.
- Readable AI Replies: Adjusted AI response formatting to produce cleaner, more structured replies with better spacing and less clutter.
- Thai Reply Handling: Improved response behavior for Thai conversations so replies remain natural and easier to read.
- Reduced Visual Noise: Tightened UI states and message rendering so important conversation content stays the focus.
- Repository Summary: Added
mint summarize [path]and/summarize [path]to report project structure, package metadata, git state, languages, directories, and important files without requiring a full AI agent turn. - Symbol Index: Added
mint symbols [path]and/symbols [path]to scan JavaScript, TypeScript, Python, and Rust source files for functions, classes, exports, interfaces, types, structs, enums, traits, and related symbols. - Semantic Code Search: Added
mint semantic-code indexandmint semantic-code search <query>for embedding source chunks and searching code by meaning. - Natural Workspace Requests: The interactive CLI can detect plain-language requests such as repository summaries, symbol indexes, and semantic code searches, including Thai phrasing, and route them to the local tools.
- Working Timer: The CLI now shows how long Mint has been working while the agent is thinking.
- Cleaner Streaming: Empty assistant/system chunks are filtered so live replies do not create blank messages.
- Unified Patch Preview: Code-agent patch approvals now show a unified-diff style preview with surrounding context before applying edits.
New CLI Commands
mint summarize [path]mint summarize [path] --jsonmint symbols [path]mint symbols [path] --json --limit 120mint semantic-code index [path]mint semantic-code search "<query>" --path <path> --top-k 5
New Interactive Commands
/summarize [path] [--json]/summary [path] [--json]/symbols [path] [--json] [--limit n]/symbol-index [path] [--json] [--limit n]/semantic-code index [path]/semantic-code search <query>/semantic index [path]/semantic search <query>
Repository Summary
The repository summary tool reports:
- root path
- scanned file count
- package name, version, description, scripts, dependencies, and dev dependencies
- git branch, short status, and diff stat
- top-level directory counts
- language counts by extension
- important files such as README, package metadata, release notes, source files, tests, config files, and CI files
Symbol Index
The symbol indexer scans supported source files locally and reports:
- source files scanned
- files containing symbols
- total symbol count
- counts by symbol kind
- counts by language
- symbol names with file and line references
Supported source extensions:
.js,.cjs,.mjs,.jsx.ts,.tsx.py.rs
Semantic Code Search
Semantic code search creates workspace-specific indexes under ~/.config/mint/semantic-code.
- Uses
gemini-embedding-001by default. - Reads the Gemini API key from Mint config or
GEMINI_API_KEY. - Chunks source files with overlap so search results can point back to file and line ranges.
- Includes file path, language, and local symbol names in each embedded chunk.
- Stores file hashes with the index metadata for workspace tracking.
- Supports formatted output and
--jsonoutput.
Code Agent Patch Preview
Patch approvals now use unified diff previews:
- shows
--- a/<path>and+++ b/<path>headers - includes
@@range metadata - includes nearby unchanged context
- displays removed and added lines with
-and+ - falls back to a clear preview error if a hunk cannot be matched
v1.5.1
This release updates the desktop Live2D experience, CLI response loop, learned skills, and image attachment UX.
Desktop Live2D Model and Interaction UI
This patch adds an optional Live2D assistant model to the desktop UI and improves the top toolbar for easier model control.
Highlights
- Live2D Assistant Model: Added a Shiroko Live2D model panel to the Electron desktop assistant.
- Model Visibility Preference: The model panel can be shown or hidden from the toolbar. New installs start with the model hidden until enabled.
- Expression Cycling: Added a toolbar control for cycling Live2D expressions.
- Expression Toast: The active expression name is shown in a small on-canvas toast after changing expressions.
- Click-to-Chat Reactions: Clicking named model areas can trigger temporary expressions and send a short contextual prompt into the normal chat flow.
- Interaction Area Overlay: Added a transparent guide overlay for clickable regions such as
Head Pat,Cheek Poke,Hand Tap,Shoulder Tap, andCareful. - Safe Missed Clicks: Clicking outside the defined interaction zones no longer changes expression, sends chat prompts, consumes AI tokens, or starts cooldown.
- Interaction Cooldown: Model reactions use a 3-second cooldown to reduce accidental repeated AI calls.
- Live2D Lip Sync: Mint animates mouth parameters while speaking and resets them when speech ends.
- Toolbar Redesign: Desktop header controls are grouped into clearer model, utility, and window-control sections with readable labels.
Live2D Desktop Model
- The model is loaded from
models/Shiroko_Model. - The desktop model can be toggled from the
Modeltoolbar button. - The first launch defaults to hiding the model panel.
- The visibility setting is stored in
localStorageasmint-model-hidden. - Expression controls use the configured Live2D expression files and reset expression parameters before switching to avoid stuck expressions.
- Temporary click reactions return to the previously selected expression after 2 seconds.
Interaction Zones
The interaction guide overlay labels clickable regions without blocking pointer input:
Head PatCheek PokeHand TapShoulder TapCareful
Only clicks inside these configured regions trigger Live2D reactions. Clicks outside the regions are ignored.
Fast Mode, Live Replies, and Learned Skills
This patch improves the Mint CLI interaction loop and adds persistent skill/instruction learning from local markdown or text files.
Highlights
- Agent Status Label: The interactive CLI now shows
[Agent]instead of[Chat]for the normal agent loop. - Fast Mode: Added
/fast,/fast on,/fast off, and/fast status. - Fast Status: When Fast Mode is enabled, the status bar shows
[Fast]. - Quiet Trace Output: Fast Mode keeps
● Mint is thinking...visible but hidesThinking:and intermediate tool/progress trace messages. - Live Mint Replies: Final Mint responses now render into one live-updating
Mintmessage block instead of appearing all at once or splitting into multipleMintmessages. - Learned Skills: Added
mint learn <path>and/learn <path>for importing local.mdor.txtfiles as persistent skill/instruction context. - Skill Management: Learned skills can be listed and deleted from both the command line and interactive CLI.
- Expanded Slash Suggestions:
/memory skillsis now available in the/command suggestions. - Expanded Tests: Test suite now reports 137 passing tests.
Fast Mode
New interactive commands:
/fasttoggles Fast Mode./fast onenables Fast Mode./fast offdisables Fast Mode./fast statusshows the current Fast Mode state.
Fast Mode changes presentation only. Agent routing, tool calls, approvals, final answers, and provider/model behavior continue to work normally.
Live Response Rendering
Thinking:messages can appear before the final answer when Fast Mode is off.- Final responses stream into one active
Mintmessage block. - The completed message is stored in history after the response finishes.
- Fast Mode still streams the final answer, but hides the internal
Thinking:trace.
Learned Skills
New command-line examples:
mint learn ./skill.mdmint learn ./instructions.txtmint learn --listmint learn --delete <id|path|name>
New interactive CLI examples:
/learn ./skill.md/memory skills/memory skills delete <id|path|name>
Learned files are stored in Mint's SQLite memory as persistent skill/instruction documents. Mint injects learned skills into long-term context on later turns.
CLI Image Attachments & Paste UX
This patch improves the interactive Mint CLI input experience, especially for screenshots, clipboard images, and long pasted text.
Highlights
- CLI Image Attachments: Added
--image <path>support formint chatandmint code. - Interactive Image Paste:
Ctrl+Vcan attach clipboard images inside the interactive CLI without sending immediately. - Multiple Images: Users can attach several images before pressing Enter; the UI labels them as
[Image #1],[Image #2], and so on. - Attachment Controls:
Ctrl+Backspaceremoves the latest pending image, andEscclears pending images or pasted content before exiting. - Long Paste Placeholder: Long or multi-line pasted text is collapsed in the input as
[Pasted Content N chars]while p...
Mint v1.5.1
Mint Release Notes
v1.5.1
This release updates the desktop Live2D experience, CLI response loop, learned skills, and image attachment UX.
Desktop Live2D Model and Interaction UI
This patch adds an optional Live2D assistant model to the desktop UI and improves the top toolbar for easier model control.
Highlights
- Live2D Assistant Model: Added a Shiroko Live2D model panel to the Electron desktop assistant.
- Model Visibility Preference: The model panel can be shown or hidden from the toolbar. New installs start with the model hidden until enabled.
- Expression Cycling: Added a toolbar control for cycling Live2D expressions.
- Expression Toast: The active expression name is shown in a small on-canvas toast after changing expressions.
- Click-to-Chat Reactions: Clicking named model areas can trigger temporary expressions and send a short contextual prompt into the normal chat flow.
- Interaction Area Overlay: Added a transparent guide overlay for clickable regions such as
Head Pat,Cheek Poke,Hand Tap,Shoulder Tap, andCareful. - Safe Missed Clicks: Clicking outside the defined interaction zones no longer changes expression, sends chat prompts, consumes AI tokens, or starts cooldown.
- Interaction Cooldown: Model reactions use a 3-second cooldown to reduce accidental repeated AI calls.
- Live2D Lip Sync: Mint animates mouth parameters while speaking and resets them when speech ends.
- Toolbar Redesign: Desktop header controls are grouped into clearer model, utility, and window-control sections with readable labels.
Live2D Desktop Model
- The model is loaded from
models/Shiroko_Model. - The desktop model can be toggled from the
Modeltoolbar button. - The first launch defaults to hiding the model panel.
- The visibility setting is stored in
localStorageasmint-model-hidden. - Expression controls use the configured Live2D expression files and reset expression parameters before switching to avoid stuck expressions.
- Temporary click reactions return to the previously selected expression after 2 seconds.
Interaction Zones
The interaction guide overlay labels clickable regions without blocking pointer input:
Head PatCheek PokeHand TapShoulder TapCareful
Only clicks inside these configured regions trigger Live2D reactions. Clicks outside the regions are ignored.
Fast Mode, Live Replies, and Learned Skills
This patch improves the Mint CLI interaction loop and adds persistent skill/instruction learning from local markdown or text files.
Highlights
- Agent Status Label: The interactive CLI now shows
[Agent]instead of[Chat]for the normal agent loop. - Fast Mode: Added
/fast,/fast on,/fast off, and/fast status. - Fast Status: When Fast Mode is enabled, the status bar shows
[Fast]. - Quiet Trace Output: Fast Mode keeps
● Mint is thinking...visible but hidesThinking:and intermediate tool/progress trace messages. - Live Mint Replies: Final Mint responses now render into one live-updating
Mintmessage block instead of appearing all at once or splitting into multipleMintmessages. - Learned Skills: Added
mint learn <path>and/learn <path>for importing local.mdor.txtfiles as persistent skill/instruction context. - Skill Management: Learned skills can be listed and deleted from both the command line and interactive CLI.
- Expanded Slash Suggestions:
/memory skillsis now available in the/command suggestions. - Expanded Tests: Test suite now reports 137 passing tests.
Fast Mode
New interactive commands:
/fasttoggles Fast Mode./fast onenables Fast Mode./fast offdisables Fast Mode./fast statusshows the current Fast Mode state.
Fast Mode changes presentation only. Agent routing, tool calls, approvals, final answers, and provider/model behavior continue to work normally.
Live Response Rendering
Thinking:messages can appear before the final answer when Fast Mode is off.- Final responses stream into one active
Mintmessage block. - The completed message is stored in history after the response finishes.
- Fast Mode still streams the final answer, but hides the internal
Thinking:trace.
Learned Skills
New command-line examples:
mint learn ./skill.mdmint learn ./instructions.txtmint learn --listmint learn --delete <id|path|name>
New interactive CLI examples:
/learn ./skill.md/memory skills/memory skills delete <id|path|name>
Learned files are stored in Mint's SQLite memory as persistent skill/instruction documents. Mint injects learned skills into long-term context on later turns.
CLI Image Attachments & Paste UX
This patch improves the interactive Mint CLI input experience, especially for screenshots, clipboard images, and long pasted text.
Highlights
- CLI Image Attachments: Added
--image <path>support formint chatandmint code. - Interactive Image Paste:
Ctrl+Vcan attach clipboard images inside the interactive CLI without sending immediately. - Multiple Images: Users can attach several images before pressing Enter; the UI labels them as
[Image #1],[Image #2], and so on. - Attachment Controls:
Ctrl+Backspaceremoves the latest pending image, andEscclears pending images or pasted content before exiting. - Long Paste Placeholder: Long or multi-line pasted text is collapsed in the input as
[Pasted Content N chars]while preserving the full content for sending. - Natural Composition Order: Text typed before an image or pasted content, the attachment/content itself, and text typed afterward are sent in the same natural order.
- Vision Context Follow-up: The CLI keeps lightweight context from the latest image turn so follow-up questions can refer back to recently attached images.
- Expanded Tests: Test suite now reports 137 passing tests.
CLI Image Input
- Added
src/CLI/image_input.js. - Supported image formats:
.png.jpg.jpeg.webp.gif
- New command-line examples:
mint chat --image ./screenshot.png "What is on this screen?"mint code --image ./mockup.png "Build this UI"
- Interactive CLI examples:
Ctrl+Vto attach a clipboard image./paste [prompt]to attach a clipboard image through a command./image ./screenshot.png [prompt]to attach an image file while already insidemint.
Interactive CLI UX
- Clipboard images are now attached first and sent only when the user presses Enter.
- Pending image labels are rendered inside the input box.
- Multiple pending images are shown as compact labels:
[Image #1] [Image #2]
- Fixed terminal input edge cases where
Ctrl+Vcould insert strayvcharacters. - Long pasted text no longer breaks the input border or terminal layout.
- Pasted content can be combined with typed text:
- text before paste
- pasted content
- text after paste
- Image attachments follow the same composition model:
- text before image
- image labels
- text after image
Provider and Vision Handling
- Gemini image MIME handling now preserves the real image MIME type instead of assuming PNG.
- Chat provider paths can receive multiple images in one request where supported.
- Code Agent multimodal requests now pass attached image context to supported providers.
Current Test Status
- 137 tests passed
- 20 test suites passed
Mint v1.5.0
Mint Release Notes
v1.5.0 Update - Provider Visibility, OAuth Integrations & Plugin Expansion
This update expands Mint's integration layer and improves provider transparency across the desktop and CLI experiences.
Highlights
- Provider/Model Visibility: Desktop chat and CLI status now show the actual provider and model that answered, including fallback results.
- Gmail API Integration: Added a safe Gmail plugin for searching/reading email and creating drafts.
- Gmail OAuth Helper: Added
mint gmail authandmint gmail auth --no-opento generate and save Gmail refresh tokens. - Google Calendar API Integration: Calendar plugin can now list events and create events through the Calendar API, with browser fallback when OAuth is not configured.
- Notion API Integration: Added Notion plugin support for creating pages, querying databases, and appending page blocks.
- Onboarding Expansion:
mint onboardnow supports Google Calendar API, Gmail API, and Notion API setup. - Provider Routing Cleanup: OpenAI/local placeholders and empty local URLs no longer cause misleading fallback attempts.
- Expanded Tests: Test suite increased to 121 passing tests across 19 test suites.
New Integrations
-
Gmail Plugin
- Added
src/Plugins/gmail.js. - Supports:
- Gmail search/list queries, such as inbox and unread mail.
- Reading full message content by message ID.
- Creating drafts for review before sending.
- Does not send email automatically.
- Uses OAuth scopes:
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.compose
- Added
-
Gmail OAuth CLI
- Added
src/CLI/gmail_auth.js. - Added CLI commands:
mint gmail authmint gmail auth --no-open
--no-openprints the OAuth URL without opening a browser.- Onboarding can now start Gmail OAuth automatically after Gmail Client ID/Secret are configured and the refresh token is blank.
- Saved config fields:
gmailClientIdgmailClientSecretgmailRefreshTokengmailUserIdpluginGmailEnabled
- Added
-
Google Calendar Plugin
- Reworked
src/Plugins/google_calendar.js. - Supports:
- Listing today's or upcoming events.
- Creating timed or all-day events.
- Browser fallback for opening Google Calendar or event creation when OAuth is not configured.
- Saved config fields:
googleCalendarClientIdgoogleCalendarClientSecretgoogleCalendarRefreshTokengoogleCalendarIdpluginCalendarEnabled
- Reworked
-
Notion Plugin
- Added
src/Plugins/notion.js. - Supports:
- Creating Notion pages/notes.
- Querying a Notion database.
- Appending blocks to a Notion page.
- Saved config fields:
notionApiKeynotionDatabaseIdnotionPageIdnotionTitlePropertypluginNotionEnabled
- Added
CLI and Settings Improvements
mintstartup now printsActive AI: provider • model.- CLI status bar updates to the provider/model that most recently answered.
- Desktop chat displays provider/model metadata for AI responses.
- Settings now includes Gmail and Notion plugin toggles.
mint listnow includesmint gmail auth.README.mdnow documents Gmail, Google Calendar, Notion, and provider/model visibility.
Provider and Config Fixes
localApiBaseUrlnow defaults to an empty value instead ofhttp://localhost:1234/v1.ollamaHostnow defaults to an empty value in settings/config so users can set it manually.- Placeholder keys such as
your_openai_key_hereare treated as unset before API calls. - Provider attempt order now skips configured providers that are not actually available.
- Onboarding resets
aiProviderback to Gemini when no optional AI provider is selected, preventing stale OpenAI/local selections.
New Tests
- Added Gmail plugin tests.
- Added Gmail OAuth helper tests.
- Added Google Calendar plugin tests.
- Added Notion plugin tests.
- Updated provider routing tests for unavailable providers.
Current Test Status
- 121 tests passed
- 19 test suites passed
v1.5.0 - Unified Agent, Safety Layer & Architecture Hardening
Mint 1.5.0 is a major agent-readiness release. It turns the CLI into a true unified agent loop, adds a central safety manager, hardens dependency security, introduces CI, and refactors the Electron main process into focused modules.
Highlights
- Unified CLI Agent: The default
mintcommand now sends normal chat and coding requests through the same agent loop. - Thinking by Default: Every CLI message goes through an agent decision step before responding or using tools.
- Central Safety Manager: New deterministic safety layer for shell commands, high-risk actions, path boundaries, and action logging.
- Provider Fallback: Code Agent can fall back from local OpenAI-compatible providers to cloud providers such as Gemini.
- Main Process Refactor:
main.jswas reduced to a bootstrap/wiring file and split into dedicated system modules. - Security Baseline:
npm audit --audit-level=highnow reports0 vulnerabilities. - Expanded Tests: Test suite increased to 121 passing tests across the full v1.5.0 update line.
New Features
-
Unified Agentic CLI
mintnow behaves as a single AI agent instead of separating normal chat and Code Mode by default.- Casual messages can finish directly in one step.
- Coding or workspace tasks can inspect files, search code, run approved commands, apply patches, and verify results.
- The CLI status reflects Agent/Chat mode while keeping one unified interaction flow.
-
Safety Manager
- Added
src/System/safety_manager.js. - Introduced permission tiers:
safeapprovaldangerousblocked
- Added deterministic command blocking for high-risk shell commands, including:
rm -rfgit reset --hardgit clean -fmkfs- raw disk writes
shutdownrebootsudochmod -R 777curl | shwget | bash
- Added path traversal protection with
resolveWithinRoot(). - Added local action audit logging to:
~/.config/mint/action-log.jsonl
- Added
-
Action Safety Integration
- Integrated safety checks into:
- Code Agent shell execution
- Electron/system action executor
- CLI action bridge
- Autonomous brain file actions
- Dangerous actions such as
delete_fileand destructivesystem_automationnow require explicit permission.
- Integrated safety checks into:
-
Provider Fallback for Code Agent
- Code Agent now builds a supported provider order.
- If
local_openaiis configured but offline, the agent can fall back to another available provider such as Gemini. - Fallback logs are hidden by default and can be shown with
MINT_DEBUG=1.
-
Internal Google TTS URL Generator
- Removed vulnerable
google-tts-api. - Added internal TTS URL generation in
src/System/google_tts_urls.js. - Added tests for empty text, URL generation, and chunk splitting.
- Removed vulnerable
-
Safer Excel Parsing
- Removed vulnerable
xlsx. - Replaced spreadsheet reading with
read-excel-file. - Knowledge base can still index
.xlsxfiles across sheets.
- Removed vulnerable
Architecture Changes
-
Electron Main Process Split
main.jsis now a small bootstrap file.- Added focused system modules:
src/System/window_manager.jssrc/System/ipc_handlers.jssrc/System/proactive_loop.jssrc/System/screen_capture.jssrc/System/action_executor.js
- This reduces coupling between window creation, IPC handlers, proactive analysis, screen capture, and action execution.
-
Action Executor Consolidation
- Shared action execution now lives in
src/System/action_executor.js. - Electron and proactive action handling use the same executor path.
- Shared action execution now lives in
-
Improved Code Agent Flow
- Conversational/trivial requests are now encouraged to
finishdirectly without unnecessary workspace inspection. - Tool result progress no longer duplicates thought output.
- Shell, patch, and write actions are logged when approved.
- Conversational/trivial requests are now encouraged to
CI, Testing & Maintenance
-
GitHub Actions CI
- Added
.github/workflows/ci.yml. - CI now runs:
npm cinpm test -- --runInBandnpm audit --audit-level=high
- Added
-
New Tests
- Added safety manager tests for:
- destructive command blocking
- safe command classification
- dangerous action classification
- explicit permission enforcement
- path traversal prevention
- Added action executor safety tests for dangerous action blocking.
- Added Google TTS URL generation tests.
- Added safety manager tests for:
-
Current Test Status
-
121 tests passed
-
19 test suites passed
Documentation
- Rewrote
README.mdto document all major current features. - Added sections for:
- Unified CLI Agent
- Desktop Assistant
- Automation
- Knowledge and Memory
- Multi-provider AI
- Messaging Bridges and Plugins
- MCP Extensions
- Safety System
- Project Structure
- Runtime Notes
Security Notes
- This release makes Mint safer by adding deterministic policy checks in code, not just prompt instructions.
- Some system-level plugins and desktop automation paths can still be expanded further with deeper permission prompts and UI-level confirmation.
system_automationremains powerful and should be used carefully.
Migration Notes
- If you used
xlsxdirectly through Mint internals, it has been replaced withread-excel-file. - If you relied on
google-tts-api, Mint now generates Google Translate TTS URLs internally. - Action logs may now appear under
~/.config/mint/action-log.jsonl. - Local OpenAI-compatible providers should be running before use; otherwise Mint can fall back to other configured providers.
Mint v1.4.2
Mint Release Notes
v1.4.2 - Web Search & Specialized Personas
Mint 1.4.2 introduces powerful information retrieval capabilities with integrated Web Search, smarter file discovery, and a suite of specialized agent personas with consistent "Mint" personality traits.
Highlights
- Integrated Web Search: The agent can now search the internet to provide up-to-date information.
- Specialized Personas: Six distinct agent personas (Default, Coder, Researcher, Creative, Manager, Reviewer) with a consistent "Mint" personality.
- Smart Path Discovery: New
find_pathtool for finding files and folders by name or partial path. - Enhanced Thai Support: Refined personality and polite particles ("ค่ะ", "นะคะ") when communicating in Thai.
- Deep Context Integration: Better chat history management for seamless multi-turn conversations.
New Features
-
Web Search Integration
- Added
web_searchtool tocode_agent. - Enables the agent to fetch real-time data from the web when it lacks local knowledge.
- Added
-
Persona-Driven Experts
- Introduced the
Agent Orchestratorwith six specialized roles:- Mint Default: Friendly and versatile assistant.
- Mint Coder: Technical expert focusing on best practices.
- Mint Researcher: Analytical role focused on data and facts.
- Mint Creative: Expressive partner for brainstorming.
- Mint Manager: Efficiency-focused role for task planning.
- Mint Reviewer: Senior critic for code and content quality.
- Introduced the
-
Improved File Operations
- New
find_pathutility to locate files and directories within the workspace. - Smarter path resolution for all file system actions.
- New
-
Refined Agent Personality
- Standardized "Mint" personality across all modules.
- Added specific Thai language support to ensure polite and consistent responses in Thai.
Improvements & Fixes
-
CLI Stability
- Improved CLI input handling and streaming performance.
- Better reporting of tool execution in the terminal UI.
-
Router Improvements
- Enhanced intent detection in
chat_routerto better distinguish between general chat and complex coding tasks. - Added more Thai keyword support for better localization.
- Enhanced intent detection in
-
Tool Execution
- Hardened tool execution paths and improved error reporting when tools fail.
- Better handling of large tool outputs with truncation logic.
Documentation & Maintenance
- Major overhaul of
README.mdto reflect new capabilities and architecture. - Updated
BUILD_AND_RELEASE.mdwith refined release procedures. - Cleaned up dependency list in
package.json.
Testing
- Added tests for
findPathandwebSearchhelpers. - Verified persona switching and personality consistency.
- Current test status:
- 85 tests passed
v1.4.1 - CLI Agent Hardening & Stability
Mint 1.4.1 focuses on making the CLI and coding agent behave more like a real agent, while tightening several unsafe execution paths and improving reliability across provider selection, workspace handling, and action execution.
Highlights
- CLI one-shot chat now executes returned actions, not just text responses
- Code Mode now uses only supported coding providers instead of silently falling through
- Agent loop is more resilient when a model returns malformed JSON
- Workspace detection is safer and no longer matches sibling paths by prefix
- Multiple shell execution paths were hardened to reduce command injection risk
CLI & Agent Improvements
-
One-shot CLI action execution
mint chat <message>and equivalent one-shot paths now execute structured actions the same way as interactive chat.- This fixes cases where Mint would say it was opening or searching for something but would not actually perform the action.
-
Better Code Mode provider routing
- Code Mode now selects from providers that are actually supported by the coding workflow:
geminianthropicopenailocal_openai
- Unsupported coding providers such as
ollamaorhuggingfaceno longer appear to be active while silently falling back elsewhere.
- Code Mode now selects from providers that are actually supported by the coding workflow:
-
More robust agent loop
- Code Mode now attempts JSON repair when a provider returns malformed structured output.
- Instead of failing immediately on the first invalid JSON response, Mint asks the model to reformat the reply into valid JSON and retries.
-
Accurate step reporting
- Code Mode now reports the actual number of executed steps instead of always showing the maximum configured step count.
Security & Safety Fixes
-
Hardened URL and file opening paths
- Replaced shell-string execution with argument-based process execution in browser and file action handlers.
-
Hardened app launching
open_appno longer builds launcher commands through shell interpolation for common launch paths.
-
Hardened Docker plugin
- Docker actions now use argument-based execution instead of shell-string concatenation.
-
Safer workflow process matching
- Custom workflow process-name matching now escapes regex characters before building a matcher.
Workspace & Config Fixes
-
Workspace path matching fixed
- Workspace detection no longer treats sibling folders with the same prefix as the same project.
- Example:
/projectno longer incorrectly matches/project-two
-
Workspace test isolation
- Workspace storage can now be redirected for tests through an override path, making tests more reliable in restricted environments.
-
Proactive cooldown config consistency
- Proactive suggestion cooldown now reads from the same config source as the rest of the app.
-
Provider fallback logic improved
- Non-Gemini providers are no longer blocked by a missing Gemini API key before routing even begins.
Documentation
- Rewrote the README to better reflect Mint’s current state as a desktop assistant plus CLI coding agent
- Clarified current agent capabilities, supported workflows, and provider behavior
Testing
-
Expanded regression coverage for:
- Docker plugin execution
- Provider routing helpers
- Code agent helper behavior
- Workspace path boundary handling
-
Current test status:
- 77 tests passed
Notes
Mint 1.4.1 is not a major feature release. It is a stabilization release aimed at making existing agentic workflows safer, more honest about what provider is actually being used, and more reliable in day-to-day CLI usage.
Mint v1.4.1
Mint Release Notes
v1.4.1 - CLI Agent Hardening & Stability
Mint 1.4.1 focuses on making the CLI and coding agent behave more like a real agent, while tightening several unsafe execution paths and improving reliability across provider selection, workspace handling, and action execution.
Highlights
- CLI one-shot chat now executes returned actions, not just text responses
- Code Mode now uses only supported coding providers instead of silently falling through
- Agent loop is more resilient when a model returns malformed JSON
- Workspace detection is safer and no longer matches sibling paths by prefix
- Multiple shell execution paths were hardened to reduce command injection risk
CLI & Agent Improvements
-
One-shot CLI action execution
mint chat <message>and equivalent one-shot paths now execute structured actions the same way as interactive chat.- This fixes cases where Mint would say it was opening or searching for something but would not actually perform the action.
-
Better Code Mode provider routing
- Code Mode now selects from providers that are actually supported by the coding workflow:
geminianthropicopenailocal_openai
- Unsupported coding providers such as
ollamaorhuggingfaceno longer appear to be active while silently falling back elsewhere.
- Code Mode now selects from providers that are actually supported by the coding workflow:
-
More robust agent loop
- Code Mode now attempts JSON repair when a provider returns malformed structured output.
- Instead of failing immediately on the first invalid JSON response, Mint asks the model to reformat the reply into valid JSON and retries.
-
Accurate step reporting
- Code Mode now reports the actual number of executed steps instead of always showing the maximum configured step count.
Security & Safety Fixes
-
Hardened URL and file opening paths
- Replaced shell-string execution with argument-based process execution in browser and file action handlers.
-
Hardened app launching
open_appno longer builds launcher commands through shell interpolation for common launch paths.
-
Hardened Docker plugin
- Docker actions now use argument-based execution instead of shell-string concatenation.
-
Safer workflow process matching
- Custom workflow process-name matching now escapes regex characters before building a matcher.
Workspace & Config Fixes
-
Workspace path matching fixed
- Workspace detection no longer treats sibling folders with the same prefix as the same project.
- Example:
/projectno longer incorrectly matches/project-two
-
Workspace test isolation
- Workspace storage can now be redirected for tests through an override path, making tests more reliable in restricted environments.
-
Proactive cooldown config consistency
- Proactive suggestion cooldown now reads from the same config source as the rest of the app.
-
Provider fallback logic improved
- Non-Gemini providers are no longer blocked by a missing Gemini API key before routing even begins.
Documentation
- Rewrote the README to better reflect Mint’s current state as a desktop assistant plus CLI coding agent
- Clarified current agent capabilities, supported workflows, and provider behavior
Testing
-
Expanded regression coverage for:
- Docker plugin execution
- Provider routing helpers
- Code agent helper behavior
- Workspace path boundary handling
-
Current test status:
- 77 tests passed
Notes
Mint 1.4.1 is not a major feature release. It is a stabilization release aimed at making existing agentic workflows safer, more honest about what provider is actually being used, and more reliable in day-to-day CLI usage.
Mint v1.4.0
Mint Release Notes
v1.4.0 - The "Intelligence & Collaboration" Update
Mint 1.4.0 is the most significant release to date — Mint is now project-aware, persona-driven, and context-sensitive. With persistent memory, real-time streaming, and a full suite of system tools, Mint has evolved from a simple chat interface into a true autonomous assistant.
✨ New Features
-
⚡ Streaming Responses (Gemini):
- Real-time interaction! Messages now appear word-by-word as they are generated, rather than waiting for the full response.
- Uses Gemini SDK's
sendMessageStream()with progressive JSON buffer extraction.
-
🧠 Long-Term Memory & Caching:
- Mint now remembers you across sessions via a local SQLite store.
- Personalization: Tracks your language preferences, active projects, and common interaction patterns to inject relevant context into every prompt.
- Response Caching: Instant answers for repeated queries! Saves API quota and reduces latency by caching common AI responses.
-
🤖 Multi-Agent Orchestrator:
- Persona Switching: Switch between specialized agents like Coder, Researcher, Creative, Manager, and Reviewer using the
/agent <type>command. - Review Mode: Use
/reviewto trigger a second-pass critique of any AI response by the specialized Reviewer agent.
- Persona Switching: Switch between specialized agents like Coder, Researcher, Creative, Manager, and Reviewer using the
-
📂 Workspace Management:
- Register your project directories with
/workspace add <name> [path] [instructions]. - Mint automatically detects when you are working inside a registered workspace and applies project-specific instructions to the AI context.
- Register your project directories with
-
📊 System Monitor & Notifications:
- Stats: Use
/statsto view real-time CPU load, Memory usage, and Disk space. - OS Notifications: Receive system alerts when autonomous tasks finish or when Mint proposes a bash command, keeping you informed even when the terminal is in the background.
- Stats: Use
-
🎵 Spotify Plugin (Complete Edition):
- Full control via
playerctl(no OAuth required): - Playback:
play,pause,stop,next,previous. - Now Playing: View current track, artist, and album status.
- Volume & Shuffle: Fine-grained control over audio levels and playback modes.
- Search: Quick browser-based search integration.
- Full control via
🛠️ Improvements & Refactoring
- Smarter API Key Detection: Automatically detects and skips placeholder API keys (e.g., "your_key_here") to prevent unauthorized errors.
- Unified System Prompt: Refactored
buildSystemPrompt()to centralize MCP tools, plugin descriptions, and workspace context across all AI providers. - Smart Routing Priority: Code tasks now prioritize your configured
aiProviderwhile gracefully falling back to the best available model.
🧪 Testing & Stability
- Robust Test Suite (69 tests passed):
- Full coverage for
config_manager,memory_store,workspace_manager,agent_orchestrator,system_monitor, andspotifyplugins. - Implemented strict test isolation with temporary databases and configurations to protect production data.
- Full coverage for
v1.3.0 - The "Agent & Plugin Power-Up" Update
Mint 1.3.0 introduced the foundation for multi-agent capabilities and a more flexible plugin architecture.
✨ New Features
- Agent Framework: Initial support for switching between different AI specializations.
- Plugin System 2.0: Dynamic loading/unloading of plugins without restarting the CLI.
- Contextual Help: Introduced
/helpcommand with situation-aware suggestions.
🛠️ Improvements & Bug Fixes
- Performance Boost: Optimized CLI responsiveness and reduced memory footprint.
- Better Error Handling: Improved user-facing error messages with actionable fixes.
v1.2.4 - The "Smart Path & Dynamic Version" Update
Focused on path resolution intelligence and consistent versioning.
✨ New Features
- Smart Path Resolution: Automatic Home-directory correction and common folder searching.
- Dynamic Versioning: CLI versioning is now synchronized directly with
package.json.
v1.2.3 - The "Smart TUI" Update
Focused on the terminal user interface (TUI) polish and system awareness.
✨ New Features
- System Awareness: Added reporting for OS, Kernel, and Architecture.
- Enhanced TUI Layout: Bubble-Lite message style and smart text wrapping for Thai/English.
- Mouse Support: Added scroll wheel support for chat history.
🛠️ Improvements & Bug Fixes
- Terminal Cleanup: Fixed "garbage" character artifacts on exit.
- Slash Command Aliases: Added
/modelas an alias for/models.
Mint v1.3.0
📝 Release Notes
v1.3.0 - The "Agent & Plugin Power-Up" Update
Mint 1.3.0 brings elevated Agent and Plugin systems, making them smarter and more flexible. It comes packed with new features that make using Mint more enjoyable and powerful than ever!
✨ New Features
- Agent Framework:
- Supports creating and switching between multiple Agents in the CLI (e.g., code agent, browser agent, knowledge agent).
- Added the
/agentcommand to manage agents and view their current status.
- Plugin System 2.0:
- Improved the plugin system to allow dynamic loading and disabling on the fly—no restart required.
- Added the
/pluginscommand to view and manage plugins.
- Contextual Help:
- Added an automatic context-aware help system that recommends relevant commands and plugins based on the current situation.
- Thai Language UX:
- Improved Thai language support across the UI and response messages.
🛠️ Improvements & Bug Fixes
- Performance Boost: Improved CLI response speed and reduced memory consumption.
- Better Error Handling: Clearer, easier-to-understand error notifications along with suggested solutions.
- Config Hot Reload: Changes to
mint-config.jsoncan now be reloaded instantly without closing the program. - Security: Updated dependencies and added security validations for plugins.