惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
Recorded Future
Recorded Future
人人都是产品经理
人人都是产品经理
S
SegmentFault 最新的问题
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
P
Privacy & Cybersecurity Law Blog
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
Spread Privacy
Spread Privacy
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
量子位
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
T
Threatpost
T
Tenable Blog
有赞技术团队
有赞技术团队
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
C
Cisco Blogs
H
Heimdal Security Blog
Attack and Defense Labs
Attack and Defense Labs
A
About on SuperTechFans
Last Week in AI
Last Week in AI
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
I
Intezer
V
V2EX
Cyberwarzone
Cyberwarzone
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
B
Blog RSS Feed
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
U
Unit 42
PCI Perspectives
PCI Perspectives
P
Privacy International News Feed
D
Docker

Show HN

GitHub - steveking-gh/firmion: Firmion is DSL and engine for firmware image generation. GitHub - villagesql/villagesql-skills: Agent skills for VillageSQL - gemini-cli-extension; claude-code-plugin GitHub - flightdeckhq/flightdeck: Observability and control plane for AI agents. CSP Radar GitHub - Light-Heart-Labs/DreamServer: Turn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. GitHub - Diplomat-ai/diplomat-agent-ts: What can your TypeScript AI agent do to the real world? Scan your code. See which tool calls have zero checks Code Block Selector - Visual Studio Marketplace Prometheus dependency graph — interactive showcase | Riftmap Show HN: I made a vi-like modal keyboard plugin for Figma GitHub - run-llama/liteparse: A fast, helpful, and open-source document parser GitHub - dalemyers/Roar: A macOS CLI tool for notifications GitHub - district-solutions/open-agent-tools-coder: Enables small-to-large self-hosted ai models to use local source code when running tool-calling agentic workloads. We actively data mine 20,900+ (2+ TB) popular github repos using large and small ai models to create reuseable: json, markdown and parquet files for local-first tool-calling models. GitHub - progapandist/stripeek: A local TUI proxy for real-time Stripe API debugging, built for navigating complex payloads fast. GitHub - sir1st/hermes-desktop: All-in-one cross-platform desktop app for Hermes Agent — bundles Python + hermes-agent + hermes-web-ui GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: Generate Claude Code Workflows using Spec Driven Development approach GitHub - nixys/nxs-universal-chart: The Helm chart you can use to install any of your applications into Kubernetes/OpenShift Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code. GitHub - tamerh/enju: Coordinating Humans, AI Agents, and Compute as Peers on a Shared Workflow Graph Show HN: Continuity-auth – Respect-weighted rate limits for the open web GitHub - luml-ai/luml: AI lifecycle platform where engineers and agents track experiments, train models, and ship to production. GitHub - mrdanielcasper/CoreTex: A UNIX-inspired, biomimetic, flat-file AI harness and knowledge engine. GitHub - clemg/pierre-github: Pierre's diffs.com and trees.software for Github GitHub - lyriks-io/unspaghettit: Behavior-driven AI development without prompt spaghetti. GitHub - sofumel/claude-handoff-revive: Resume Claude Code work after rate/usage/context limits without replaying the prior transcript. Auto-saves at 90%/95% usage. Plugin-installable, 10 languages. GitHub - dotexorg/saferpc: Typed, end-to-end encrypted RPC over any bidirectional channel. GitHub - BeeZeeAgent/beezee: Agent harness orchestration Legato Next.js Boilerplate for Internal Tools · CoreUI GitHub - clark-labs-inc/clark-hash: Clark Hash, 32x smaller searchable sketches for embeddings GitHub - ZeroPointRepo/youtube-mcp: The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free. Typing Mastery — climb toward 100+ WPM, deliberately GitHub - Andebugulin/Awareen GitHub - fayzan123/claude-workflow-composer: Visual desktop app for composing multi-agent coding workflows. Drag agents, attach skills and MCPs, wire handoffs, export to .claude/ GitHub - harshaneel/humanize: Best static AI text humanizer. Two research-grounded skills that work in any LLM (Claude, ChatGPT, Gemini, Codex): humanize beats perplexity-based detectors, ai-check produces forensic scoring with evidence-quoted flags. Nine levers, 50+ peer-reviewed sources, 2024-2026 detection literature. GitHub - StackOneHQ/stack-nudge GitHub - nodes-app/swift-markdown-engine: A native AppKit Markdown editor for macOS, built on TextKit 2 and bridged to SwiftUI. We hardened an LLM agent. Each defense we added made it more exploitable. GitHub - alkait/WhatsKept: Agent-queryable WhatsApp history from an iOS backup — a single Go binary. GitHub - octelium/cordium: Open-source, general-purpose sandbox platform for devs and AI agents that provides identity-based secure access to infrastructure without credentials. WAR.GOV/UFO Microfilm5 GitHub - scosman/videowright: Build animated explainer videos with your coding agent GitHub - dipankar/dscode: The code editor you can take apart. GitHub - zoharbabin/web-researcher-mcp: MCP server (Go) for AI assistants: web search, content extraction, academic/patent/news research. Multi-provider routing, 4-tier scraping, search lenses. Works with Claude, Cursor, and any MCP client. GitHub - ruvnet/RuView: π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video. GitHub - scanaislop/aislop: Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 50+ rules across 7 languages (TypeScript, JavaScript, Python, Go, Rust, Ruby, PHP). Sub-second, deterministic, no LLM at runtime. MIT-licensed. GitHub - kouhxp/cheap-im: CPU-only voice agent approximating Thinking Machines' Interaction Models demo GitHub - unprovable/OrchidMantis: Orchid Mantis — standalone framework for Zero-Knowledge Proofs of eXploit (ZKPoX). GitHub - MarcellM01/TinySearch: Shrink the web for your local LLMs! GitHub - TangibleResearch/Halgorithem: A Algo designed to detect AI Hallucitions GitHub - DO-SAY-GO/freelang: I love freelang GitHub - CarpseDeam/Aura-IDE: An AI coding harness that shaped itself - Planner/Worker agents, repo awareness, surgical edits, validation, recovery, and safe diff approvals. GitHub - chojs23/concord: A feature-rich TUI client for Discord GitHub - tommyjepsen/awesome-ux-skills: UX & AI Product designs skills you can use today in Claude Code GitHub - aerf-spec/aerf: Agent Evidence Receipt Format (AERF) — an open specification for tamper-evident, independently verifiable records of AI agent actions. GitHub - kklimuk/docx-cli: CLI for AI agents (Claude, Codex) to read, edit, and comment on .docx files with full format fidelity. GitHub - Jwrede/tokentoll: Catch LLM cost changes in code review. Infracost for LLM spend. GitHub - samchon/ttsc: A `typescript-go` toolchain for compiler-powered plugins and type-safe execution + 500x faster lint integrated into compiler GitHub - Higangssh/homebutler: 🏠 Manage your homelab from chat. Single binary, zero dependencies. GitHub - olalie/tapmap: See where your computer connects and what stands out on a live world map. GitHub - Diplomat-ai/diplomat-agent: What can your AI agent do to the real world? Scan your code. See which tool calls have zero checks GitHub - Bajusz15/beacon: Open-source agent for secure remote access, monitoring, and deploys across home-lab and self-hosted machines like Raspberry Pi, N100, or any Linux server. Open web based TTY or tunnel Home Assistant and other local services securely without opening ports. BigTech AI News - Chrome 应用商店 GitHub - vinhnx/VTCode: VT Code is an open-source coding agent with LLM-native code understanding and robust shell safety. Supports multiple LLM providers with automatic failover and efficient context management. GitHub - michaelaz774/decision-engine: A decision operating system for startup founders, powered by Claude Code. Synthesizes wisdom from 25+ legendary founders and investors into interactive AI-driven decision frameworks. GitHub - Chrilleweb/dotenv-diff: Validate environment variable usage in your codebase GitHub - Lumen-Labs/brainapi2: BrainAPI is a knowledge graph–powered AI memory layer that transforms unstructured data into structured knowledge, enabling intelligent search, recommendations, and contextual memory for AI agents and applications. GitHub - familiar-software/familiar: Let AI watch you work. Familiar lets your AI update its memory, skills, and knowledge by watching your screen. GitHub - skorotkiewicz/rudo: A small, elegant dock for Wayland GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. make sidebar/address bar rounded corner toggleable
GitHub - Njuhobby/keyway
njuhobby · 2026-06-27 · via Show HN

Keyway icon

Drive your Mac entirely from the keyboard.

Click anything, scroll anything, move any window — without your hands ever leaving the home row. Even in Electron apps and web views that other tools can't see.

License: AGPL-3.0 Platform Status

Keyway in action — hint labels across the whole screen, including an Electron app, the Dock, and the menu bar

Hint mode across a Discord window, the Dock, and the menu bar — type a label, it clicks.


Press Caps Lock. Every clickable thing on screen sprouts a short letter label. Type the label — it clicks. That part isn't new. What sets Keyway apart:

  • Coverage. It finds targets not only in native Cocoa apps (via the Accessibility API) but also inside Electron apps, web views, and arbitrary pixels — by falling back to an on-device vision model — and inside web pages via a companion browser extension that reads the DOM directly. That "AX black hole" (Slack, VS Code, Discord, anything Electron) is exactly where keyboard-driven clicking usually falls apart. Keyway covers it.

  • It's built around modes, not one trick. Hint-clicking is just the default. A Caps Lock chord drops you straight into another keyboard mode — scroll, window move, window resize, drag, text search — each a focused interaction sharing the same hjkl muscle memory. Modes are the core design, and the system is extensible: new capability is a new mode, not a new app, so the keyboard-driven surface keeps growing. That's what makes Keyway open-ended rather than a single party trick.

  • It drives the real cursor, not just clicks. Labels are the fast path; when nothing is labeled exactly where you want, you fall back to moving the pointer itselfhjkl to nudge it (Shift to fly, Option for pixel-precision), '+label to warp it onto a target without clicking, then c / cc / Shift+c for left / double / right click. Most hint tools can only click what they can label. Keyway can also just take the wheel.

  • Sticky, on demand. Tap Caps Lock again to keep hinting click after click; tap once more to stop. No preconfigured "chain" mode to set up (Homerow needs one) — you flip it on or off live, whenever you want it.

