开源工具
dev.to ·
@Krish Verma
Ankita v2.4.3:在聊天窗口旁加入可操控的实时浏览器
开源桌面 AI 助手 Ankita 发布 v2.4.3,核心功能是内嵌在桌面应用中的实时浏览器,可显示标签页、URL、页面状态和当前页面,并提供停止与接管按钮。助手能打开页面、读取页面快照、点击、输入、滚动和填表,这些浏览器工具通过既有的工具发现机制按需加载,避免在不需要时占用系统提示。其中 fill_form 支持从单次操作填充最多十个字段。
AI推荐理由 Ankita v2.4.3 是开源桌面 AI 助手,新增内嵌实时浏览器,助手可打开页面、读取快照、点击、输入、滚动和填表,并通过按需加载的浏览器工具集避免系统提示膨胀;fill_form 支持单次填充最多十个字段。对本地 agent 的浏览器操作能力有实际参考价值,但为个人项目更新日志,缺少可靠性、安全边界与实测效果说明。
61
正文
I've been building Ankita — an open-source desktop AI assistant — since I was 16. Version 2.4.3 is out today, and its headline feature is one I've wanted from the start: a real browser that lives next to your chat, which the assistant can actually drive.
A live browser beside chat
Ankita can already do a lot on your machine — run commands, edit files, manage MCP servers — but until now, the web was read-only territory. v2.4.3 changes that with a browser stage built into the desktop app: you see the tabs, the URL, the page status, and the current page, with Stop and Take control buttons. The assistant can open pages, read snapshots of what's on them, click, type, scroll, and fill forms — all through a set of browser tools that load on demand through Ankita's existing tool-discovery system (which I wrote about in my last post), so the browser capability doesn't bloat the system prompt until you actually need it.
One detail I like: browser fill_form fills up to ten fields from a single page snapshot, and it works with selects and checkboxes as well as text fields. Password values stay hidden from the model — the snapshot deliberately redacts them — and the approval previews redact entered text, so typing credentials through the assistant doesn't leak them into the conversation view.
Two backends, both opt-in
There are two browser plugins, and both start disabled — you choose:
Playwright Browser uses its own separate Chromium profile, so the assistant never touches your personal browser session.
Chrome local connects to Chrome through a pinned Chrome DevTools MCP server, with options for a private session, a debug port, or your own session.
Desktop setup covers Chromium download progress, a background mode, and a debug-port connection test. Every plugin gets allowed and blocked domain lists, and navigation is HTTP/HTTPS only — private hosts are blocked by default. Browser actions (clicks, form submissions) require approval; reading pages doesn't. That asymmetry was deliberate: I want the assistant to look things up freely but never mutate a page without the owner saying yes. Clicks and form submissions are also never automatically replayed after a connection hiccup — if a recovery path can't prove what happened, it asks instead of retrying blindly.
The unglamorous work: performance and filesystem security
Half of this release is the kind of work nobody notices, which is exactly the point.
On Windows, command creation, shell discovery, and process-tree work now run in a worker, because slow native startup could block the owner's event loop. File inspection reuses a resident worker instead of spawning one per call — a local 30-call README sample measured a 3.37 ms warm median after startup. Terminal Markdown redraws coalesce on a fixed 20 ms deadline, and history trimming now measures costs incrementally instead of re-scanning the whole conversation.
On the security side: file tools now enforce the workspace boundary for absolute and relative paths, including Git inventories — rejecting traversal escapes, interior symlinks/junctions, Windows device aliases, and alternate data streams. Atomic writes use exclusive, unpredictable staging files. Approval fallbacks and MCP diagnostics redact recognizable credentials and secrets from env vars, config files, server settings, and headers.
Verified, not just shipped
The release notes for v2.4.3 run long because the verification runs long too: the clean GitHub Windows release run passed 713 tests with 0 failures, the packaged desktop executable was exercised against a disposable local HTTP/SSE model fixture (appearance switching, browser submission, screenshot pixels, takeover, Stop, command stdin/EOF), and all four published assets had their SHA-256 digests checked. There's an audit verification record and a browser guide if you want the full story.
Try it
Grab it from the releases page — there's a portable build if you don't want to install anything. If you enable the browser plugins and find a workflow where approval-vs-autonomy feels wrong, I'd genuinely like to hear about it. That boundary is the hardest design question in this whole project, and I'm still learning where it should sit.