Artgine Agent

A local web tool that remote-controls your PC screen, files, and AI coding agents from any browser.

Key Features

RDP

View a local or remote Control server screen, and control it with keyboard and mouse when needed.

Files

Browse allowed server folders to view, edit, share, and upload files, with Git and SVN support.

File Manager / Search

Search files by name across registered paths.

AI Chat

Open AI chat sessions with a working directory, run several at once, and follow status by color.

Terminal

Open CLI sessions such as cmd, claude, codex, opencode, antigravity, and grok, and hand work off to another provider with a slash command.

Scheduler

Runs Sub Agent tasks automatically on a schedule.

Browser

Open a remote web view by URL and size, and send keyboard and mouse input when needed.

Sub Agent

Register reusable AI agents with provider, model, and options for Team and Schedule.

Team

Set a goal and run selected sub agents in parallel under a supervisor agent.

Editor

Edit code and text in place, and open spreadsheets or local SQLite tables in dedicated viewers.

Multiplexer

Split the center panel into panes to use Chat, Terminal, Browser, and RDP side by side.

Local Models

Point to an Ollama or LM Studio server and use its models like any other provider.

Logs

Review past AI sessions from Chat, Terminal, and more, and delete them when you no longer need them.

Messenger

Connect Telegram, Discord, or Email for chat, Terminal link, and two-factor approval.

Use Cases

Real situations, plain language — one need or several at once

Cross-device
Same PC work screen — continue on mobile as is
Remote Debugging
An error dialog is on the PC — I need it checked and fixed
The app froze — I need the process killed and restarted from the screen
Web Automation
I need to log into the site, check mail, and change the password
I need today's admin report exported into Downloads
Persistent Rule
I want read actions auto-approved — no y/n every time I open a file
I want project tools like node *ai/tool/tsc_check to pass without a prompt
Schedule + Files
Every midnight, I want Downloads sorted by date
Every Monday at 9, I want project logs zipped into Backup
Remote Server Work
On the remote server, open the log folder and summarize suspected intrusion cases into a report
On the remote server, free disk space and clean old logs/temp files
Parallel Team Work
This whole repo needs docs — I want it done quickly in parallel
I need tests and a refactor at the same time, not one after the other
Local LLM
Ollama is already on this PC — I want to use it here without extra setup
LM Studio is running — I want Team agents able to pick it too
Sub Agent settings
Register a Sub Agent with Retry Text / Count so it re-runs review when idle
Turn Super on in Sub Agent so permission prompts auto-approve
Code Review Bot
Before I commit, I want a review agent to check the changes
Only today's changed files — I need risks listed
Provider Handoff
In Terminal, type /codex — hand off and continue without re-explaining
In Terminal, /claude for design, then /grok for the rest
Messenger + Terminal
Away from the PC — I want to drive the coding terminal from Telegram
A long job is running — I want Discord when it finishes

Screen Preview

Screen layout matches the actual application

Click any part of the mock UI below to see what it does.
RDP
Local
http://192.168.0.20:8050/Artgine/proj/Control/Control.html
D:/git/Artgine 3
Chat · Control UI update
cmd : local
claude : app
./ 1
grok : app
Browser · docs preview
Editor · Control.ts
Add Working Folder. On the Agent tab. Edits the server's allowed root folders (one path per line). Registered paths appear as empty path groups even with no sessions. Saving restarts the server.
Agent tab. Chat and Terminal sessions grouped by working directory. Path headers can collapse; ⋯ creates Chat/Terminal or opens Search for that path. Selection auto-switches here when you open Chat/Terminal.
Other tab. Browser and Editor sessions in a flat newest-first list (not path-grouped). Selection auto-switches here when you open Browser/Editor.
Path group. Header shows the working directory (tail-visible if long). Click the header to collapse/expand. Empty registered folders still appear so you can start work there. From this group you can open Chat, Terminal, and Search for that path (⋯ menu).
⋯ on a path group — Chat / Terminal / Search. Three actions from this group:
  • Chat — new AI chat with this path as Working Directory (same as More → Chat with cwd set).
  • Terminal — new CLI session (cmd/claude/codex/…) in this path (same as More → Terminal / F3 with cwd set).
  • Search — opens the file-search modal with this path pre-checked (all registered local + remote paths still listed as checkboxes — you can turn more on). F2 opens the same modal with every path checked.
