How huangyjie/remotex works
RemoteX is a Windows desktop server-operations client combining direct terminal and FTP workflows with an AI agent. The primary agent workflow selects a server and conversation, sends a natural-language goal through an iterative model/tool loop, checks permissions before remote actions, and persists results for later review. The README also documents model setup, Skills, long-context handling, and remote text editing. The tree and sampled excerpts support the main orchestration and selected interactions; unsampled areas are represented only where documented, with uncertain wiring omitted.
Main entry points: AgentEngine.cs Agent loop · MainWindow.xaml.cs Main window · AiChatService.cs AI chat API · AgentWorkspaceWindow.xaml.cs Agent workspace
Components 29
Desktop workspace
- Main window
MainWindow.xaml.cs - Agent workspace
Views/AgentWorkspaceWindow.xaml.cs - Remote editor
Views/RemoteFileEditorDialog.xaml.cs - App lifecycle
App.xaml.cs - Approval dialogs
Views/AgentApprovalDialog.xaml.cs - User choices
Views/AgentUserChoiceDialog.xaml.cs - Agent settings UI
Views/AgentSettingsWindow.xaml.cs
Remote access
- SSH / Telnet
Services/RemoteSession.cs - FTP / FTPS
Services/FtpSession.cs - Remote text files
Services/RemoteTextFileService.cs
AI operations
- Agent loop
Services/AgentEngine.cs - AI chat API
Services/AiChatService.cs - Tool catalog
Services/AgentToolCatalog.cs - Tool executor
Services/AgentToolExecutor.cs - Permission checks
Services/AgentPermissionService.cs - Skills registry
Services/SkillRegistry.cs - Skill policy
Services/SkillPolicyService.cs - Context selection
Services/AgentContextWindowService.cs - Context compression
Services/AgentContextCompressionService.cs
Settings and state
- Server profiles
Services/ServerProfileStore.cs - Windows credentials
Services/WindowsUserVerificationService.cs - Quick commands
Services/QuickCommandStore.cs - Conversation store
Services/AgentConversationStore.cs - Agent history
Services/AgentHistoryStore.cs - AI settings
Services/AiSettingsStore.cs
Other components
- Operator
- Model provider
- SSH / Telnet servers
- FTP servers
Connections 37
- Operator → Main window: uses
- App lifecycle → Main window: opens
- Main window → Server profiles: loads / saves
- Main window → Windows credentials: stores passwords
- Main window → Quick commands: loads / saves
- Main window → SSH / Telnet: opens terminal
- SSH / Telnet → SSH / Telnet servers: connects
- Main window → FTP / FTPS: opens file transfer
- FTP / FTPS → FTP servers: connects
- Main window → Remote editor: opens editor
- Main window → Remote text files: reads / writes
- Remote text files → FTP / FTPS: transfers files
- Operator → Agent workspace: sets goal
- Agent workspace → Agent loop: runs task
- Agent workspace → Conversation store: loads / manages
- Agent loop → Conversation store: loads / persists
- Agent loop → Agent history: records history
- Agent loop → Context selection: selects context
- Agent loop → Context compression: compresses history
- Agent loop → Skills registry: builds prompt
- Skills registry → Skill policy: checks enablement
- Agent loop → AI chat API: requests model turn
- AI chat API → Model provider: sends chat request
- Model provider → AI chat API: streams response
- AI chat API → Agent loop: returns tool calls
- Agent loop → Tool catalog: uses tool definitions
- Agent loop → Permission checks: authorizes call
- Permission checks → Approval dialogs: requests approval
- Approval dialogs → Operator: asks permission
- Approval dialogs → Permission checks: returns decision
- Agent loop → User choices: presents options
- User choices → Operator: asks choice
- Agent loop → Tool executor: executes approved call
- Tool executor → SSH / Telnet: runs remote actions
- Operator → Agent settings UI: configures agent
- Agent settings UI → AI settings: loads / saves models
- AI settings → AI chat API: supplies configuration