AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证The browser that skills your AI: watch it research, approve what matters, keep what it learns. Works with Claude, Cursor and local models over MCP.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
See what your AI browses. Keep what it learns.
Claude, Cursor and Codex research the web in real tabs you can watch, so what your AI tells you comes from pages it
checked today, not an old memory or a guess. Everything it reads is kept on your computer and sorted by your Orb, your
own tiny AI model that sends nothing anywhere.查看完整 README ↗upload_file fills the file input or the "Add photos"
picker. Every upload waits for your OK in Skillerr, naming the files and the site, and files in ~/.ssh,
~/.skillerr, keychains, password managers and other credential stores are always refused.
Release notesSkillerr is a desktop browser (macOS, Windows, Linux) that any AI can drive: Claude Desktop, Claude Code, Cursor and other MCP clients connect over a local MCP bridge, and a built-in agent runs local models (Ollama, LM Studio) or your own API keys. It rests on a few ideas:
| Visible | Every page your AI reads opens as a real tab you can watch. Many at once, side by side, live. |
| Governed | You pause, take over and undo. Payments, passwords, sign-ins and deletions wait for your approval. |
| Kept | Its research stays on your computer: a research memory, topic folders and notes on disk, and reusable skills. Next time, it checks what you already know before it searches again. |
| Trails | Skillerr learns what you're working on from how you browse. The 40 tabs you never close go into their trails, with what you left unfinished, and come back with one click. |
| Light & private | Chrome's page speed with less memory, and no telemetry: nothing about your browsing leaves your computer. |
curl -fsSL https://skillerr.com/install.sh | sh # macOS, Linux
irm https://skillerr.com/install.ps1 | iex # Windows (PowerShell)
The installer downloads the right build, installs and opens it, then connects the AI apps it finds (Claude Desktop, Claude Code, Cursor). Or download a build from the latest release.
Let your AI set it up. Paste this into Claude Code (or any AI with a terminal):
Set up Skillerr as my browser: follow https://skillerr.com/agents.md
[!NOTE] Mac builds aren't signed with an Apple Developer ID yet. The install script clears the download quarantine for you. If you download the
.dmgyourself, macOS may say it can't check the app: open System Settings → Privacy & Security and click Open Anyway once. Windows SmartScreen may ask the same; choose More info → Run anyway.
Installer options: --prefer makes Skillerr your AI's web browser (Claude Code's built-in WebSearch and WebFetch are
turned off, with backups), --undo-prefer reverses it, and --dry-run changes nothing.
Uninstall. Deleting the app leaves Skillerr connected in Claude Desktop, Claude Code and Cursor, so use
Uninstall Skillerr… in its menu (the ⋮ menu on Windows and Linux) or
curl -fsSL https://skillerr.com/install.sh | sh -s -- --uninstall (add --purge to delete its data too). The Windows
uninstaller does it as well. If the app was deleted anyway and you reinstall after deleting ~/.skillerr/browser,
Skillerr removes the leftover connections on first launch.
flowchart LR
AI["Your AI<br/>Claude Desktop · Claude Code<br/>Cursor · local models"]
Bridge["MCP bridge<br/>mcp/bridge.js (stdio)"]
subgraph App["Skillerr (on your computer)"]
direction TB
Tabs["Visible tabs<br/>fleet view · Pilot log"]
Gate["Approvals and page safety<br/>pause · take over · undo"]
Mem[("Research memory<br/>~/.skillerr/browser")]
Disk[("Notes, folders, skills<br/>~/Skillerr")]
end
Web(("The web"))
You(["You"])
AI <-- "tools · live view" --> Bridge
Bridge <-- "local API<br/>127.0.0.1 + token" --> Gate
Gate --> Tabs
Tabs <--> Web
Tabs --> Mem
Mem --> Disk
You -. "watch · approve" .-> Gate
web_search, open_tabs, click, recall …) through the MCP bridge.web_search and fetch_page stand in for your AI's own search and fetch, so its flow carries on as usual and the
sources in its answer are pages you saw.my_trails) only after you allow each one once.See docs/trails.md.
~/Skillerr/research with a README
index and linked notes. Open a folder, or Copy prompt for your AI to hand the research to any AI.recall, my_research and read_note bring back past research. Notes and skills are
also exposed as MCP resources, straight from disk.SKILL.md skills. Your AI saves procedures it worked out (with your approval) and uses them next time.demo-recorder (records a tab with captions and a step guide) and screenshots.mcp/bridge.js.view_capture.upload_file lets your AI attach an image, video or document to a post or
form (X, Reddit, LinkedIn, Product Hunt, any file input or "Add photos" button). Each upload asks for your OK in
Skillerr, next to the page, naming the files and the site, in every approval mode; the Pilot panel logs it as
"Attaching card-tabs.png to x.com". Files in ~/.skillerr, ~/.ssh, keychains, password managers, browser profiles
and other credential stores, and key files like .env or id_rsa, are always refused.demo/safety-demo.html, demo/injection-test.html and
demo/upload-demo.html.web_search can use a Brave, Tavily or Exa key instead of a results page, so it doesn't run
into robot checks.Skillerr runs on the same Chromium as Chrome, so pages are just as fast, and it uses less memory doing it. Measured against Chrome 152 on the same machine (details):
| Chrome 152 | Skillerr | |
|---|---|---|
| Page speed (Speedometer 3.1) | 16.0 | 16.3 (same, within noise) |
| Memory, idle | ~500 MB | ~385 MB (about 23% less) |
| Memory, 5 heavy pages | ~615 MB | ~565 MB (about 8% less) |
| Ready for your AI | ~216 ms after launch |
Skillerr is local-first, and has no telemetry.
~/.skillerr/browser (settings, research memory, trails, skills),
~/Skillerr/notes and ~/Skillerr/research, and recordings and screenshots in your Movies and Pictures folders.127.0.0.1 only, needs a bearer token, and refuses requests from web pages.git clone https://github.com/dot-skill/skillerr-browser.git
cd skillerr-browser
npm install
npm start # run from source
SKILLERR_PROFILE=demo npm start # a separate profile (memory, settings, browser data)
npm test # unit tests, including the recall quality check
Requires Node.js 22. More docs: live view in Claude Desktop, passkeys, recall by meaning, trails, the Orb, benchmarks.
src/
main.js Window, tabs, groups, sleeping, control gate (approvals, undo), browser-level tools, IPC
tools.js Tool definitions and page-level implementations (shared by MCP and the built-in agent)
guard.js Page safety: hidden and invisible text, AI-addressed text
agent.js Built-in agent (Anthropic SDK, or any OpenAI-compatible endpoint)
memory.js Research memory: append-only JSONL graph, recall, taxonomy, heat
embed.js Recall by meaning: local embeddings (Ollama by default), blended into recall
search-api.js Optional web_search through Brave, Tavily or Exa instead of a results page
skills.js Skill loading, learning, install, Claude Code sharing
recorder.js Tab and window recording, captions, step guides
connect.js One-click MCP setup for Claude Desktop, Claude Code and Cursor
chrome-import.js Chrome bookmarks and history import (local profile only)
api-server.js Local control API (127.0.0.1, bearer token; browser-origin requests refused)
store.js Settings and session files in ~/.skillerr/browser
ui/ Browser chrome, Pilot panel, start page, History map and the Orb panel, folders, HUD, captions
mcp/bridge.js MCP stdio server that forwards to the running app (and serves notes, skills and the live view)
mcp/preview/ Live view shown inside AI apps' chats (MCP Apps), built into mcp/preview.html
mcp/setup.js Connects AI apps and, if asked, makes Skillerr their web browser
skills/ Built-in skills
scripts/build.mjs Production bundle (esbuild, minified) into out/, packed into app.asar
electron-builder.config.cjs Packaging, with Developer ID / Authenticode signing when credentials are set
test/ Unit tests (node:test), run in CI on macOS, Windows and Linux
site/ install.sh, install.ps1 and agents.md (how an AI installs and connects Skillerr)
demo/ Local fixture pages for testing
npm run dist # macOS dmg + zip (arm64, x64)
npm run dist:win # Windows NSIS installer (x64, arm64)
npm run dist:linux # Linux AppImage (x64, arm64)
npm run dist:all # everything
Builds bundle and minify the app (scripts/build.mjs), so no readable source or node_modules ship.
Signing. Without credentials, macOS builds are ad-hoc signed and Windows builds are unsigned. Set these and
electron-builder.config.cjs signs for real:
CSC_LINK + CSC_KEY_PASSWORD (Developer ID Application .p12), plus APPLE_API_KEY + APPLE_API_KEY_ID +
APPLE_API_ISSUER (or APPLE_ID + APPLE_APP_SPECIFIC_PASSWORD + APPLE_TEAM_ID) to notarize. This turns on the
hardened runtime with build/entitlements.mac.plist.WIN_CSC_LINK + WIN_CSC_KEY_PASSWORD (Authenticode .pfx).APPLE_TEAM_ID and MAC_PROVISIONING_PROFILE. See docs/passkeys.md.Branches and deploys (.github/workflows/):
| Branch | What happens | Who gets it |
|---|---|---|
| Pull request | ci.yml: syntax check, tests and the production bundle on macOS, Windows and Linux | Nobody. It's a check. |
develop | deploy.yml → staging: builds <next version>-beta.<run> for every platform and publishes it as a prerelease | Only installs with Settings → Beta updates on |
main | deploy.yml → production: builds package.json's version and publishes it as the latest release | Everyone: installed apps update themselves, and skillerr.com's download links point at it |
version in package.json on develop, test the beta, then merge develop into main. A merge to
main whose version is already released deploys nothing and says so in the run summary.dot-skill/skillerr-releases. The
RELEASES_TOKEN secret (Contents: read/write on that repo) is required. Signing secrets are optional and listed at
the top of deploy.yml.skillerr.com, including the update API and download links) lives in a separate repository.Issues and pull requests are welcome. Read CONTRIBUTING.md first: pull requests go against
develop, and your first one needs the one-line agreement in CLA.md. Bugs and ideas go in
issues. Everyone taking part follows our
Code of Conduct.
Please don't open a public issue for a vulnerability. Email [email protected]; see SECURITY.md.
Skillerr is open source under the GNU AGPL-3.0. Contributions need the one-line agreement in CLA.md. The Skillerr name and logo are trademarks: see TRADEMARKS.md before you ship a fork. The hosted services on skillerr.com (sign-in, downloads, updates, the Pro plan) are not part of this repository.
Made by Bharat Dudeja · skillerr.com