RDP · Local. This server's own screen — label only (no URL, no status dot). The link icon shows an accessible URL for external devices. Turn on input to control it.
RDP · Remote. A registered remote server listed by its URL (no status dot). Selecting it opens that screen and switches File root to that server.
Session · Chat. Opens that AI chat thread in the center Chat panel. Listed under Agent, in its working-directory group. New ones: More → Chat or path-group ⋯.
Session · Terminal. Opens that CLI session (cmd/claude/codex/opencode/antigravity/grok) in the center Terminal panel. Listed under Agent by path. New ones: More → Terminal (F3) or path-group ⋯.
Session · Browser. Opens that Playwright web session in the center Browser panel. Listed under Other (newest first). New ones: More → Browser.
Session · Editor. Reopens a file you previously opened from the File tab. Listed under Other. Open files from the File tab or right-sidebar File list.
File tab. Full file manager (File.html): browse, Search, Music, File admin modal (upload/Git). Opening code-like files creates an Editor session under left Other.
File Search. No top-bar Search tab. Modal lists every registered root as checkboxes (Local:./, remotes as host:path). F2 = all checked; path ⋯ → Search = that path only (toggle others anytime). Search all checked scopes (partial name, Stop, max 200). Results show server:folder; file → Editor; folder → right File list when that scope is the current File root.
Help. This guide page (default on first open). Open from More → Help. When you enter with ?path=, File opens instead.
More menu. Secondary actions and panels — Memo, new RDP/Chat/Terminal/Browser/Team, Download, Log, Messenger, Help. Multiplexer is a top-level tab next to File. Click an item below to see what each one does.
Memo. Opens the folder-scoped Memo page — left category/message sidebar, modes Write/Search/Delete/Move, provider/model for AI search, tags, and a chat-style log + composer. See Guide → Memo for commands.
RDP (add). Registers another remote Control.html server so it appears in the left sidebar's RDP list.
Chat (new). Opens the New Chat dialog — set a Working Directory and options, then start a session (appears under Agent in that path group).
Terminal (new) · F3. Opens New Terminal — pick mode (cmd/claude/codex/agy/opencode/grok), key, working directory, MCP / Copy MD. Existing sessions open from the left Agent list, not this button.
Browser (new). Opens the New Browser dialog — set a URL, TTL, screen size, and Stealth time (appears under Other).
Team (new). Opens the New Team dialog — pick sub agents and a goal; the main terminal shows up in the Terminal panel (Agent list).
Download. Opens the download tool: yt-dlp/ffmpeg status, paste a YouTube or direct file URL, pick MP3/MP4/Direct, then Start Download and watch job progress.
Log. Opens a tab listing past provider (CLI) conversation logs as an accordion, with refresh/delete controls.
Messenger. Center panel (no dialog). Paste bot token or peer email → Register; Email button for SMTP/IMAP first. Full Telegram/Discord/Email steps: Guide → Center → Messenger.
Help. Opens this guide (Promo / Getting Started / Guide / FAQ) in the center — same as the default first-open panel.
Multiplexer (top tab). Split the center into a grid of panes and show several sessions at once — Chat, Terminal, Browser, RDP. Config mode: split/merge/select content per pane. Work mode: interact with the iframes. Menu: maximize, work/config, close.
Right sidebar · Info. Provider Status shows Node.js and each AI provider with install/auth state, version, and remaining usage (5h / Weekly). Below that, completed Chat/Terminal notifications are listed.
Right sidebar · File. A lightweight file browser separate from the full File tab — navigate folders and open a file straight into the Editor tab.
Right sidebar · Option. Theme, local model registration, Two-Factor Auth, database viewers, history cleanup, Schedule, Sub Agent, and the shortcut list — click the list items on the right to learn about each.
Theme. Switches the whole app between Light and Dark.
Add OpenCode Model / Status. Registers a local Ollama/LM Studio server and checks its connection status.
Two-Factor Auth. Pick a Messenger bot session so login requires messenger approval (or choose Disabled). Local-server setting; change saves immediately. Messenger sessions must be registered under More → Messenger first.
Database. SQLite viewer and a generic DB (MySQL/MSSQL/SQLite) viewer for browsing local data files.
Delete history. Bulk-deletes old AI conversation logs older than the given number of months.
Schedule. Create Interval or Time jobs for a Sub Agent (work orders). Interval: delay/count/start/end + auto-delete when count ends. Time: days of week + hour:minute + optional run-once-then-delete. List below: click to edit, trash to delete.
Sub Agent. Create and manage reusable AI agent presets that Team and Schedule can pick up.
Help. The same keyboard shortcut list shown below this mock.
Provider Status
Node.jsv22.14.0
claudev1.0.51
5h 72% · Weekly 45% remaining
codexv0.50.0 Not Authenticated
opencodev0.4.2
5h 100% · Weekly 88% remaining
grok Not Installed

sess_a8f2c1…
writer completed in 42s
PR review notes saved to docs/
tok_91b3…
claude: app — done
Updated root select when switching RDP
tok_c02e…
⚠️ codex: 권한 승인 필요
Waiting for SUPER / approve
sess_b11d…
Chat · Control UI update
Shortcuts section added to README
/proj/Control/
📁 Downloads
📄 Control.html M
📄 Control.ts A
Theme

Two-Factor Auth

Database

Delete history
month(s)

Schedule
Nightly build check 0 3 * * *
Weekly cleanup 0 4 * * 0

Sub Agent
reviewer claude · 92
writer codex · 88

Help
Global shortcuts
  • F1 File ↔ Info
  • F2 File Search
  • F3 New Terminal
  • F4 Sidebar
  • F6 SUPER / focus
  • F7 Terminal Log
The tab or session you click decides which panel shows up here — RDP, File, Help, Terminal, Chat, Browser, Editor, Memo, Download, Log, Messenger, or Multiplexer.
Help (this guide)
Default landing panel. Promo / Getting Started / Guide / FAQ tabs explain layout, shortcuts, and essential how-tos.
Frame3s Quality70 Input Enabled
🖥️
This PC
🗑️
Recycle Bin
📁
Documents
🌐
Browser
📦
Artgine
📝
Notes
📄File Explorer
💬Chat
🔍
🌐
📁
💻
14:32
Frame3s Quality70 Input Enabled
🖥️
This PC
🗑️
Recycle Bin
📁
Server
🗄️
DB
📜
Logs
🖥️Remote Server
🔍
📁
🖥️
02:18
File search: F2 (all paths) · path ⋯ → Search (one path pre-checked) /proj/Control/
📁 Downloads
📄 Control.html M
📄 Control.ts A
📄 Server.ts
📁 Canvas
📄 Control.json
Microsoft Windows [Version 10.0.22631.4460]
(c) Microsoft Corporation. All rights reserved.

D:\git\Artgine> dir /b proj\Control
Control.html
Control.ts
Server.ts
Downloads

D:\git\Artgine> npm test
All checks passed.

