lencx/Noi: a multi-window AI browser that keeps chats and prompts on-device
🚀 Less chaos. More flow.
At a glance
- What is it?
- Noi is a TypeScript desktop browser built around running several AI chat services in isolated windows, with local history, a prompt library and a built-in terminal. The idea is sound; the README is thin enough that you should expect to read the repository, not the README.
- Who is it for?
- Adopt Noi if you already juggle three or four AI chat tabs and want them in separate windows with a shared local prompt store and a terminal beside them; the multi-window and session-isolation model is the reason to pick it over a normal browser profile setup. Do not adopt it if you need a documented plugin API, a published licence, or a guarantee about how account data is handled, because the README does not cover any of those.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 25 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What lencx/Noi actually solves for people running several AI chats
The everyday problem is tab sprawl. You have ChatGPT in one tab, Claude in another, Gemini in a third, a Copilot window somewhere, and a notes file holding the prompts you keep retyping. Noi's answer is to make that a desktop application rather than a browser session: the README lists multi-window management, session isolation and local-first data as its first four features. Session isolation is the interesting one. If you are logged into two accounts on the same service, or you want one workspace that is purely for client work and another for personal experiments, separate windows with separate contexts is a cleaner mental model than browser profiles, which are tied to the whole browser rather than to a single workspace.
The target user is a developer or technical writer who already treats AI chats as part of the working day. The built-in terminal and the noi CLI point at the same audience: people who want to drive the browser from scripts rather than only from a mouse. The repository topics list a long set of services (chatgpt, claude, copilot, deepseek, gemini, grok, perplexity, qwen), which tells you the intent is to be the shell around whichever service you happen to use, not to compete with any one of them.
Windows, session isolation and where your data sits
The architecture visible from the repository is a desktop shell with a set of extensions and a website directory alongside it. Top-level entries include extensions/, prompts/, locales/, resources/, configs/ and website/, which suggests the chat integrations live as extension definitions, the prompt library is a shipped data directory, and the marketing and documentation pages are built separately under website/. The README's own screenshots are referenced from ./website/static/readme/, which confirms that split.
The data story is stated plainly in one line: history, prompts and settings stay on-device. That is a meaningful claim for anyone who does not want prompt text sitting in a third-party sync account, but it is also the whole of the claim. The README does not describe an encryption model, a storage location, or how a window's isolated session is torn down. If you are evaluating Noi for regulated work, treat local-first as a direction rather than a guarantee and verify it yourself.
The noi CLI is the other mechanism worth noting. The README says it lets you control Noi from tools like Claude Code, Codex and Gemini CLI, and adds that more commands are coming. That phrasing is a warning as much as a feature list: the surface is small and moving.
Installing Noi from the v1.1.0 release and opening a first workspace
Noi is distributed as a downloadable application, not as a package you install from a registry. The README links the download to the v1.1.0 release tag, so the release page is the place to start. Pick the asset that matches your platform; the repository topics name macos and windows, and nothing in the README describes a Linux build.
Once it is running, the first useful thing to do is not to open a chat service. It is to set up the split you actually want. Open a second window and use it for a different context, then sign in to the service you use for that context. The README presents session isolation as a feature rather than a setting, so the separation is expected to come from having separate windows rather than from a toggle.
The prompt library is the next stop. The prompts/ directory in the repository is where the shipped prompts live, and the README describes prompt management as a way to organize, reuse and iterate on workflows across AI chats. If you want Noi to drive other tools, the CLI is the entry point the README names:
noiRun it with no arguments first and read the subcommand list it prints. The README states that more commands are coming, so the set you see today is not the set you will see after the next release. Anything you script against it should be checked again after an upgrade.
The gaps: licence, plugin API and platform coverage
The most concrete limitation is the licence. The repository metadata carries no licence identifier, and the README does not state one. For an application you install on a work machine, that is not a small omission. You cannot reason about redistribution, about bundling it into an internal image, or about what happens if the project changes direction. Anyone who needs an answer to that question has to ask the maintainer rather than read the repository.
The second gap is extensibility. Noi ships extensions/ and a set of supported services, but the README does not document a plugin interface, a manifest format or a way to add a service that is not already listed. If your team uses an internal chat front end, there is no described path to bring it into Noi. That is a real boundary, not a temporary one you can work around with configuration.
The third is platform. The topics mention macos and windows. Nothing in the README describes a Linux build, and the release assets are the only place that would confirm one. If your team is on Linux, check the release page before you spend time on an evaluation.
There is also a support-channel asymmetry worth noticing. The README points Chinese users to a WeChat account and public account, and everyone else to Discord and a donation link. Neither channel is a substitute for documentation, and the README is the documentation.
How Noi differs from a browser profile setup or a chat aggregator
The obvious alternative is the one you already have: a browser with separate profiles per account, plus a password manager and a text file of prompts. That costs nothing and it is maintained by people whose job is browser security. What it does not give you is a terminal in the same window, a prompt library shared across services, or a CLI that other tools can call. If none of those three matter to you, a browser profile setup is the better choice and Noi adds a dependency for no gain.
The second alternative is a chat aggregator: a single interface that queries several models behind one input box. That is a different design. An aggregator owns the conversation and normalizes the responses; Noi, as far as the README describes it, hosts the services themselves in isolated windows and lets each one be itself. The practical difference shows up in fidelity. An aggregator can only expose what each provider's API allows, while a window running the provider's own web interface shows you every feature that provider ships, including ones with no API. The trade is that you get no unified history and no cross-model comparison in one view.
A third option is a general-purpose desktop shell that wraps web apps. Those tend to be configuration-driven and service-agnostic, which is more flexible than a fixed list of supported services, but they will not have a prompt library or a CLI tied to the app.
Maintenance, releases and what an upgrade costs you
The repository is not archived and the last push was on 2026-08-21. The release history is uneven: v0.4.0 landed on 2024-03-25, then v1.0.0 on 2026-01-06, then v1.1.0 on 2026-01-15. A near two-year gap between v0.4.0 and v1.0.0 followed by two releases nine days apart is the shape of a rewrite that shipped, not of a steady cadence. Commits continuing into August 2026 alongside a January release means the main branch is ahead of the last published build, so the README may describe behaviour that only exists in source.
That has a direct cost for anyone scripting against the CLI. The README says more commands are coming, which means the command surface is explicitly unfinished. Pin to a release rather than tracking main, and re-read the CLI help after each upgrade instead of assuming your existing invocations still work.
On licence, the honest position is that the repository does not state one. Licence terms affect whether you can redistribute the application, include it in an internal build, or ship it to customers, and those questions are for your own counsel rather than for a review. What can be said from the repository is only that the metadata is silent, so treat the question as open until the maintainer answers it.
Editorial conclusion
Adopt Noi if you already juggle three or four AI chat tabs and want them in separate windows with a shared local prompt store and a terminal beside them; the multi-window and session-isolation model is the reason to pick it over a normal browser profile setup. Do not adopt it if you need a documented plugin API, a published licence, or a guarantee about how account data is handled, because the README does not cover any of those. Before installing, open the v1.1.0 release page, check the platform assets listed there, and confirm that the licence situation is acceptable to whoever signs off on software in your organisation. The repository is not archived and the last push was on 2026-08-21, so the code is moving, but the README has not caught up with it.
Frequently asked questions
What is lencx/Noi?
It is a TypeScript desktop application that hosts AI chat services in separate windows, with session isolation, a local prompt library, a built-in terminal and a noi CLI. The README describes it as a browser for AI chats rather than a single chat client.
Is Noi free and what licence does it use?
The repository metadata carries no licence identifier and the README does not state one, so the terms are not determinable from the repository. The README does include a donation link, which is separate from licensing.
Where does Noi store my chat history and prompts?
The README states that history, prompts and settings stay on-device. It does not describe the storage location, an encryption scheme, or how an isolated window's session data is removed.
Which platforms can run Noi?
The repository topics list macos and windows, and the README directs downloads to the v1.1.0 release page. Nothing in the README describes a Linux build, so check the release assets for your platform before evaluating it.
Does Noi support Linux?
The README does not mention Linux and the topics name only macos and windows. The release page is the only place that would confirm whether a Linux asset exists.
How do I control Noi from Claude Code or Codex?
The README states that the noi CLI command lets you control Noi from tools like Claude Code, Codex and Gemini CLI. It adds that more commands are coming, so the available subcommands should be checked against the version you have installed.
Community notes