Skip to content

Repository files navigation

Interly

Interly is an experimental, permission-aware Windows computer agent powered by Groq. It can reason about a request, propose local, desktop, or web actions, show exactly what it wants to do, and wait for approval before execution.

Development follows the verified 101-item plan in ROADMAP.md.

Install on Windows

The primary installation path is Windows Package Manager. On a new Windows computer, open Command Prompt and run:

winget install --id InterlinkGlobal.Interly --exact

Then launch Interly from any Command Prompt:

interly

The WinGet package contains a standalone Windows executable and does not require Python, pipx, Git, Node.js, or npm on the user's computer.

Development and fallback installer

For development installations or recovery when WinGet is unavailable, open Command Prompt or PowerShell and run:

powershell -NoProfile -ExecutionPolicy Bypass -Command "irm 'https://raw.githubusercontent.com/interlinkglobal/Interly/main/install.ps1' | iex"

This fallback installer detects suitable Python and Git installations, installs either when necessary, installs and configures pipx, installs the current main branch, verifies the command, and launches Interly. Node.js is not required. It remains separate from the standalone WinGet distribution.

On first launch, Interly asks for a Groq API key. Input is hidden, validated before saving, and stored under the current Windows user's application-data directory. Type groq at any Interly You: prompt to securely validate and replace the saved key without restarting the session.

Upgrade later with:

update

Run update at any Interly You: prompt. Standalone installations try WinGet first and fall back to a SHA-256-verified GitHub Release installer while catalogue publication is pending. Development installations upgrade through pipx. Restart Interly after a successful update.

Current capabilities

  • Groq-powered terminal conversation with in-session memory
  • Persistent local memory for approved facts and preferences
  • Memory inspection, export, and clear controls from the chat loop
  • Reusable named workflows and workflow listing support
  • Repository inspection and bounded repository command execution
  • Beta make-memory command for saving simple text snippets to a local interly-memory.txt file
  • Approval before local actions during normal approval mode
  • Multi-step plan presentation with one-request scoped plan approval
  • Session dry-run mode that previews approved actions without executing them
  • Persistent per-tool permission policies with prompt, allow, and deny modes
  • Persistent privacy-aware JSONL audit records for proposed and executed actions
  • Destructive Windows actions remain individually confirmed even during broader approval modes
  • Open applications registered with Windows or explicit executable commands resolved by Windows
  • Discover, close, or forcibly terminate exact processes by PID
  • Read-only system commands for processes, system information, networking, users, routes, adapters, Wi-Fi, and disks
  • Permission-gated Windows logout
  • Direct public-web search and webpage text extraction
  • Deduplicated multi-source research with transparent source-quality heuristics
  • Session-level approval for direct web access
  • Global Esc emergency stop for cancelling the current request
  • Guarded lock, sleep, restart, and shutdown actions
  • CPU, memory, disk, network, GPU, temperature, and battery reporting where Windows exposes it
  • Installed-application reporting with registry-provided size estimates
  • Isolated Playwright browser fallback with inspected controls, approved clicking and typing, screenshots, tabs, scrolling, and navigation
  • Automatic isolated-browser cleanup after every browser-assisted request
  • Guarded file search, bounded text reads, exact text edits, comparison, creation, copying, moving, renaming, and folder creation
  • Read-only structured understanding of PDF, Word (.docx), Excel (.xlsx/.xlsm), and PowerPoint (.pptx) documents, including pages or slides, headings/text blocks, tables, spreadsheet sheets/ranges/formulas, speaker notes, and metadata where the format exposes it
  • Approved direct-file downloads with public-URL validation, a 1 GB limit, overwrite protection, temporary-file cleanup, final content type, byte count, and SHA-256 reporting
  • Visible top-level Windows window enumeration with exact handles, PIDs, titles, and rectangles
  • Guarded window focus, minimise, maximise, restore, move, and resize actions
  • Full virtual-desktop and selected-window PNG screenshots
  • Bundled OCR for approved local images and desktop captures, including text bounding boxes
  • Read-only foreground UI Automation control inspection without automatic activation
  • Guarded generic mouse movement, clicking, double-clicking, and bounded wheel scrolling
  • Guarded generic keyboard typing and bounded key combinations
  • Separate Windows clipboard read and write operations
  • Blocking of private/local web addresses, oversized pages, unsupported downloads, invented application IDs, critical Windows process termination, and out-of-bounds desktop input

