Model or dataset
nexu-io/nexu avatar
nexu-io/nexu

nexu: a desktop client that puts your OpenClaw agent inside WeChat, Feishu, Slack and Discord

The simplest desktop client for OpenClaw 🦞 — bridge your Agent to WeChat, Feishu, Slack & Discord in one click. Works with Claude Code, Codex & any LLM. BYOK, Oauth, local-first, chat from your phone 24/7.

3,282 stars263 forksTypeScriptMIT

At a glance

What is it?
nexu is an MIT-licensed TypeScript desktop app that connects an OpenClaw agent to the chat apps your team already uses. It is local-first, supports bring-your-own API keys, and ships as a GUI rather than a CLI.
Who is it for?
nexu fits a solo operator or small team that already runs OpenClaw and wants the agent reachable from WeChat, Feishu, Slack or Discord without writing channel integrations. It is the wrong choice if you need a headless Linux server process, because the README lists only macOS and Windows builds.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 157 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 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The gap nexu fills between an OpenClaw agent and the chat apps you already open

Running an OpenClaw agent locally is one problem. Getting its output into the chat window where your customers, colleagues or clients already message you is a second, separate problem, and it is the one most people abandon halfway. The README frames nexu as the answer to that second problem: "the open-source desktop client that connects your AI Agent to WeChat, Feishu, Slack & more." The audience named in the repository is explicit. The use-cases section says nexu is built for a "One Person Company" and small teams, and it walks through solo e-commerce sellers, content creators, indie developers, legal and finance consultants, retail shops and designers. What those groups share is not technical depth. It is that they want the agent in the chat app on their phone, not in a terminal on their laptop.

The comparison table in the README positions nexu against two alternatives. The first is OpenClaw itself, which the table describes as free but requiring self-deployment, with manual model configuration and CLI-only operation. The second is hosted Feishu-plus-agent stacks, which the table describes as closed source, platform-locked on models, and routing data through vendor servers. nexu's stated position between them is a graphical client that keeps data on your machine while still handling the channel integration for you.

How the desktop app, the controller and the IM bridge fit together

The repository layout tells you more about the architecture than the README does. There is an apps/ directory, a packages/ directory, a pnpm-workspace.yaml at the root, and a package.json that is marked "private": true with a workspace-wide build script. That is a monorepo, and the package scripts name at least three workspace members: @nexu/desktop, @nexu/controller and @nexu/web. There is also a @nexu/slimclaw package with a prepare-runtime script, and a top-level openclaw-wrapper directory. The naming suggests the desktop shell wraps OpenClaw rather than reimplementing it.

The controller package is the piece that exposes an API. The generate-types script runs an OpenAPI generator against @nexu/controller and then generates a client SDK for @nexu/web, which means the desktop UI talks to a local HTTP service rather than to the agent directly. That is a meaningful design choice: the same local API could be driven by something other than the bundled UI. The README's claim that "all data stays on your machine" is consistent with this layout, since nothing in the visible structure points to a hosted relay.

Channel support is where the repository gets harder to read. There is a nexu-skills/ directory and a skills/ directory at the top level, plus a deploy/ directory. The README says built-in WeChat, Feishu, Slack and Discord support ships out of the box, and it names a "WeChat 8.0.7 OpenClaw plugin" as the connection mechanism. That detail matters, because it means WeChat support is version-coupled to a specific WeChat build rather than being a general protocol implementation.

Installing nexu and connecting a first channel

The README does not document a build-from-source install. It points at the project website, nexu.io, for downloads, and lists macOS (Apple Silicon), macOS (Intel) and Windows as supported platforms. The stated flow is download, double-click, start. If you want to run the development workspace instead, the root package.json gives the commands, and they assume pnpm.

Install workspace dependencies and start the dev launcher:

bash
pnpm install
pnpm start

The start script delegates to ./scripts/dev-launchd.sh start, and the same script exposes stop, restart, status and logs. If you would rather run the dev tool directly, the dev script is pnpm --dir ./tools/dev exec tsx ./src/index.ts. Check that the process came up before touching any channel configuration:

bash
pnpm status
pnpm logs

For a packaged build rather than a dev run, the scripts are platform-specific and named accordingly: dist:mac, dist:mac:arm64, dist:mac:x64, and dist:win:local. There is also a dist:mac:unsigned variant. The presence of a separate unsigned target is worth noting, because it implies the signed path requires credentials the repository does not carry.

Once the app is running, the README describes the first real use as a scan-and-connect flow: click connect, scan with WeChat, and start chatting. For Feishu, the README says full Feishu Skills ship with the client, so no separate integration work is described. For model access, you have two paths. You can use Gemini and others through a nexu account, or you can add your own API key and use the client without creating an account. MiniMax, OpenAI Codex and GLM (Z.AI Coding Plan) are listed as supporting OAuth login, which avoids pasting a key at all.

Where nexu stops being the right tool