See it in action

1 · Hint mode — the core loop

Caps Lock in a native app → labels bloom on every clickable thing → type a label and the real cursor moves onto that target, then:

  • Type the label → the cursor moves there and left-clicks.
  • Shift + the label → the cursor moves there and right-clicks.
  • Double-click: in sticky mode, type the label to move onto the target, then quickly press c twice to fire a double-click.

(See the demo at the top of this page.)

2 · Sticky, on demand

Tap Caps Lock again to keep hinting click after click; it re-hints on its own as content loads or you switch apps / Spaces. Tap once more to stop. No "chain" mode to preconfigure the way Homerow needs — you flip it live. (Also in the demo at the top.)

3 · Drive the real cursor

Cursor control

No label exactly where you need it? Move the pointer yourself: '+label warps it onto a target without clicking, hjkl nudges it (Shift to fly, Option for pixel-precision), and double-tapping a direction (hh / jj / kk / ll) jumps it half a screen that way — Shift + double-tap jumps a whole screen, so you cross big distances in one go. Then c / cc / Shift+c for left / double / right click. The fallback hint-only tools don't have.

4 · Drag mode

From TAP (or TAP sticky), press v to start a drag — mouseDown at the cursor, hjkl to move, drop to release. A real press-drag-release, entirely from the keyboard, on anything draggable.

Drag to select text

Dragging out a text selection to copy and paste a passage.

Drag a file across the desktop

Or dragging a file / picture.

5 · Search mode

Search mode

From TAP (or TAP sticky), press / and type any visible text — Keyway OCRs the focused window, matches it, and labels the hits so you jump straight to one.

6 · Scroll mode

Scroll mode

Caps Lock + d enters scroll mode and outlines every scrollable area with a number; press that number to pick one. Then d / u scroll it (hold for continuous, Shift to accelerate) and gg / G jump to top / bottom.

Scrolling is simulated at the cursor's current position — it scrolls whatever sits under the pointer. So if something won't scroll, the cursor probably isn't over a scrollable area: nudge it there with hjkl (cursor moves work right inside scroll mode) and try again.

Web pages are special: with the extension, d / u / gg / G scroll the page directly, no mode to enter — Vimium-style. (Caps Lock + d is disabled there, since modeless scrolling already covers it.)

7 · Move & resize windows

Window move and resize

Caps Lock + w enters resize, Caps Lock + m enters move. In resize, grow any edge with hjkl (double-tap an axis to pull the opposite edge inward); in move, pan the whole window with hjkl. Hold Shift to fly, Option for fine steps — all from the keyboard, no mouse.

8 · Web pages, precisely (Chrome / Firefox)

Browser extension hints

With the companion extension, hints come straight from the DOM — pixel-perfect and iframe-aware on any real page. And in sticky mode they refresh themselves as the page changes: scroll, open a menu, navigate to a new page — the labels re-scan to match what's on screen, so you keep clicking without pressing Caps Lock again.

What it can do

🎯 Hint mode Label every clickable element, type the label to click. The fast path.
🕳️ Beyond native AX Electron (Slack, VS Code, Discord), WebViews and Catalyst apps expose almost nothing to the Accessibility API. Keyway fills that black hole with an on-device OmniParser vision model.
🖱️ Drive the real cursor When no label sits where you need it, move the pointer yourself: hjkl to nudge (Shift to fly, Option for pixel-precision), '+label to warp onto a target without clicking, then c / cc / Shift+c for left / double / right click. The fallback hint-only tools don't have.
Drag mode Grab at the cursor, move with hjkl, drop — full drag-and-drop without the mouse.
🔎 Search mode Type any visible text to jump to it (OCR + character match), then pick the match with a hint label.
🌐 Real web pages A browser extension reads the DOM directly for precise, iframe-aware hints.
📜 Scroll & windows Keyboard scrolling (multi-area picker) and window move/resize, plus Vimium-style modeless scrolling on web pages.
🧲 Sticky, on demand Tap Caps Lock again to keep hinting click after click — and it auto re-hints as content loads or you switch apps/Spaces; tap once more to stop. No "chain" mode to preconfigure (Homerow needs one).
🔒 Local-only Runs entirely on-device. No telemetry, no network calls beyond the local app↔extension socket.

Architecture

The short version: hints come from three sources merged into one overlay — an Accessibility walk for native apps, an on-device vision model for the AX black holes (Electron / WebViews), and a browser extension that reads the DOM directly. The mode/sub-state engine, the event pipeline, the settle-detection that times rehints to the actual frame, the per-app correction layer, the native-messaging bridge — each is its own subsystem with its own trade-offs.

Rather than summarize them badly here, the design is written up in full — prototype/SPECS.md is the entry point, with per-subsystem deep-dives (and the war stories behind them) in prototype/specs/:

event-pipeline.md The CGEventTap pipeline and how keys are consumed per mode
hint-discovery.md · hint-rendering.md Finding targets, and drawing labels across Spaces
omniparser-fallback-design.md The vision fallback for AX-invisible apps
browser-support-design.md The DOM extension and native-messaging bridge
modes.md · scroll-mode-design.md The mode / sub-state model and per-mode behavior
per-app-correction-design.md · settings-design.md Per-app offset correction and settings

Install

Download a pre-built build

Grab the latest Keyway-vX.Y.Z.zip from the Releases page, unzip it, and drag Keyway.app into /Applications.

The build is ad-hoc signed, not notarized by Apple, so Gatekeeper blocks it the first time. Clear the quarantine flag once, from Terminal:

xattr -dr com.apple.quarantine /Applications/Keyway.app

Then double-click to launch.