D:\git\Artgine>
claude Working directory: D:/git/Artgine ● running
Claude Code · session app · model claude-sonnet
> Fix the File tab root switch when RDP remote is selected
I'll inspect Control.ts root-select handling and apply a fix.
⏺ Read proj/Control/Control.ts
⏺ Edit ctrlRefreshRootSelect()
✓ Updated root options when switching Local ↔ Remote
Done. Remote selection now reloads File/Root from the active server.
>
Type then Enter... (SUPER on — F6 / /super / ⌨)
grok Working directory: D:/git/Artgine ● idle
Grok CLI · session app · model grok
> Summarize Provider Status fields in Control
Provider Status shows Node.js + each AI provider:
· install / auth state
· version string
· remaining usage (5h / Weekly) when authenticated
✓ Answer ready
>
Type then Enter...
User
Create a tutorial page in this folder.
Assistant
I will create a single HTML tutorial based on the working directory.
Writing tutorial.html file...
User
Also add a short README section about shortcuts.
Assistant
Done. Added F1–F4 shortcuts to the README and saved the file.
Type instructions for the AI here...
Send
Frame Quality Input Enabled
🔒 https://docs.artgine.dev/guide/getting-started
Docs
Getting Started
Control UI
AI Providers
Remote Desktop
Getting Started
Artgine Agent · 5 min read
Install dependencies, start the web server, then open Control to manage files, terminals, and AI sessions from the browser.
npm install
npm run start_web
# open /proj/Control/Control.html
Left sidebar: RDP + Agent/Other sessions. Right sidebar: Provider Status (version & usage).
import { CLan } from "../basic/CLan.js";
// Control.ts
function ctrlInit() {
  CLan.Set(ko, "ctrl.help", "도움말");
  loadAiProviderStatus();
}

@12 · 2026-07-18 10:14×
TODO: review PR #128 before merge — check File tab path handling.
#review#pr
@13 · 2026-07-18 11:02×
Deploy checklist: backup db, restart server, verify Control Provider Status.
#deploy
Memo
Found 2 memos tagged #deploy in this folder.
yt-dlp ✅ ffmpeg ✅
Never Gonna Give You Up 3:33 · Rick Astley
https://www.youtube.com/watch?v=dQw4w9WgXcQ 72%
📁 Never_Gonna_Give_You_Up.mp3
https://cdn.example.com/build/app.zip Done
📁 app.zip
Provider Log
claude-sonnet Create a tutorial page in this folder.
D:/git/Artgine · 2026-07-18 14:22
claude · 2026-07-18 14:20
Create a tutorial page in this folder.
claude · 2026-07-18 14:22
I created tutorial.html based on the working directory.
codex Fix the failing unit tests in Server.ts
D:/git/Artgine · 2026-07-17 09:05
opencode Summarize yesterday's deploy checklist
D:/git/Artgine/proj · 2026-07-16 18:40
Messenger
Telegram ArtgineBot active
https://t.me/ArtgineBot?start=… · linked: chat:123 · → claude : app
Terminal:
user · 14:20
Deploy status?
bot · 14:21
All green.
Chat
User: Fix root select…
Assistant: Done.
claude : app
> npm test
✓ All checks passed
RDP Local
Desktop preview…
Empty — Select in Config

Getting Started

Two ways to get started right away

Method 1 Source setup & Run
git clone --recursive https://github.com/06fs4dix/Artgine-Agent.git
npm start
Other ways to run:
  • Windows — start.bat
  • Linux / macOS — ./start.sh
  • Web server only — npm run start_web [port] (omit the port to use the one from settings.json)
  • App (Electron) — npm run start_local
Requires Node.js and Git.
Method 2 Download Executable
Unzip, then run:
  • Windows — Artgine.exe
  • Linux — ./Artgine --no-sandbox
  • macOS — Artgine.app
If the OS blocks it, use Permission / security below.

Downloaded executables are often blocked by the OS. Fix it per platform, then run Artgine again.

Windows
  • SmartScreen: “Windows protected your PC” → More infoRun anyway.
  • Unblock the file: Right-click the .zip or Artgine.exe → Properties → check Unblock → Apply. Or in PowerShell: Unblock-File -Path .\Artgine.exe
  • Antivirus: If the file vanishes or is quarantined, restore it from Windows Security and allow the folder.
  • If a port/bind fails, try Run as administrator once, or allow Artgine through Windows Firewall.
Linux
  • Execute bit: After unzip, grant run permission on the binary, e.g. chmod +x ./Artgine (or the actual executable name inside the zip), then ./Artgine.
  • Electron sandbox: On most distros the Electron app fails to start (or exits silently) unless the sandbox is disabled — run it as ./Artgine --no-sandbox.
  • Permission denied: Confirm the file is not on a noexec mount; move it to your home folder if needed.
  • Shared libraries / sandbox: If the app fails to start, install missing deps from your distro, or run from a user-writable path (avoid read-only system dirs).
  • Firewall may block the listen port — open it or pick another port if your build supports it.
macOS
  • Gatekeeper: “App can’t be opened because it is from an unidentified developer” → Right-click (or Control-click) the app → OpenOpen again. Or System Settings → Privacy & Security → Open Anyway.
  • Quarantine attribute: In Terminal: xattr -dr com.apple.quarantine /path/to/Artgine.app (or the unzipped folder), then open again.
  • Execute bit (if running a raw binary): chmod +x ./Artgine then ./Artgine.
  • If macOS still blocks network/local server access, allow it when prompted under Privacy & Security / Firewall.
Electron app & opening Control
How to open Control
After the Electron app is running, open the Control project like this:
  1. Easiest — Browser button: In the Electron app, click the Browser button first. Control opens without typing a URL.
  2. Or enter the URL yourself: In any browser, go to the address below. Replace [port] with the port shown in the Electron Server panel or in settings.json.
http://localhost:[port]
Default login password: artgine. From a phone or another PC, use the host machine’s LAN IP instead of localhost.
Foundation & other modes
Artgine Agent (Control) runs on the Artgine engine / Electron app (desktop shell, web server, project host). You can also connect or run under other modes such as developer, server, and client. Install, Run, PWA, plugins, and other engine details are in the Artgine docs — not repeated here.
If it asks to run through a tunnel
On startup, when the port is blocked, Artgine offers to run through a tunnel instead. That works, but the tunnel address changes every time the server restarts, so you have to authenticate again each restart. Treat it as a temporary workaround — open the port properly (allow the port the server is actually running on as a firewall inbound rule, and add router port forwarding if you connect from outside) and use the fixed address instead.

Full engine guide (modes, install, workflow, EN/KO): https://06fs4dix.github.io/Artgine/help/help.html

Change the Control login password before publishing the URL outside your local network. Anyone who knows the default can open files, terminals, and RDP.

  • Electron desktop app: open the Server panel and edit the password field — it hashes automatically and saves when you leave the field.
  • settings.json: if you're running the web server directly, edit the password field in settings.json, usually located in the working directory the server was started from. A short plain-text value there is hashed automatically on the next login check.

Artgine Control can reach the screen, files, terminals, and AI agents on the host PC. Strengthening the OS account and folder rights is far more effective than relying on the web password alone.

Dedicated app (server) account
  • Create an OS user used only for Artgine (e.g. artgine) and run the server under that account — not your daily admin / root login.
  • If Control or a Terminal session is abused, damage is limited to what that account can already do.
  • Avoid “Run as administrator” for normal use. Prefer a standard (non-elevated) account with only the rights the app needs.
  • On Windows: create a local user and start Artgine while signed in as that user (or as a service under that identity). On Linux/macOS: dedicated user + run via that user or sudo -u ….
Separate folder access rights
  • OS level: Give the dedicated account read/write only on project/work folders it must touch. Deny or omit home documents, system dirs, other users’ data.
  • Artgine level: In Control, left Agent tab → Add Working Folder — list only those paths. What is not listed is not served as File/Root — keep the list minimal.
  • Do not put the whole disk (e.g. C:\ or /) in the working-folder list unless you truly need it.
  • Use both layers together: OS ACLs stop the process; Working Folder limits what the UI exposes even when the process could reach more.

Also change the default web password, keep the server off public networks when possible, and use VPN/reverse-proxy auth if you must open it remotely.

Each project can keep an ai/ folder at its root — the AI coding agent (Claude, Codex, ...) reads it before working on that project, so project-specific rules and permissions live there instead of in the assistant's memory.

Guide documents
  • ROLE.md: what the agent is responsible for on this project.
  • ProjectSetupGuide.md: steps to create a new project.
  • EngineUsageGuide.md: where to look up engine (artgine/) APIs before writing new logic.
  • CodeNamingGuide.md, RemoteCMDGuide.md, MemoGuide.md, BrowserDebugGuide.md, RemoteDesktopGuide.md: naming rules and how-tos for remote command execution, memo search, browser debugging, and remote-desktop control.
  • A project's CLAUDE.md tells the agent which guide here to read before that kind of task.
ai/settings.json permissions

ai/settings.json is separate from the server's root settings.json (login password, working folders). Besides the models list shown in Chat/Terminal dropdowns, its permissions.allow / permissions.deny arrays control auto-approval of the permission prompts that Claude/Codex/Grok/opencode print inside a Terminal PTY session (e.g. "Allow this command? y/n"). Chat UI sessions do not use this prompt auto-approve path.