Governance commands

At any Interly You: prompt:

dry-run
dry-run on
dry-run off
policy
policy set <default|tool_name> <prompt|allow|deny>
policy reset
audit
audit <1-100>

dry-run on keeps the normal permission flow but replaces execution with a tool preview. policy shows the persistent permission configuration. Tool policies can prompt normally, allow without a repeated prompt, or deny execution. A displayed multi-step plan can also grant scoped approval for that one request.

close_or_kill_process, logout_windows, and windows_power_action remain individually confirmed even when a plan, set-free, or an allow-policy would otherwise remove the prompt.

The audit log is stored in the current user's Interly configuration directory. Sensitive typed text, clipboard-write payloads, file content/edit payloads, and URL credentials/query fragments are not written verbatim into audit records.

Approval controls

At an ordinary approval prompt:

  • y approves that single action.
  • Enter or n denies it.
  • Web prompts also offer a, which allows direct web access for the current Interly session.

Sensitive local-read prompts use a different meaning:

  • Y runs the command and keeps its raw output only in the terminal.
  • N denies the command.
  • A runs the command and explicitly allows that command's output to be sent to Groq.

Sensitive A approval applies to one command only; it is never remembered for the session.

Raw process lists, application matches, IP and Wi-Fi configuration, users, routes, performance metrics, installed-application reports, structured document contents, desktop window listings, OCR results, control inspection, and clipboard reads default to local-only output. With Y, Interly sends Groq only a short completion status. With A, the user explicitly authorizes that one output to be included in the Groq conversation.

set-free 1 through set-free 30 temporarily removes repeated prompts for ordinary actions. set-free 0 disables the window immediately. Emergency stop remains active, sensitive local output still stays local unless explicitly shared with A, and destructive Windows actions still require individual confirmation.

Structured document model

Structured document reads reuse the same permission path as ordinary approved file reads. Interly opens supported documents read-only and converts their useful structure into bounded local output. PDF reads expose pages, extracted text, heuristic headings, tables, and metadata. Word reads preserve ordered headings, paragraphs, and tables. Excel reads expose sheets, used ranges, headers, rows, and formula cells. PowerPoint reads expose slides, titles, text blocks, tables, speaker notes, and core metadata.

The reader limits input size, Office package entry count and uncompressed size, page/slide/sheet and table dimensions, and total extracted text. Corrupt or invalid Office Open XML packages fail without being parsed. Document contents remain terminal-only unless the user explicitly chooses A at the sensitive read approval prompt.

Desktop interaction model

Interly is instructed to inspect before acting. For window operations it first resolves exact native window handles and titles. For generic desktop input it should prefer UI Automation rectangles, OCR coordinates, or other explicitly returned screen positions rather than inventing coordinates.

Desktop screenshots and OCR may expose information visible on screen. Window listings, OCR output, visible control details, and clipboard reads therefore use the same local-only privacy model as other sensitive machine inspection tools.

Recent user-owned progress

  • Persistent memory storage for approved facts and preferences
  • Memory inspect/export/clear controls available through the chat loop
  • Reusable named workflows and workflow listing support
  • Repository inspection and bounded repository command execution for developer workflows
  • Beta make-memory command idea for saving simple local notes to interly-memory.txt
  • Scheduled tasks, reminders, and monitors
  • Structured log monitoring with cancellation and timeouts
  • Token, cost, latency, and request-count reporting

Important limitations

Interly is alpha software. Model responses can be wrong, and read-only system, document, or desktop output may contain private information. Review proposed actions. Forced process termination can lose unsaved work. Generic mouse and keyboard actions affect the currently visible/focused desktop state. Web searches and selected page text are sent to external services and Groq.

Personal-browser access, file deletion, webpage video extraction, streaming-platform downloads, uploads, logins, purchases, messaging, volume control, brightness control, and speech input/output are not implemented. Structured document understanding is read-only and currently supports modern Open XML Office formats rather than legacy .doc, .xls, or .ppt files. Direct downloads currently require a public URL that returns the file itself. The emergency stop prevents additional actions, but an operating-system call that has already completed cannot be reversed.

Development

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install ".[dev,distribution]"
pytest -p no:cacheprovider
ruff check src tests packaging

License

MIT

About

Permission-aware Windows computer agent powered by Groq

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages