Glossary
This glossary provides definitions for key terms used throughout the OpenWork documentation.
Core Concepts
IPC (Inter-Process Communication)
The mechanism used for communication between different processes in OpenWork. Specifically refers to the communication between the Electron main process and the renderer process using ipcRenderer and ipcMain.
PTY (Pseudo-Terminal)
A simulated terminal environment provided by node-pty that allows OpenWork to run terminal commands and interact with them as if they were running in a real terminal. Used for executing OpenCode CLI commands.
MCP (Model Context Protocol)
A protocol for connecting AI models to external tools and data sources. OpenWork uses MCP to extend the capabilities of the OpenCode CLI with additional functionality.
Task
A unit of work that the user requests OpenWork to perform. Tasks can include file operations, terminal commands, browser automation, or any combination of available tools.
Session
A conversation context that allows tasks to be resumed and continued. Sessions maintain the state of previous interactions for coherent multi-turn conversations.
Technical Terms
Electron
A framework for building cross-platform desktop applications using web technologies (HTML, CSS, JavaScript). OpenWork is built as an Electron application.
Main Process
The main Node.js process in an Electron application that handles system-level operations, file access, and manages the application lifecycle.
Renderer Process
The web process that displays the user interface. In OpenWork, this contains the React application that users interact with.
Preload Script
A script that runs in the renderer process and provides a secure bridge for the renderer to communicate with the main process. Exposes the window.accomplish API.
ContextBridge
An Electron API that safely exposes APIs from the main process to the renderer process, preventing direct access to Node.js APIs from untrusted contexts.
Zustand
A lightweight state management library used in OpenWork’s React application to manage UI state and application data.
Electron Store
A simple data persistence layer for Electron applications that uses JSON files to store settings and data.
Keytar
A Node.js module for storing credentials securely in the operating system’s keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service).
AI and Model Terms
Provider
A service that provides AI model access. OpenWork supports multiple providers including Anthropic, OpenAI, Google, and Groq.
Model
The specific AI model instance that processes user requests. Models are identified by a provider and model name (e.g., anthropic/claude-opus-4-5).
API Key
A secret token used to authenticate with AI provider APIs. Stored securely in the OS keychain.
System Prompt
The instructions given to the AI model to define its behavior, capabilities, and constraints. OpenWork extends the base system prompt with user-specified additions.
Token
A unit of text that AI models process. Models have token limits that affect the length of inputs and outputs they can handle.
Structured Output
Output from AI models that follows a specific schema format, typically JSON. Useful for consistent data extraction and processing.
File and Directory Terms
Working Directory
The directory context in which a task operates. Determines the base path for file operations unless explicitly overridden.
Task History
The persistent storage of completed tasks, including their configuration, messages, and results. Allows users to review previous work and resume conversations.
Secure Storage
The encrypted storage mechanism for sensitive data like API keys, using the operating system’s keychain facilities.
File Permission
Access rights that determine what operations can be performed on files and directories. OpenWork implements a permission system for user-controlled access.
Tool and Operation Terms
Tool
A capability that allows AI models to interact with the external environment. Examples include file operations, terminal commands, and browser automation.
Tool Call
The invocation of a tool with specific parameters and context. Tool calls are part of the AI model’s response when it needs to perform external actions.
Tool Result
The output or result from executing a tool call. Can include file contents, command output, or error information.
Permission Request
A request from a task for user approval to perform an operation that might have security implications, such as file access or network requests.
Batch Processing
The grouping of multiple operations or messages together for improved performance and reduced overhead.
Communication and Events
Event Listener
A callback function that reacts to specific events or messages from the main process or other components.
IPC Event
A message sent through the IPC channel, typically carrying data about task progress, status changes, or other updates.
Task Update
An event containing information about the current state of a task, including new messages, progress updates, or completion status.
Progress Event
An event that provides information about the current stage or progress of a task execution.
Configuration and Settings
Default Model
The AI model that is selected by default when the application is first installed or when no explicit model selection has been made.
Debug Mode
A setting that enables detailed logging and debugging information in the user interface, helping with troubleshooting and development.
Onboarding
The initial setup and configuration process that guides new users through the essential steps to get started with OpenWork.
Settings Persistence
The mechanism for saving and restoring application settings across application restarts and system reboots.
Development and Testing
E2E Testing (End-to-End Testing)
Testing that verifies the complete workflow of an application from the user’s perspective. OpenWork uses Playwright for E2E testing.
CLEAN_START
An environment variable that, when set to 1, causes the application to clear all stored data on startup. Useful for testing and development.
Bundle
The packaged application distribution that includes all necessary code and resources for a specific platform.
Node.js Binary
The Node.js runtime that is bundled with OpenWork to ensure compatibility and functionality on systems that don’t have Node.js installed.
Security and Privacy
Sandboxing
The practice of isolating processes and restricting their access to system resources to enhance security.
Input Validation
The process of verifying and sanitizing user input to prevent security vulnerabilities and ensure data integrity.
Error Normalization
The transformation of low-level technical errors into user-friendly messages while preserving debugging information.
Data Sanitization
The process of removing or masking sensitive information from data before it’s displayed to users or stored.
Performance and Optimization
Message Batching
The technique of grouping multiple messages together to reduce the frequency of IPC calls and improve performance.
Event Subscription
The mechanism for registering interest in specific events or updates from the application.
Memory Management
The process of efficiently managing application memory usage to prevent leaks and optimize performance.
Architecture Patterns
Single-Instance
An application pattern that ensures only one instance of the application is running at any time. New instances focus the existing window instead of creating new ones.
Request-Response
A communication pattern where a sender sends a request and waits for a response. Used extensively in IPC communication.
Event-Driven
An architecture where the flow of the program is determined by events such as user actions, sensor outputs, or messages from other programs.
Observer Pattern
A design pattern where an object (subject) maintains a list of its dependents (observers) and notifies them of state changes.
Common Acronyms
| Acronym | Full Form | Description |
|---|---|---|
| IPC | Inter-Process Communication | Communication between processes |
| PTY | Pseudo-Terminal | Simulated terminal environment |
| MCP | Model Context Protocol | Protocol for AI model extensions |
| UI | User Interface | Visual components users interact with |
| API | Application Programming Interface | Set of definitions and protocols |
| E2E | End-to-End | Complete workflow testing |
| JSON | JavaScript Object Notation | Data interchange format |
| URL | Uniform Resource Locator | Web address identifier |
| HTTP | Hypertext Transfer Protocol | Web communication protocol |
| CLI | Command Line Interface | Text-based interface |
| SDK | Software Development Kit | Development tools and libraries |
| IDE | Integrated Development Environment | Code editor and tools |
Error and Status Terms
Task Status
The current state of a task, which can include:
queued- Task is waiting to be executedrunning- Task is currently executingcompleted- Task finished successfullyfailed- Task encountered an errorinterrupted- Task was stopped by usercancelled- Task was cancelled by user
Validation Error
An error that occurs when input data doesn’t meet expected format or constraints.
Network Error
An error related to network connectivity or communication issues.
Permission Error
An error that occurs when an operation requires additional user approval.
Timeout
A condition where an operation takes longer than the allocated time and is automatically terminated.