Chapter 6 — Side Panels & AI Assistant
Chapter 6 — Side Panels & AI Assistant
The mode bar (vertical buttons on the left window edge) switches five side panel views: Local (file tree), Search, Version, Remote, and Debug. This chapter covers the last four plus the AI panel.
6.1 Search Panel
Click the mode bar’s Search button (magnifier icon):

- Full-text search across the entire project directory, with regex and case-sensitive toggles.
- Results are grouped by file; clicking an entry opens it in the editor with the matching line highlighted.
- The header shows match statistics; searching runs on a background thread so large projects never block the UI.
6.2 Version Panel (Git/SVN)
Click the mode bar’s Version button:

- Automatically detects a Git or SVN repository in the project directory (without one, the panel offers “Add Git repository / Check out SVN / Add existing repository”).
- Change list: modified files in the working tree; click to open in the editor.
- Commit history: the log with author, date, and message.
- AI-modified only: scans the AI task store and filters the history of files touched by the AI assistant.
- The repo view replaces the file tree; click the Local button to switch back.
6.3 Remote Panel (SSH/SFTP/FTP/FTPS)
Click the mode bar’s Remote button:
- The sidebar lists the servers saved in
~/.wxeditor/remote.json(name, host, port). Passwords are stored AES-GCM encrypted with a master key kept in the same file. - Add/edit server: the session dialog covers name, protocol (SSH/SFTP, FTP, FTPS), host, port, auth type (password/certificate), username, and password/private key. Empty dialog fields mean “keep the stored value”; non-empty fields override it.
- Protocols: SSH/SFTP runs over ssh2 with port 22 by default; FTP/FTPS use password auth only (an empty username means anonymous) with port 21 by default, and FTPS is explicit TLS (AUTH TLS) accepting self-signed certificates. Remote execution and sudo are unavailable over FTP; line-window/search on large files download the whole file and compute locally. AI remote execution is unavailable over FTP.
- After connecting, the file tree switches to the remote directory; double-click downloads a file (SFTP/FTP), and saving writes it back. Transfers show a progress dialog; dropped connections reconnect automatically.
- wxterm interop:
wxeditor -sid <session-id>launches with a session from wxterm’s sessions.json;enc:-prefixed passwords are decrypted with wxterm’s master key. - In local mode (double-click launch) the Remote button is dimmed.
6.4 Debug Panel
Click the mode bar’s Debug button:

- Run configurations: create debug run configs (command, arguments, working directory) for the project; multi-language debug sessions.
- Breakpoints: click the gutter margin left of the line numbers to toggle a breakpoint; the panel lists all breakpoints (file:line plus condition) with edit/skip controls.
- Watches: expressions re-evaluated live during a session.
- Call stack / variables / console: the core debug views.
- Breakpoints persist in
~/.wxeditor/wxeditor_debug.jsonand are restored on restart.
6.5 AI Assistant Panel
The AI strip on the right edge of the editor area (two vertical buttons): the upper one toggles the AI panel, the lower opens AI settings. Click to open the panel:

- Conversational assistant: multi-turn chat with code-block copy, stop generation, clear, and new chat.
- Context awareness: send the current file/selection as context; AI edits are shown as a diff view with per-hunk accept/reject.
- Model settings (Options → AI Options → Model settings): multiple providers and models — name, API type, API URL, API key, model ID, max context, max output, and proxy toggle; models can be pulled from the provider’s list.
- MCP servers (AI Options → MCP servers): configure Model Context Protocol servers to extend the AI’s toolset.
- Skills (AI Options → Skills): manage the AI skills directory.
- Authorization (AI Options → Authorization): control the approval policy for AI tool execution (commands, file writes, etc.).
- AI data lives under
~/.wxeditor/ai/(provider.json, session and task stores).