The platform list is the first hard boundary. The README names macOS and Windows only. There is no Linux desktop build in that list, and no headless server mode. If your plan is to run the agent on a VPS and reach it from Slack, nexu as documented does not do that. The local-first design is the same fact viewed from the other side: keeping data on your machine is the feature, and it also means the machine has to be on.

The README's own promise of an agent "online 24/7" deserves scrutiny against that. A desktop client that runs on your laptop is online when your laptop is awake and connected. The README does not describe a daemon, a background service, or a fallback when the desktop process is not running. Anyone reading "chat from your phone anytime, anywhere" should read it as conditional on the host machine being up.

WeChat support carries its own coupling. The README ties it to the "WeChat 8.0.7 OpenClaw plugin." A pinned WeChat version is a maintenance surface: when WeChat updates, the plugin may need to follow, and the README does not describe what happens when it does not. The README also does not document rollback for a failed channel connection, or what state is left behind if a scan-and-connect attempt fails midway.

Finally, the maintenance picture. The repository is not archived, and the last push was on 2026-04-26. The most recent release listed is v0.1.12 from 2026-04-13, preceded by v0.1.11 and v0.1.10 earlier in April. That is a 0.1.x line with three releases inside a single month, which reads as early-stage software rather than a settled product.

nexu against a hosted Feishu agent stack

The clearest alternative is the category the README's own comparison table calls "typical hosted Feishu + agent stacks." The difference is not a feature checklist, it is where the agent runs and who holds the model relationship. A hosted stack runs the agent on the vendor's servers. You get a managed deployment, no local process to keep alive, and the vendor handles channel plumbing and uptime. You give up model choice, since the table describes those platforms as model-locked, and your message content passes through infrastructure you do not control.

nexu inverts each of those. The client is free and MIT-licensed, the agent runs locally, and the model relationship is yours: either a nexu account for Gemini and others, or your own API key, or OAuth against MiniMax, OpenAI Codex or GLM. The cost moves from a subscription to whatever your provider charges your key. The operational cost moves onto you, because there is no vendor keeping the process alive.

That trade is not obviously correct in either direction. A hosted stack is the better answer if you have no always-on machine, if you need someone else to be paged when Feishu changes an API, or if your team has no one who wants to manage a desktop app. nexu is the better answer if the data path matters, if you want to switch models without asking a vendor, and if you are willing to own the uptime of the box it runs on. The README's "we don't host your business data" line is the honest summary of which side of that line the project chose.

Licence, upgrade cost and what the repository does not tell you

nexu is MIT-licensed, and the README's comparison table makes that a selling point: "MIT, fork and audit." For a client that holds API keys and sits between your chat accounts and a model provider, an auditable licence is a real practical difference from a closed hosted stack, because you can read the code that handles your credentials. MIT also means you can modify and redistribute it, including in a commercial setting. That is a statement about the licence text, not about your obligations in any particular jurisdiction, and it is not legal advice.

The upgrade cost is the part the README leaves thin. There is a version badge pointing at GitHub releases and a release history, but the README does not describe a migration path between versions, whether local state survives an upgrade, or what happens to configured channels and stored keys when you move from one 0.1.x build to the next. For a desktop app that stores provider credentials locally, that is the question to answer before you commit to it in daily use.

The repository does carry signals that the project takes process seriously: a SECURITY.md, a CODE_OF_CONDUCT.md, a CONTRIBUTING.md, an ARCHITECTURE.md, a CLAUDE.md and an AGENTS.md at the root, plus a .github/ directory with workflows, a vitest.config.ts and a codecov.yml. That is a normal shape for a TypeScript monorepo with tests and CI. It is not evidence about how often releases land, which the release dates already answer.

Editorial conclusion

nexu fits a solo operator or small team that already runs OpenClaw and wants the agent reachable from WeChat, Feishu, Slack or Discord without writing channel integrations. It is the wrong choice if you need a headless Linux server process, because the README lists only macOS and Windows builds. Before adopting, verify the current release on the GitHub releases page, confirm your WeChat version against the 8.0.7 OpenClaw plugin the README names, and check whether the channel you need is actually implemented in the repository rather than only described in the feature list.

Frequently asked questions

Which platforms does nexu support?

The README lists macOS (Apple Silicon), macOS (Intel) and Windows. There is no Linux desktop build in that list, and the repository has no documented headless server mode.

Can I use nexu without creating an account?

Yes. The README describes a bring-your-own-API-Key path where you add your key and use the client without creating an account or logging in. MiniMax, OpenAI Codex and GLM (Z.AI Coding Plan) are also listed as supporting OAuth login.

How does nexu connect to WeChat?

The README states that WeChat support works with the WeChat 8.0.7 OpenClaw plugin, and that the flow is to click connect and then scan with WeChat. Because it names a specific WeChat version, the integration is coupled to that build.

Official sources

  1. License: MIT
  2. nexu-io/nexu on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/nexu-io-nexu.svg)](https://hysenlabs.com/projects/nexu-io-nexu)