Or do it through the UI: double-click Keyway.app (you'll get a "could not verify" dialog — click Done, not Move to Trash), then go to System Settings → Privacy & Security, scroll to the Security section, and click Open Anyway next to the Keyway notice. Confirm with Touch ID, then open the app again.

On macOS 15 (Sequoia) and later, the old right-click → Open shortcut no longer bypasses Gatekeeper for un-notarized apps — use one of the two methods above.

On first launch a Keyway Setup window walks you through the two permissions below: click Open Settings on each row to grant it, then Restart Keyway to apply them in one step. Because the build isn't signed with a stable Developer ID, a future version may ask you to re-grant.

Build from source

A self-built app skips the Gatekeeper prompt entirely.

cd prototype
./run.sh        # swift build + ad-hoc re-sign + (re)launch

A key icon appears in the menu bar (a red ! badge next to it means a required permission is missing). On first launch the Keyway Setup window guides you through the two permissions — grant each, click Restart Keyway, then press Caps Lock to enter hint mode.

To produce a distributable .app and a release zip:

cd prototype
./package-app.sh    # → build/Keyway.app  (signed, with icon)
./release.sh        # → build/Keyway-v<version>.zip  (bundle-safe, + sha256)

See prototype/SPECS.md for the full setup, the mode reference, and the architecture deep-dives.

Browser extension (recommended for web pages)

Web pages are their own world: the controls live in the DOM, not the macOS accessibility tree, so the desktop app can only reach them through the vision fallback. The companion Chrome / Firefox extension reads the DOM directly and brings Keyway's full power to the web — pixel-precise hints on every link and control, iframe-aware, sticky mode that re-hints itself as the page changes (scroll, open a menu, navigate — the labels keep up), and Vimium-style modeless scrolling. Strongly recommended for the complete web experience. It talks to Keyway through a native-messaging bridge.

With the pre-built download — no checkout needed:

  1. Grab keyway-extension-vX.Y.Z.zip from the Releases page and unzip it.
  2. With Keyway.app already in /Applications, run the installer from the unzipped folder:
    ./install-browser-integration.sh
    It registers the native-messaging host against the bridge bundled inside Keyway.app, for Chrome and Firefox.
  3. Load the unpacked extension:
    • Chrome: chrome://extensionsDeveloper modeLoad unpacked → pick the chrome-extension/ folder.
    • Firefox: about:debugging#/runtime/this-firefoxLoad Temporary Add-on… → pick firefox-extension/manifest.json.

From source — the host points at your checkout's .build/ bridge:

  1. Build and run Keyway (./run.sh).
  2. Chrome: chrome://extensionsDeveloper modeLoad unpackedprototype/extension/, then register the host (the ID on the extension card is fixed by the manifest's pinned key):
    cd prototype/extension
    ./install_dev_host.sh <extension-id>
  3. Firefox:
    cd prototype/extension
    ./build-firefox.sh                 # → dist-firefox/
    ./install_dev_host_firefox.sh      # no ID needed (gecko id is fixed)
    then load dist-firefox/manifest.json via about:debugging.

Unpacked (Chrome) and temporary (Firefox) extensions are dropped when the browser restarts — reload them each session. A signed Web Store / AMO build isn't published yet.

Uninstall

cd prototype
./uninstall.sh

It quits Keyway, restores Caps Lock, and removes the app plus everything it leaves behind (caches, preferences, the native-messaging host, and the permission grants). If you only have the downloaded .app, drag it to the Trash, then run hidutil property --set '{"UserKeyMapping":[]}' to restore Caps Lock if it's still acting as the trigger.

Requirements

  • macOS 13 (Ventura) or later, Apple Silicon
  • To build from source: a Swift toolchain (Xcode or the Swift CLT)
  • Two permissions, both required (granting either needs a restart to take effect — macOS caches them per process):
    • Accessibility — to read the AX tree and synthesize clicks/keys
    • Screen Recording — for the vision fallback and the settle detection

Permissions & privacy

Keyway runs entirely on your machine. No telemetry, no network calls other than the local socket between the app and the browser extension. The permissions are used only for what's described above; screen captures are processed in memory and not written to disk (outside an opt-in debug flag).

Status

Early prototype / research project. It works and is usable daily, but it is rough, unsigned, and the code lives under prototype/. Expect sharp edges. Built in the open to share the approach.

License

AGPL-3.0-or-later. Keyway bundles an icon-detection model derived from OmniParser (built on Ultralytics YOLO), whose weights are AGPL-licensed; the AGPL applies to the combined work, so the whole project is AGPL-3.0. If you run a modified version as a network service, the AGPL requires you to offer its source.

Third-party attributions are in NOTICE.md.

Acknowledgements

  • Vimium — the browser extension's element-detection heuristics are derived from it (MIT).
  • OmniParser — the on-device icon-detection model.
  • Homerow — prior art and inspiration for keyboard-driven clicking on macOS.