Each rule can test type ("read" | "write" | "reply" — read vs. file-changing action), tool (the CLI's tool name, e.g. Bash, Edit, MCPTool), and/or command (a prefix of the actual shell command, * wildcard supported). On a prompt, deny rules are checked first, then allow; if neither matches, SUPER mode in that Terminal session (F6 / /super / ⌨ → ⚡ SUPER) auto-approves everything else, otherwise it just waits for you to click.

Examples

  • Auto-approve every read-only prompt (viewing/listing files can't change anything):
    { "type": "read" }
  • Auto-approve one specific safe project script by path prefix — matches any path ending in that prefix, not the literal string tsc_check_bad:
    { "command": "node *ai/tool/tsc_check" }
  • Only auto-approve when tool, type, and command all match — a narrower rule than command alone:
    { "type": "write", "tool": "Bash", "command": "npm test" }
  • Always auto-reject a dangerous command, even under SUPER mode — deny wins over both allow and SUPER:
    { "command": "rm -rf" } (in permissions.deny)
  • Block every MCP tool call regardless of the command it carries:
    { "tool": "MCPTool" } (in permissions.deny)

AI Providers

Node.js is required; CLI providers install themselves when you open a Terminal

Node.js required

Artgine and the AI CLIs need Node.js on the machine that runs the server. Install a current LTS from nodejs.org first, then start Artgine. Check the right sidebar Info → Provider Status — Node.js should show as installed with a version.

Auto-install on Terminal

You do not need to install each provider CLI by hand. When you open a new Terminal (or Chat) for claude, codex, opencode, agy, grok, and so on, the missing tool is installed automatically on first use. Wait for that step to finish if the session shows busy / installing.

Auth & subscription (you)

Installation is automatic — login and subscription are not. Link your personal account for each provider in advance (API key or browser login). Use the provider’s normal linking flow on its web site or inside a Terminal session — same as using the CLI alone. Until authenticated, Provider Status may show Not Authenticated and the agent cannot run real tasks. After auth, refresh Info if needed.

Tip: open Terminal once per provider so auto-install can finish, complete personal-account linking on the web or in Terminal when prompted, then confirm status under the right sidebar Info tab.

Keyboard Shortcuts

Operate every feature without a mouse

F1 Right sidebar File ↔ Info toggle (opens sidebar on small screens)
F2 File Search modal — all registered paths checked (toggle checkboxes; path ⋯ → Search pre-checks one path)
F3 Open New Terminal
F4 Focus/toggle the sidebar (or double-tap Ctrl)
F6 Terminal: SUPER (auto-approve) + show/focus input bar. Outside Terminal: same as F4
F7 Terminal: toggle Log/Terminal conversation panel (⌨ → Log/Terminal)
/ Move through the session list (sidebar open)

Screen Guide

A detailed breakdown of every part of the screen

Screen Layout

Four areas. Click a card or a TOC entry to jump.

Top

Opens File, Multiplexer, and the More menu for new sessions and tools

Left

Picks RDP targets and lists open Agent / Other sessions

Center

Shows the screen for the tab or session you selected

Right

Info, path files, and Option settings for the current work

Top Bar

Above the center panel: File, Multiplexer, and a More dropdown (Memo, RDP, Chat, Terminal, Browser, Team, Download, Log, Messenger, Help). File search is not a top tab — F2 or path ⋯ → Search open a multi-path checkbox modal. Several items open a dialog first — expand below to see the real content.

Center panel (top tab) — opens the full file manager for the current root. Details: Center → File.

Center panel (top tab, not under More) — multi-pane layout in the center. Full modes / split / merge / content select: Center → Multiplexer.

Dropdown for everything that is not File / Multiplexer. Two open styles: (1) Modal then center — RDP / Chat / Terminal / Browser / Team: create dialog is documented here under More; after Open, check Center Panel for the live UI (each item links there). (2) Center only — Memo / Download / Log / Messenger / Help: no dialog; full how-to is under Center only (More is a short link). File search is F2 / path ⋯ → Search, not in this menu.

There is no top Search tab. Both entries open the same Control-page modal (not the File iframe):

  • F2 — all registered paths checked (local working folders + authenticated remote roots).
  • Path group ⋯ → Searchthat path only pre-checked; other paths stay listed so you can enable more.

Checkboxes are serverLabel:rootPath. Type a partial file name → Search / Stop; scans each checked root from / (skips node_modules / hidden), max 200 hits total. Results show server:folder; click a file → Editor; click a folder → right File list only when that scope is the current File root.

Center panel (no dialog) — opens the Memo page in the center. Full layout, modes, and slash commands: Center → Memo.

Opens a one-field modal — paste a remote Control.html URL and Add — to register it in the left sidebar's RDP list. After it is listed, select it on the left to open the live screen in the center — details: Center → RDP.

Opens a modal for a new AI chat session — Working Directory plus the same MCP / Copy MD switches as New Terminal, then Open. The session appears under left Agent in that path group. This block is only the create dialog; the live chat UI is under Center → Chat.

  • Working Directory: folder context for the chat agent.
  • MCP (default off in Chat): enable to allow MCP tool servers during the chat. Leave off for a lighter, tools-minimal session.
  • Copy MD (default on): same as Terminal — when cwd differs from the server Artgine path, seed that folder with the provider role markdown (CLAUDE.md / AGENTS.md / …).
  • After Open: use the session from left Agent; panel behavior → Center → Chat.

Always opens the New Terminal modal first (also F3). Pick mode, optional Key, Working Directory, then MCP / Copy MD, and Open. Existing sessions open from left Agent path groups — not this button. This block is only the create dialog; input bar, SUPER, handoff, Log: Center → Terminal.

  • Mode: cmd (plain shell), or AI CLIs claude / codex / agy (antigravity) / opencode / grok. Missing CLIs install on first open.
  • Key: optional session label so you can tell multiple terminals apart in the sidebar.
  • Working Directory: folder the PTY starts in (defaults from the last Agent path / server default if empty).
  • MCP (default on): when checked, the AI CLI keeps MCP tool servers (e.g. Artgine-linked tools). Uncheck to start with MCP disabled — the agent uses only its built-in tools (safer / less prompt noise).
  • Copy MD (default on): when the working directory is not the server’s main Artgine path, copies that provider’s role file into the folder (CLAUDE.md, AGENTS.md, …) so project rules and paths apply. No-op for cmd or when cwd is already the server root.
  • After Open: live PTY / SUPER / slash handoff → Center → Terminal.

Opens a modal for a new web session — URL, Browser (auto/chrome/msedge/firefox), TTL, screen size, and Stealth time. This is only the create dialog; live page / Frame / Input after open: Center → Browser.

Opens a modal to pick the main agent's Provider/Model, a Goal, sub agents to dispatch to, and a time limit — the running team shows up as a Terminal session under left Agent. Create options are here; the live PTY UI: Center → Terminal.

Center panel (no dialog) — opens the yt-dlp/ffmpeg download helper in the center. Full UI (URL, MP3/MP4/Direct, jobs): Center → Download.

Center panel (no dialog) — opens provider conversation logs in the center. Full accordion / refresh / delete: Center → Log.

Center panel (no dialog) — opens the Messenger panel in the center (top text box + Register + Email button, session list). Full Telegram / Discord / Email setup (where to paste the token, SMTP/IMAP then peer): Center → Messenger.

Center panel (no dialog) — opens this guide (Promo / Getting Started / Guide / FAQ) in the center; also the default first-open panel. ?path= entry opens File instead.

Left Sidebar

Top to bottom: RDP list, then Agent / Other sub-tabs. Agent groups Chat/Terminal by working directory; Other lists Browser/Editor newest-first.

RDP
Local
http://192.168.0.20:8050/Artgine/proj/Control/Control.html
D:/git/Artgine 3
Chat · Control UI update
cmd : local
claude : app
./ 1
grok : app
Browser · docs preview
Editor · Control.ts
RDP

At the top of the left sidebar. Local is always present (this server's screen); below it, any Remote Control.html servers you've registered (via More → RDP). Click one to view its screen in the center; turn on Input to forward keyboard/mouse.

Agent / Other

Agent holds Chat and Terminal, grouped by working directory. Other holds Browser and Editor in a flat newest-first list. The active sub-tab is remembered; opening a session auto-switches to the matching tab.

Agent → Add Working Folder

Visible on the Agent tab. Edits the server's allowed root folders (one path per line). Registered paths show as empty path groups even with no sessions. Saving restarts the server.

Path groups

Each group is one working directory (long paths show the tail). Click the header to collapse/expand. Empty registered folders still appear so you can start work there.

⋯ menu on the path group — three things you can do here:

  • Chat — start a new AI chat with this path as Working Directory (same as More → Chat, cwd already filled).
  • Terminal — start a new CLI session (cmd / claude / codex / …) in this path (same as More → Terminal / F3 with cwd set).
  • Search — open the multi-path search modal with this path checked (other registered local/remote roots stay listed so you can check them too). F2 opens the same modal with all paths checked.

Sessions created from Chat/Terminal land under this same path group in the Agent list.

Status Colors

Chat / Terminal / Browser / Editor show a colored status dot. RDP items do not — Local is just a label, Remote shows its URL.

Green (idle) — connected and ready, or waiting for the next instruction.
Yellow (busy) — currently working: an AI response is being generated.
Red (off) — disconnected, or the provider/session isn't signed in.
Agent sessions

Chat and Terminal items live under their path group. Click to open in the center. Create new ones from More → Chat / Terminal (F3), or from a path group's ⋯ menu (Chat / Terminal / Search).

Other sessions

Browser and Editor are listed flat under Other (newest first). New Browser: More → Browser. Editors appear when you open a file from the File tab or the right-sidebar File list.

Center Panel

The center panel shows whichever tab or session is active. Each type below is explained one at a time, with the real sample screen next to it.

RDP

Shows the target screen (Local or a registered Remote server) as a live series of screenshots. Frame controls how often it refreshes and Quality controls image compression. Turning on Input forwards your keyboard and mouse to that screen.

File

Full file manager for the current root (File.html in the center). Top bar: root selector, path URL, copy. Toolbar: Music, sound-add mode, Search, File (admin modal). Folder list with type icons; Git/SVN badges (M/A/D/?) when available.

Open by type

  • Code / text / HTML / MD / sheet: In Control, the File tab does not keep the editor inside File.html — it sends file-opened so Control opens an Editor session under the left Other list (Monaco / sheet / MD path). HTML may ask Edit vs Execute (new window).
  • Image / video: Preview modal (tap image for next; video has controls).
  • Audio (mp3/ogg): Built-in music player (Music button). Mode Add All plays the folder playlist; Add Each (w/ Folder) adds tracks when you open a file or long-press a folder.
  • SQLite / .db / .nedb / db-folder json: ORM table viewer modal.
  • Other files: Download link modal. Long-press a file also opens download.

Search

  • Search opens a filename search modal (partial match) from the current path downward.
  • Skips hidden names and node_modules; can Stop mid-scan; results capped (about 200).
  • Click a file → jump to that folder and open it (same Control Other → Editor path when embedded).

File modal (admin)

  • File button: needs file-server admin auth first, then the File Manager modal.
  • PathTo: open Chat / Terminal / Memo with the current folder as working path.
  • File Actions: New Folder, Delete, Upload, ORM Viewer.
  • Version Control: Diff, Update, Add (SVN), Revert, Commit & Push. List badges open Diff when status is M/A/D.
Terminal

A live PTY session (xterm) in one of six modes — cmd, claude, codex, agy, opencode, grok. AI modes show a running transcript with a bottom input bar; plain cmd is a normal shell. Open new ones from More → Terminal (F3) or a path-group ⋯; switch existing ones from the left Agent list.

Layout & input

  • Main area is the terminal stream. Bottom bar is only the multi-line input + menu — there is no separate SUPER button on the bar.
  • Enter sends the line (or reconnects if the socket dropped). Empty Enter still sends a return to the PTY.
  • Esc sends Escape into the agent/shell and resets the input focus (helps Hangul IME glitches).
  • With an empty input box, ↑ ↓ ← → go straight to the PTY (history / menus inside the CLI).
  • F6 toggles SUPER, shows the input bar if hidden, and focuses the input.
  • F7 toggles the conversation Log panel over the terminal stream (same as ⌨ → Log/Terminal).

SUPER (auto-approve)

  • When on, permission / tool-approval prompts are auto-accepted so the agent keeps working without waiting on you.
  • Toggle with F6, slash /super, or ⌨ menu → ⚡ SUPER. While on, the input field uses a red border/background — that is the only on-bar visual (not a SUPER button).
  • State is stored on the server for that session and re-synced about once a minute.

Slash commands & provider handoff

  • Type / to open autocomplete: built-ins like /compact, /resume, /model, /clear, /status, /exit, /help, /super, plus registered Skills and handoff targets.
  • Handoff: in an AI session, send /codex, /claude, /agy, /opencode, or /grok (other than the current mode). The session summarizes (up to ~3 min), then Control opens a new Terminal on that provider in the same working directory. Input is locked during the handoff. Not used in pure cmd mode.
  • Hangul typed after / is remapped to Latin keys so slash commands still match on a Korean keyboard.

⌨ menu (mobile / precision)

  • View: scroll to bottom, resize cols/rows to the window, Page Up/Down, hide the input bar, toggle Log/Terminal (F7).
  • Arrows / Enter / Esc: inject those keys into the PTY without typing them.
  • Command: RESUME, MODEL (/model prefill), COMPACT, CLEAR, STATUS, EXIT — mapped per provider (e.g. Gemini uses /stats for status).
  • Skill: inserts a preconfigured skill prompt into the input box.

Files into the prompt

  • Drag-and-drop a file onto the Terminal: it uploads under the session working dir .uploads/ and inserts the server path in quotes into the input.
  • Drag a path from Control’s right-sidebar File list: inserts that path without re-uploading.

Start options (MCP / Copy MD)

  • Set when creating the session (New Terminal modal). See More → Terminal accordion for full MCP / Copy MD behavior.
  • Default for Terminal: MCP on, Copy MD on. Copy MD only copies role markdown when the working directory is different from the Artgine server root.
Chat

A structured AI chat thread rather than a raw terminal — user/assistant message bubbles with a composer at the bottom. Multiple chat sessions can run side by side, each tracked under left Agent in its working-directory group.

  • Start from More → Chat: set Working Directory, then MCP / Copy MD (same meaning as Terminal — MCP enables tool servers; Copy MD seeds role *.md into a non-root working folder).
  • Chat defaults: MCP off, Copy MD on (Terminal defaults MCP on).
Browser

Remotely drives a Playwright browser session — shows the live page and its address bar. Frame/Quality control the screenshot refresh rate and compression the same way RDP does; turning on Input forwards your keyboard and mouse to the page.

Editor

Opens a file selected from the File tab in a Monaco-based code editor. Excel/CSV files open in a spreadsheet-style grid instead, and local DB files (SQLite etc.) open in a table viewer — both editable in place, not just previews.

Memo

Embeds Artgine’s Memo page — a folder-scoped note log with a category sidebar, mode/provider top bar, chat-style log, and bottom composer. Open from More → Memo.

Layout

  • Left sidebar (Tab to toggle): folder path, Add Category / Deselect, tabs Category (tree + search) and Message (time-ordered list + search). Categories support parent/child, rename, delete, and show tag badges.
  • Deselect: clears the active category so Search/Delete can target all categories.
  • Top bar: mode dropdown (Write / Search / Delete / Move), AI provider + model (for search), and ? Help (same commands as below).
  • Center: memo bubbles with id (@n), time, tags, delete. AI replies appear for Search results.
  • Composer: text + send. Enter submits; Shift+Enter newline. Tags: append #tag in the text.

Modes & slash commands

A leading slash on a send overrides the dropdown for that one message only. Hangul jamo on the same keys still match (e.g. ㅈ for /w position).

  • /w <text>Write: save a memo (no category selected → auto-classify from content).
  • /s <query> or /r <query>Search: AI search in the selected category, or all if none selected.
  • /d …Delete:
    • digits only → delete memo id (e.g. /d 12)
    • category name → delete that category (+ children + memos)
    • other text → AI finds matching candidates, then confirm
  • /m <id> or /m @idMove: move that memo into the currently selected category (select destination first).

Without a prefix, the top mode dropdown applies. Without a category in Write mode, pick one or let auto-classify run.

Download

A download helper backed by yt-dlp/ffmpeg (status badges show whether they're installed). Paste a YouTube or direct file URL, fetch its info, pick MP3/MP4/Direct, and Start — each job shows a live progress bar and its final file name.

Log

An accordion of past AI conversations across every provider — Chat and Terminal sessions both log here. Each entry shows a model badge, a one-line preview, working directory, and timestamp; expand it to read the full exchange. Refresh/delete-all sit in the header, and each entry has its own delete.

Messenger

Open with More → Messenger (center panel, no extra dialog). Top toolbar of this panel:

  • Wide text box — placeholder like Paste bot token or peer email… — this is where you paste the Telegram/Discord bot token or the email peer address.
  • Register — saves a session from whatever is in that text box (platform auto-detected).
  • Email (envelope) — opens Add Email Messenger to set the server’s SMTP/IMAP mail account first (required before any email peer can be registered).
  • Refresh — reloads the session list below.

Below: accordion of registered sessions (Telegram / Discord / Email). Expand one for join/invite link, Terminal Link, direct message, log.

1) Telegram — create bot → paste token → Register

  1. Phone/PC Telegram → open chat with @BotFather.
  2. Send /newbot → set display name and username (must end with bot).
  3. BotFather replies with a HTTP API token, e.g. 7123456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw (digits + : + secret). Copy the whole string.
  4. Control: More → Messenger.
  5. Paste the token into the top text box of the Messenger panel (not a browser URL bar, not settings.json).
  6. Click Register. On success a Telegram row appears in the list (server stores it).
  7. Expand that row → open the join link https://t.me/YourBotUsername → send /start (or any message). State pending → active.

2) Discord — create bot app → paste token → Register → invite

  1. Browser: discord.com/developers/applicationsNew Application → name it.
  2. Left menu BotAdd Bot if needed → Reset Token / Copy. Token looks like MTIz.ABC.xyz (three segments separated by ., no colon).
  3. Control: More → Messenger → paste that token into the same top text boxRegister.
  4. Expand the new Discord row → open the OAuth invite link shown in the session info line.
  5. Pick your server → authorize (bot needs View Channel, Send Messages, Read History).
  6. In a channel the bot can read, post any message. State pending → active when the channel binds.

3) Email — first server mail account, then register who may reply

Email is two steps. Do not put SMTP passwords into the Register text box. Order matters.

Step A — add the server’s mail account (must be first)

  1. In Messenger top bar click Email (not Register). Modal title: Add Email Messenger.
  2. Send (SMTP) block — how Artgine sends mail:
    • Address = SMTP host (e.g. smtp.gmail.com)
    • Port (e.g. 465 or 587)
    • ID = full mailbox you@gmail.com (not just you)
    • Password = SMTP password / app password
  3. Receive (IMAP) block — how Artgine reads mail (can be the same or another mailbox):
    • Address = IMAP host (e.g. imap.gmail.com)
    • Port (e.g. 993)
    • ID = full email again
    • Password
  4. Click Verify & Save. Both SMTP and IMAP are tested; save only if both succeed. This account is stored on the server for all email chats. Reopen the modal later: password fields stay empty (leave blank to keep saved secrets).
  5. If you skip Step A, Step B fails with mail account is not configured yet.

Step B — register the peer address (who is allowed to talk back)

  1. Close the Email modal. In the Messenger top text box paste the other person’s email (the peer inbox), e.g. friend@example.com.
  2. Click Register (same button as bots). This is not the SMTP ID from Step A — it is the conversation partner.
  3. An Email session appears as active immediately (no join link). Outbound → SMTP to that peer; inbound → IMAP messages from that peer.

After registration (any platform)

  • Expand session → Terminal dropdown → Link to bridge chat to a PTY; Unlink to detach.
  • Direct message box + log (polls ~3s while expanded).
  • Optional: right sidebar Option → Two-Factor Auth pick this session for login approval.
Multiplexer

Open from the top Multiplexer tab. Split the center into panes and show several live sessions at once (Chat, Terminal, Browser, RDP). Layout persists in localStorage.

Modes

  • Work: no overlays — interact with each pane's iframe directly.
  • Config: each pane shows a toolbar: left-right split, top-bottom split, merge (if not root), and select content.

Menu (top-right ⋯)

  • Maximize / Minimize: hide both sidebars for a full-width grid (tab bar stays), or restore the normal layout.
  • Work / Config: switch modes.
  • Close: leave the Multiplexer panel.

Content select

  • In Config mode, pick which open Chat / Terminal / Browser / RDP session fills that pane.
  • Empty panes prompt you to select content in Config mode.

Right Sidebar

The right sidebar has three sub-tabs — Info, File, and Option — explained one at a time below. Option itself bundles eight separate controls, each broken out individually.

Info

Provider Status shows Node.js and each AI provider with install/auth state, version, and remaining usage (5h / Weekly). Below that, completed Chat/Terminal notifications are listed.

File

A lightweight file browser separate from the full File tab — navigate folders and open a file straight into the Editor tab.

Option

Bundles eight controls in one panel: Theme, local model registration, Two-Factor Auth, Database viewers, history cleanup, Schedule, Sub Agent, and the shortcut list. Each is broken down individually below.

Option → Theme

Switches the whole app between Light and Dark.

Option → Add OpenCode Model / Status

Registers a local Ollama/LM Studio server and checks its connection status. Each button opens its own modal:

Add OpenCode Model
OpenCode Provider Status
Option → Two-Factor Auth
  • What it does: after the password check, login waits for approval on a Messenger bot (Telegram/Discord) — up to about 5 minutes.
  • Select: Disabled turns 2FA off; any other entry is a registered Messenger session (platform - botName).
  • Save: choosing a value saves immediately (local-server setting). Register bots first under More → Messenger; if the list is empty only Disabled appears.
Option → Database

SQLite viewer and a generic DB (MySQL/MSSQL/SQLite) viewer for browsing local data files.

Option → Delete history

Bulk-deletes old AI conversation logs older than the given number of months.

Option → Schedule
  • On fire: no typing into a terminal — creates a work order for the chosen Sub Agent, delivered by the same dispatch Team uses to its already-running session.
  • Interval: Delay (sec, ≥1), Count (0 = infinite), Start/End offsets (sec). Optional Auto-delete when count is exhausted (on by default). List badge shows mode + delay/×count summary.
  • Time: pick one or more days of week, Hour (0–23), Minute (0/5/…/55). Optional Run once then delete (off by default).
  • Saved list: click an item to reopen as "Edit Schedule" (same name = overwrite); trash confirms before delete. List refreshes every few seconds.
Option → Sub Agent
  • On save: the server keeps a terminal session alive for this key — spawned immediately, auto-respawned if it's ever killed or crashes.
  • Working Directory / Super: that session's folder, and whether it starts in auto-approve mode.
  • Score / Traits: not enforced by anything — just hints a Team supervisor (or a Schedule) uses to judge which agent fits which task.
  • Retry Text / Count: auto quality-loop — re-queues Retry Text as a new task whenever this agent goes idle, up to Count times since its last real task.
  • Saved list: click an agent to reopen it as "Edit Sub Agent"; the trash icon confirms before deleting.
Option → Help

Keyboard shortcut summary at the bottom of the Option panel (F1–F7, arrows). Full list with descriptions is also under Getting Started → Keyboard Shortcuts. Present in Control UI: right sidebar Option → Help.

FAQ

Short answers — use the links for full screen detail (no long duplicates here)

Showing all items

How to change the login password

Default is artgine. Change it in the Electron Server panel, or set password in settings.json (plain text is hashed on next check).

How to register Messenger (Telegram / Discord / Email)

More → Messenger top text box = bot token or peer email → Register. Telegram/Discord: create bot outside, paste token there. Email: click Email first (SMTP+IMAP Verify&Save), then paste peer address → Register. Optional: Terminal Link / 2FA.

Full steps (where to paste token, Email A then B): Guide → Center → Messenger · More → Messenger

How to use Terminal providers

Open More → Terminal / F3, pick mode (cmd / claude / codex / …). AI providers need your personal account linked in advance (login / subscription). Complete that with the same normal linking flow you would use on the provider’s web UI or inside a Terminal session — Artgine does not replace that step. Handoff with /codex etc.; SUPER via F6 or /super. Install/auth status: right Info tab.

How to run start_local vs start_web

These two npm scripts start Artgine differently — pick one:

  • Local mode (Electron app): npm run start_local → runs node desktop/Start.js local_settings.json. Opens the Electron UI (desktop shell / Server panel) using local_settings.json.
  • Web only (no Electron UI): npm run start_web → runs node desktop/WebStart.js. Starts the web server only — no Electron window. Open Control in a normal browser at http://localhost:[port]/Artgine/…. Optional: npm run start_web -- [port] (omit port to use settings.json / default).

npm start is the usual Electron start with default settings.json. Do not expect start_web and start_local to look the same — one is headless server, the other is the local Electron app.

Related: Getting Started
No matching FAQ items.