Download Latest Version nanoMuse-Desktop-1.0.9-win-x64.exe (281.8 MB)
Home / v1.0.5
Name Modified Size InfoDownloads / Week
Parent folder
nanoMuse-Desktop-1.0.5-win-x64.exe.blockmap 2026-10-13 279.1 kB
nanoMuse-Desktop-1.0.5-win-x64.exe 2026-10-13 268.7 MB
nanoMuse-Desktop-1.0.5-mac-x64.zip 2026-10-13 359.1 MB
nanoMuse-Desktop-1.0.5-mac-x64.dmg 2026-10-13 475.6 MB
nanoMuse-Desktop-1.0.5-mac-arm64.dmg 2026-10-13 511.7 MB
nanoMuse-Desktop-1.0.5-mac-arm64.zip 2026-10-13 341.9 MB
latest.yml 2026-10-13 365 Bytes
nanoMuse-Desktop-1.0.5-linux-x64.AppImage 2026-10-13 321.9 MB
nanoMuse-Desktop-1.0.5-linux-x64.deb 2026-10-13 254.6 MB
nanoMuse-Desktop-1.0.5-linux-x64.tar.gz 2026-10-13 306.3 MB
SHA256SUMS-desktop.txt 2026-10-13 1.0 kB
dsh-nanomuse-1.0.5.tgz 2026-10-13 2.5 MB
SHA256SUMS-harness.txt 2026-10-13 89 Bytes
nanoMuse-1.0.5-arm64.apk 2026-10-13 39.2 MB
nanoMuse-1.0.5-arm64.apk.sha256 2026-10-13 91 Bytes
nanoMuse 1.0.5 _ Lookout source code.tar.gz 2026-10-13 52.4 MB
nanoMuse 1.0.5 _ Lookout source code.zip 2026-10-13 54.6 MB
README.md 2026-10-13 44.4 kB
Totals: 18 Items   3.0 GB 0

nanoMuse 1.0.5 · Lookout

🐉 nanoMuse 1.0.5 “Lookout”: the day after Compass, a second look at the whole project together with the day's reports; the daily feed is written out of sight, the Android approval card fits the screen, the desktop's dead buttons work and a quit protects the work in progress, the Windows release can update itself, and the relay's console finds anything.

1.0.4 went out on 2026-10-13. The same day we read nanoMuse through once more, this time with the reports and pull requests that arrived while Compass was being built, and nine passes again went over the relay, the Python runtime, the web console, the desktop, the Android and iPhone apps, the hosted showcase, the documentation and the workflows (#444 to #455). What they found fills this version. Some of it you will see at once: the chat the daily feed is written in no longer sits in your chat list on any device, and a routine's turn opens with its result; a long command no longer pushes the Android approval card's buttons off the screen (#436, reported by @HBSTAR0501); the ChatGPT sign-in on a phone with a proxy has a way through (#441, reported by @Kooooooo-G); the iPhone's conversation scrolls under the header, Siri understands the app's phrases in nine languages, and an emoji face set on the desktop shows on the phone (#435, reported by @Yousanflics); eight desktop buttons that quietly did nothing do their job again, and quitting the desktop asks before it ends a reply, a hands run or a task another device is waiting on. Others you will not see and should not have to: a disabled account cannot be told apart from any other through the sign-in routes, the proxy file on the desktop is the owner's alone, a hub socket that died under the desktop is noticed within a minute, and one address is one endpoint on the runtime. Beside the check, @jiangkaiqi2005 built the quit and the Windows update feed (#442, #443), @cutey-none brought DeepSeek Harness to the Python runtime (#433), and @Mola-maker's two Android fixes are in (#429, #431). Nothing moves for a person upgrading: the Android package installs over 1.0.4 and keeps everything, the desktop keeps its settings, and a 1.0.4 client works against the relay (0.26.0) unchanged.

Highlights

  • The daily feed is written quietly, and a routine speaks first. On Android, the iPhone and the desktop the conversation the feed is written in no longer appears in the drawer, the chat list or search, and Write today's feed. no longer stands anywhere as a message in your voice; on Android, posts written while the app was in the background are announced by one notification that opens the Feed. The prompt a routine sends is shown as one quiet line, Routine · 〈label〉 · 08:00, and the agent is told the turn is the routine's, so it opens with the result rather than thanking you for asking (#437).
  • The Android approval card fits the screen, and the ChatGPT sign-in has a way through a proxy. A long command made the card taller than the screen, so Allow, Deny and the composer sat below the bottom edge and the chat looked frozen; the card now takes at most two thirds of the screen, a command longer than six lines is folded behind Show all, and the buttons stay in view (#436). The ChatGPT sign-in sends the browser back to localhost:1455, which a proxy or VPN app on the phone can swallow; after ten seconds without the browser's call (at once when the phone's proxy would take the address) a note under Sign in explains it and offers a box to paste the address of the error page, and the code reaches the waiting sign-in without going through the proxy. The same box serves the Anthropic, xAI and OpenRouter sign-ins (#441, both in #449). The sign-in's tokens stay out of the log file, the identifier field's example is an e-mail address, and two of the relay's refusals read as sentences in 17 languages.
  • The iPhone, in detail. The conversation scrolls under the header and fades into its scrim, as it does under the composer, and on an iPad the agent's replies line up with the composer (#432). Siri understands Ask nanoMuse, New nanoMuse chat and the other shortcuts in all nine languages instead of English and Chinese alone; the page titles, the agent's name and the first-run pages follow Dynamic Type; Create routine on an idea opens the editor; Background & notifications says what the phone does; a hub failure (a computer offline, busy or on an older nanoMuse) is a sentence in your language; VoiceOver names the Library's and the usage pickers and the ••• menus (#451, #455). A face set to an emoji on the desktop or in the web console shows on the iPhone, after a drawn face and before the dragon, and the phone never pushes the dragon over an emoji chosen elsewhere (#435, #453).
  • The desktop does what its buttons say. Default face, the clip preview's Cancel, Media's Check which models answer, the ChatGPT Open the sign-in page, Sign out and Cancel, and Download and Reset under Memory called the host without a body, which the window sent as a GET to routes that take POST only, so each click ended in a quiet 404; they post now, and a test checks every body-less call against the host's routes (#438). Quit (the menu, Ctrl+Q, the tray, or the last window without a tray) first asks what is still on: a reply being written, the hands on the screen, a task another device asked for, an approval waiting on you; Keep running is the default, and a confirmed quit waits for the work to end (#442, by @jiangkaiqi2005). A hub socket that died under the app is dropped when nothing arrived between two pings, about 50 seconds, instead of after the many minutes the operating system takes; an endpoint or connector address with a password in it is refused, a redirect is followed with the key only to the endpoint's own origin; desktop.json is written at mode 0600; the host's refusals of a form are said in your language (#452, #455).
  • The Windows release carries the files an in-app update needs. Beside the installer, the release has latest.yml, which names the installer and its SHA-512, and the installer's .exe.blockmap, covered by SHA256SUMS-desktop.txt; before anything is attached, CI hands the set to electron-updater itself, which must find the version, download the installer from a test feed and verify it (#443, by @jiangkaiqi2005, for #341). The download mirror serves the feed at nanomuse.cn/dl/win/, pointing it at the newest release whose three files are all present and match, and leaving it on the previous release while a Windows build is still running (#454). The Intel Mac installer builds again, since the workflow installs pnpm from npm (#444).
  • DeepSeek Harness on the runtime, and one address per endpoint. A computer running nanomuse serve lists the chats of dsh web and DeepSeek's desktop app under ~/.dsh beside Cursor, Codex and Claude Code, shows a transcript and sends into one with dsh --profile headless --json; the Muse's coding_agents tool takes dsh, and zstandard is a new dependency (#433, by @cutey-none). Adding a custom endpoint at an address the list already has is refused with 409 naming the endpoint that has it, the list is changed one request at a time so a rename is no longer written over by a slower refresh, PUT /api/connections/gui and /hands check their bodies, a DingTalk stream that fails to start says so, a failed update check is tried again after an hour, the web push files are owner-only from the first byte, fetched pages are parsed off the event loop, and two more relay refusals read as sentences (#450, #455).
  • The relay's console finds anything, and a disabled account cannot be probed. On People the search reaches the number or e-mail, the account id, both addresses, device names, the client and its version, the region, the inviter and the invite code, several words at once, with Joined, Came and Version filters beside it; / starts a search on any page; the account drawer's statement and timeline filter by kind and text on the relay's side; Activity reads on past its first page (#440). A code asked for a disabled account is answered with the same 204 as for anyone, and /v1/auth/login says 403 account_disabled only to the right password; a wrong one is answered like any wrong password (#447, #455).
  • The web console's small text reads, and its fields have names. The faint red, amber and grey of overdue, blocked, failed and the device section labels meet the contrast small text needs in both themes; the reminder, routine, trigger, goal, memory, coding, password and side-chat fields are announced by a screen reader with what they are for; a middle-click in a hands step is no longer called a right-click; the permission log shows an approval's scope in words; the hashed script and style files are cached for a year (#448). Outside mainland China the sign-in field's example is an e-mail address alone, and a lapsed bot sign-in says so in your language (#455).
  • Android, the smaller fixes. Styled shell output stays whole, since terminal colour and title codes are removed before carriage returns are folded (#429, by @Mola-maker); the font-size labels under Appearance speak the app's language (#431, by @Mola-maker); the goal-shaping prompt and the missing-image-model prompt no longer hold the agent up against another app's assistant.
  • The showcase and the project. A refusal of any shape from nanoMuse Cloud or the image provider reaches the browser as the refusal it was rather than a 500, and the mirror never lists half a package (#446); the docs describe nanoMuse in its own words, screen by screen, without another product as the model (#445); the READMEs' News notes the thousandth star (#439).
  • TestFlight. Build 22 (1.0.3) and build 26 (1.0.4) passed Apple's beta review on 2026-10-13, so the public link installs build 26 today; 1.0.5 goes up as build 28 and is submitted to the same review. A build reaches the link once its review has passed, the internal testers before that.

Upgrade Notes

  • Android installs over 1.0.4 and keeps your data. nanoMuse-1.0.5-arm64.apk (Android 8.0+, arm64; versionCode 48) is signed with the same key as every version before it. Verify with sha256sum -c nanoMuse-1.0.5-arm64.apk.sha256. The chat the daily feed was written in disappears from your chat list; its posts stay in the Feed.
  • iPhone and iPad come through TestFlight. The public link installs build 26 (1.0.4), which passed Apple's beta review with build 22 on 2026-10-13; build 28 (1.0.5) is submitted when it is uploaded, and reaches the link once its review has passed, the internal testers before that.
  • The desktop installers are built by CI from the tag v1.0.5. The Mac packages are not notarized: the first time, open the app from System Settings → Privacy & Security → Open Anyway (or right-click → Open). The Windows package is not signed: click More info and Run anyway once. On Linux prefer the .deb; the AppImage needs FUSE (--appimage-extract-and-run without). They arrive a little after the APK, and SHA256SUMS-desktop.txt lists every checksum. This is the first release whose Windows assets include latest.yml and the .exe.blockmap, the files electron-updater reads; the desktop's update metadata is built for https://nanomuse.cn/dl/win/, which the mirror points at this release once the three files are there, so a 1.0.5 desktop on Windows can take the next version from inside the app. Your settings stay where they were; the proxy file desktop.json is set to mode 0600 on its next write.
  • The relay is 0.26.0; a 1.0.4 client works against it unchanged. For operators: the console searches and filters further and reads Activity past its first page (?before= on /v1/admin/events, ?kind=&q= on an account's /ledger and /events); POST /v1/auth/code answers 204 for a disabled account too, and /v1/auth/login answers 403 account_disabled only to the right password; a tokens or an n that is not a number is a 400; the hub's log lines carry the first twelve characters of a device id and no device name. docs/self-hosting.md (github.com) and cloud/README.md (github.com) have the details.
  • The runtime has a new dependency and refuses one thing it used to accept. zstandard reads DeepSeek Harness's chat store; pip install -e . or the Docker image brings it. Adding a custom endpoint at an address another endpoint already has is a 409 now; nothing in config.toml changes, and GET /api/cloud/events takes limit 1 to 200.
  • Where to get it.
Browser demo.nanomuse.dev, a nanoMuse on a simulated phone, after a sign-in; a demo, the apps below are the real thing
Android 8.0+, arm64 nanoMuse-1.0.5-arm64.apk
iPhone, iPad TestFlight, a beta that passed Apple's review; the link installs build 26 (1.0.4) today, build 28 (1.0.5) once its review has passed
Windows 10+ nanoMuse-Desktop-1.0.5-win-x64.exe (the desktop app, on DeepSeek Harness; not signed)
macOS 12+ nanoMuse-Desktop-1.0.5-mac-arm64.dmg / -mac-x64.dmg (or the .zip: unzip, drag to Applications; not notarized)
Linux x64 nanoMuse-Desktop-1.0.5-linux-x64.deb (preferred) / .AppImage (needs FUSE; --appimage-extract-and-run without) / .tar.gz (unpack anywhere, run ./nanomuse-desktop)
DeepSeek Harness Desktop you already run dsh-nanomuse-1.0.5.tgz, dsh plugin --profile desktop add … (how)
Docker ghcr.io/nano-muse/nanomuse:1.0.5 (also :latest), the runtime with the web console on port 8787
Your own relay bash scripts/self-host.sh, docs/self-hosting.md (github.com)

In our measurements GitHub's own downloads are quick from China as well; if they fail where you are, the same files are on nanomuse.cn/dl/v1.0.5/ within fifteen minutes.

Community

nanoMuse is open source, free and non-profit. Sign in with a phone number or an e-mail and you get a starting allowance; the developer pays for it. The account page shows what is left and how to add more. When it is gone, use your own key or a plan you already pay for (how); the key you add can take over any of the four jobs, and the account can be switched off as a model source while you keep it for sync and your devices. With an account, the text of your main conversation is kept on nanoMuse Cloud so that your devices show the same chat, side chats only if you say so, and one switch in Data controls turns it off and deletes it; nothing is sold (privacy policy); delete the account whenever you want. The same relay runs on a server of yours: docs/self-hosting.md (github.com).

Thanks to @jiangkaiqi2005 for the desktop's quit and the Windows update feed (#442, #443), to @cutey-none for DeepSeek Harness on the runtime (#433), to @Mola-maker for the shell output and the font-size labels (#429, #431), and to @HBSTAR0501, @Kooooooo-G and @Yousanflics for the reports that became #436, #441 and #435. The roadmap says where help is wanted, and docs/parity.md (github.com) says what each client has. Open an issue · send a pull request · Discussions · Discord · star the repo; if it is useful to you, a star helps others find it.

Based on OpenMinis 1.13 (GPL-3.0), modified since 2026-09-24. The complete corresponding source of this build is tag v1.0.5 plus the android/deps/proot submodule (nano-muse/proot); the desktop installers and the Docker image are built by CI from the same tag. The whole repository is GPL-3.0-or-later. nanoMuse Desktop carries DeepSeek Harness unmodified, with its licence files inside; harness in the name is the word, not DeepSeek's. The chat apps follow nanobot's design (MIT); the desktop's operator is ported from UI-TARS-desktop (Apache-2.0; THIRD_PARTY_NOTICES.md). nanoMuse is not affiliated with Meta; Muse is a trademark of Meta Platforms, Inc. The desktop follows what Muse's app looks like and does, written down from using it; none of Meta's assets, code or content is in it.

What's Changed

New Contributors

  • No first-time contributors in this release; yours could be the next one: good first issues.

Contributors

@cutey-none · @jiangkaiqi2005 · @lgy0404 · @Mola-maker

Full Changelog: https://github.com/nano-muse/nanoMuse/compare/v1.0.4...v1.0.5

简体中文 🐉 **nanoMuse `1.0.5`「Lookout」**:Compass 之后一天,带着当天收到的反馈又把整个项目看了一遍;每日动态在你看不见的地方写,Android 的审批卡片装得下屏幕,桌面端失灵的按钮能用了、退出前会护住进行中的工作,Windows 版能在应用内更新,中继的控制台什么都搜得到。 1.0.4 在 2026-10-13 发布。当天我们又把 nanoMuse 通读了一遍,这次带上了做 Compass 期间收到的报告和 PR,九遍检查再次走过中继、Python 运行时、网页控制台、桌面端、Android 和 iPhone App、托管的展示站、文档和工作流([#444](https://github.com/nano-muse/nanoMuse/pull/444) 到 [#455](https://github.com/nano-muse/nanoMuse/pull/455))。查出来的东西填满了这个版本。有些你一眼就能看到:写每日动态的那个对话不再出现在任何设备的聊天列表里,例行任务的那一轮直接从结果说起;很长的命令不再把 Android 审批卡片的按钮顶出屏幕([#436](https://github.com/nano-muse/nanoMuse/issues/436),@HBSTAR0501 报告);开着代理的手机上 ChatGPT 登录有了出路([#441](https://github.com/nano-muse/nanoMuse/issues/441),@Kooooooo-G 报告);iPhone 的对话从顶栏底下滑过,Siri 听得懂九种语言的 App 短语,在桌面上设的 emoji 脸会显示在手机上([#435](https://github.com/nano-muse/nanoMuse/issues/435),@Yousanflics 报告);桌面端八个点了没反应的按钮重新干活,退出桌面端前会先问一句,不会直接掐断正在写的回复、正在操作的屏幕或别的设备在等的任务。有些你看不到、也不该需要看到:停用的账号从登录入口和别的账号分不出来,桌面端的代理文件只有本人能读,桌面端下面断掉的 hub 连接一分钟内就能发现,运行时一个地址只对应一个端点。体检之外,@jiangkaiqi2005 做了退出保护和 Windows [更新源([#442](https://github.com/nano-muse/nanoMuse/pull/442)、[#443](https://github.com/更新源([#442](https://github.com/nano-muse/nanoMuse/pull/442)、[/issues/443)](https://github.com/nano-muse/nanoMuse/pull/443)),@cutey-none 把 DeepSeek Harness 带到了 Python 运行时([#433](https://github.com/nano-muse/nanoMuse/pull/433)),@Mola-maker 的两个 Android [修复也合进来了([#429](https://github.com/nano-muse/nanoMuse/pull/429)、[#431](https://github.com/修复也合进来了([#429](https://github.com/nano-muse/nanoMuse/pull/429)、[/issues/431)](https://github.com/nano-muse/nanoMuse/pull/431))。升级的人什么都不用动:Android 安装包覆盖 1.0.4 并保留一切,桌面端保留设置,1.0.4 的客户端对着中继(0.26.0)照常工作。 ### 亮点 - **每日动态安静地写,例行任务先说结果。** 在 Android、iPhone 和桌面端,写动态的那个对话不再出现在抽屉、聊天列表或搜索里,「写今天的动态。」也不再以你的口吻出现在任何地方;Android 上在后台写好的帖子由一条通知点名,点开就是动态页。例行任务发出的提示显示成一行安静的 *例程 · 〈名称〉 · 08:00*,并告诉智能体这一轮是例行任务的,所以它从结果说起,而不是先谢谢你的提问([#437](https://github.com/nano-muse/nanoMuse/pull/437))。 - **Android 的审批卡片装得下屏幕,ChatGPT 登录在代理下有了出路。** 很长的命令让卡片比屏幕还高,允许、拒绝和输入框都掉到了底边之下,聊天看起来像卡死了;现在卡片最多占屏幕的三分之二,超过六行的命令折在「全部显示」后面,按钮始终在视野里([#436](https://github.com/nano-muse/nanoMuse/issues/436))。ChatGPT 登录会把浏览器送回 `localhost:1455`,手机上的代理或 VPN 应用可能把它吞掉;浏览器十秒没有回调(手机的代理设置会接管这个地址时立刻)之后,「登录」下面会有一行说明和一个输入框,把出错页面的地址贴进去,验证码就不经代理送到等待中的登录。Anthropic、xAI 和 OpenRouter 的登录用同一个框([#441](https://github.com/nano-muse/nanoMuse/issues/441),两件都在 [#449](https://github.com/nano-muse/nanoMuse/pull/449))。登录的 token 不再进日志文件,账号输入框的示例是一个邮箱地址,中继的两种拒绝有了 17 种语言的句子。 - **iPhone 上的细节。** 对话从顶栏底下滑过并融进它的遮罩,和在输入框底下一样;iPad 上智能体的回复和输入框对齐了([#432](https://github.com/nano-muse/nanoMuse/pull/432))。Siri 听得懂九种语言的「问 nanoMuse」「新建 nanoMuse 聊天」和其他快捷指令,而不只是英文和中文;页面标题、智能体的名字和首次启动页跟随动态字体;在想法上「创建例程」会打开编辑器;「后台与通知」说的是手机真正做的事;hub 失败(电脑离线、忙或 nanoMuse 版本旧)是一句你的语言;旁白能读出资料库和用量的选择器以及 ••• [菜单([#451](https://github.com/nano-muse/nanoMuse/pull/451)、[#455](https://github.com/菜单([#451](https://github.com/nano-muse/nanoMuse/pull/451)、[/issues/455)](https://github.com/nano-muse/nanoMuse/pull/455))。在桌面端或网页控制台里设成 emoji 的脸会显示在 iPhone 上,排在手绘的脸之后、小龙之前,手机也不会把小龙盖到别处选的 emoji [上([#435](https://github.com/nano-muse/nanoMuse/issues/435)、[#453](https://github.com/上([#435](https://github.com/nano-muse/nanoMuse/issues/435)、[/issues/453)](https://github.com/nano-muse/nanoMuse/pull/453))。 - **桌面端的按钮说到做到。** 「默认形象」、视频预览的「取消」、媒体页的「检查哪些模型会回答」、ChatGPT 的「打开登录页」「退出登录」「取消」,以及记忆下的「下载」和「重置」,调用 host 时不带 body,窗口把它们发成了 GET,而这些路由只接 POST,所以每次点击都以一个无声的 404 结束;现在它们用 POST,并有一个测试把每个不带 body 的调用和 host [的路由对一遍([#438](https://github.com/nano-muse/nanoMuse/pull/438))。退出(菜单、Ctrl+Q、托盘,或者没有托盘时关掉最后一个窗口)会先问还有什么在进行:正在写的回复、正在操作的屏幕、别的设备交来的任务、等你回答的审批;默认是「继续运行」,确认退出后会等工作结束([#442](https://github.com/的路由对一遍([#438](https://github.com/nano-muse/nanoMuse/pull/438))。退出(菜单、Ctrl+Q、托盘,或者没有托盘时关掉最后一个窗口)会先问还有什么在进行:正在写的回复、正在操作的屏幕、别的设备交来的任务、等你回答的审批;默认是「继续运行」,确认退出后会等工作结束([/issues/442)](https://github.com/nano-muse/nanoMuse/pull/442),@jiangkaiqi2005)。App 底下断掉的 hub 连接在两次 ping 之间什么都没收到时就丢弃,大约 50 秒,而不是等操作系统花上好几分钟;带密码的端点或连接器地址会被拒绝,跳转时只在端点自己的源内带着 key;`desktop.json` 以 0600 权限写入;host [对表单的拒绝用你的语言说([#452](https://github.com/nano-muse/nanoMuse/pull/452)、[#455](https://github.com/对表单的拒绝用你的语言说([#452](https://github.com/nano-muse/nanoMuse/pull/452)、[/issues/455)](https://github.com/nano-muse/nanoMuse/pull/455))。 - **Windows 版带上了应用内更新需要的文件。** 安装包旁边多了 `latest.yml`(写着安装包的名字和 SHA-512)和安装包的 `.exe.blockmap`,`SHA256SUMS-desktop.txt` 也覆盖它们;在附加任何东西之前,CI 把这一套交给 electron-updater 自己验:它必须找到这个版本、从测试源下载安装包并校验通过([#443](https://github.com/nano-muse/nanoMuse/pull/443),@jiangkaiqi2005,为 [#341](https://github.com/nano-muse/nanoMuse/issues/341))。下载镜像在 `nanomuse.cn/dl/win/` 提供这个更新源,指向三个文件都齐全且校验一致的最新版本,Windows 构建还在跑的时候停留在上一个版本([#454](https://github.com/nano-muse/nanoMuse/pull/454))。Intel Mac 的安装包又能构建了,工作流改为从 npm 安装 pnpm([#444](https://github.com/nano-muse/nanoMuse/pull/444))。 - **运行时有了 DeepSeek Harness,一个地址只对应一个端点。** 运行 `nanomuse serve` 的电脑会在 Cursor、Codex 和 Claude Code 旁边列出 `dsh web` 和 DeepSeek 桌面应用在 `~/.dsh` 下的聊天,能看记录,能用 `dsh --profile headless --json` 往里发消息;Muse 的 `coding_agents` 工具接受 `dsh`,`zstandard` 是新增的依赖([#433](https://github.com/nano-muse/nanoMuse/pull/433),@cutey-none)。在列表里已有的地址上再添加自定义端点会被 409 拒绝并点名占着它的端点,列表一次只改一个请求,改名不再被慢一步的刷新覆盖;`PUT /api/connections/gui` 和 `/hands` [会检查请求体;启动失败的钉钉流会说明原因;失败的更新检查一小时后重试;网页推送的文件从第一个字节起就只有本人可读;抓取的网页在事件循环之外解析;中继的另外两种拒绝读起来是句子([#450](https://github.com/nano-muse/nanoMuse/pull/450)、[#455](https://github.com/会检查请求体;启动失败的钉钉流会说明原因;失败的更新检查一小时后重试;网页推送的文件从第一个字节起就只有本人可读;抓取的网页在事件循环之外解析;中继的另外两种拒绝读起来是句子([#450](https://github.com/nano-muse/nanoMuse/pull/450)、[/issues/455)](https://github.com/nano-muse/nanoMuse/pull/455))。 - **中继的控制台什么都搜得到,停用的账号探不出来。** 「用户」页的搜索能找到手机号或邮箱、账号 id、两种地址、设备名、客户端及其版本、地区、邀请人和邀请码,可以同时搜几个词,旁边有「加入时间」「来源」「版本」三个筛选;任何页面按 `/` 就开始搜索;账号抽屉里的账单和时间线按类别和文字在中继那一侧筛选;「活动」能翻过第一页([#440](https://github.com/nano-muse/nanoMuse/pull/440))。给停用账号要验证码得到的回答和任何人一样是 `204`,`/v1/auth/login` 只对输对的密码说 <[inline_block>3,输错的密码得到的回答和任何错误密码一样([#447](https://github.com/nano-muse/nanoMuse/pull/447)、[#455](https://github.com/inline_block>3,输错的密码得到的回答和任何错误密码一样([#447](https://github.com/nano-muse/nanoMuse/pull/447)、[/issues/455)](https://github.com/nano-muse/nanoMuse/pull/455))。 - **网页控制台的小字看得清,输入框有名字。** *逾期*、*受阻*、*失败* [和设备区标签那几种浅红、浅黄和浅灰在两种主题下都达到了小字所需的对比度;提醒、例行、触发器、目标、记忆、编程、密码和旁聊的输入框会被读屏软件念出用途;操作步骤里的中键点击不再叫右键;权限日志用文字显示审批的范围;带哈希的脚本和样式文件缓存一年([#448](https://github.com/nano-muse/nanoMuse/pull/448))。在中国大陆以外,登录框的示例只是一个邮箱地址,过期的机器人登录会用你的语言说明([#455](https://github.com/和设备区标签那几种浅红、浅黄和浅灰在两种主题下都达到了小字所需的对比度;提醒、例行、触发器、目标、记忆、编程、密码和旁聊的输入框会被读屏软件念出用途;操作步骤里的中键点击不再叫右键;权限日志用文字显示审批的范围;带哈希的脚本和样式文件缓存一年([#448](https://github.com/nano-muse/nanoMuse/pull/448))。在中国大陆以外,登录框的示例只是一个邮箱地址,过期的机器人登录会用你的语言说明([/issues/455)](https://github.com/nano-muse/nanoMuse/pull/455))。 - **Android 的小修。** 带样式的 shell 输出保持完整,终端的颜色和标题控制码在折叠回车之前就去掉了([#429](https://github.com/nano-muse/nanoMuse/pull/429),@Mola-maker);外观里的字号标签说 App 的语言([#431](https://github.com/nano-muse/nanoMuse/pull/431),@Mola-maker);目标整理和缺少图片模型的两段提示词不再拿别的 App 的助手当参照。 - **展示站和项目本身。** nanoMuse Cloud 或图片服务商任何形状的拒绝都原样到达浏览器,而不是变成 500,镜像不再列出下载到一半的包([#446](https://github.com/nano-muse/nanoMuse/pull/446));文档用 nanoMuse 自己的话逐屏描述它,不再拿别的产品当模板([#445](https://github.com/nano-muse/nanoMuse/pull/445));README 的 News 记下了第一千颗星([#439](https://github.com/nano-muse/nanoMuse/pull/439))。 - **TestFlight。** 第 22 个构建(1.0.3)和第 26 个构建(1.0.4)在 2026-10-13 通过了 Apple 的测试版审核,所以公开链接今天装到的是第 26 个构建;1.0.5 以第 28 个构建上传并提交同一审核。审核通过的构建就会给到链接,内部测试员在那之前就能用。 ### 升级说明 - **Android 覆盖安装 1.0.4,数据保留。** `nanoMuse-1.0.5-arm64.apk`(Android 8.0+,arm64;versionCode 48)和之前每个版本用同一把签名。校验:`sha256sum -c nanoMuse-1.0.5-arm64.apk.sha256`。写每日动态的那个对话会从聊天列表里消失,它的帖子留在动态页。 - **iPhone 和 iPad 通过 TestFlight。** 公开链接装到的是第 26 个构建(1.0.4),它和第 22 个一起在 2026-10-13 通过了 Apple 的测试版审核;第 28 个构建(1.0.5)上传后送审,审核通过就给到链接,内部测试员在那之前就能用。 - **桌面安装包由 CI 从 tag `v1.0.5` 构建。** Mac 的包没有经过公证:第一次在「系统设置 → 隐私与安全性」里点「仍要打开」(或右键 → 「打开」)。Windows 的包没有签名:点一次「更多信息」和「仍要运行」。Linux 上优先用 `.deb`;AppImage 需要 FUSE(没有就加 `--appimage-extract-and-run`)。它们比 APK 晚一点到,`SHA256SUMS-desktop.txt` 列出了所有校验值。这是第一个 Windows 资产里带 `latest.yml` 和 `.exe.blockmap` 的版本,也就是 electron-updater 读的文件;桌面端的更新元数据指向 `https://nanomuse.cn/dl/win/`,三个文件齐了镜像就把它指到这个版本,所以 Windows 上的 1.0.5 桌面端可以在应用内升到下一个版本。你的设置留在原处;代理文件 `desktop.json` 下次写入时权限改为 0600。 - **中继是 0.26.0,1.0.4 的客户端对着它照常工作。** 给运维的人:控制台能搜能筛得更细,「活动」能翻过第一页(`/v1/admin/events` 的 `?before=`,账号的 `/ledger` 和 `/events` 的 `?kind=&q=`);`POST /v1/auth/code` 对停用账号也回 `204`,`/v1/auth/login` 只对输对的密码回 `403 account_disabled`;不是数字的 `tokens` 或 `n` 是 `400`;hub 的日志行只带设备 id 的前十二个字符,不带设备名。细节见 [docs/self-hosting.md](https://github.com/nano-muse/nanoMuse/blob/main/docs/zh/self-hosting.md) 和 [cloud/README.md](https://github.com/nano-muse/nanoMuse/blob/main/cloud/README.md)。 - **运行时多了一个依赖,少接受一件事。** `zstandard` 用来读 DeepSeek Harness 的聊天存储,`pip install -e .` 或 Docker 镜像会带上它。在别的端点已占用的地址上再添加自定义端点现在是 409;`config.toml` 里什么都不变,`GET /api/cloud/events` 的 `limit` 取 1 到 200。 - **去哪下载。** | | | |---|---| | 浏览器 | [demo.nanomuse.dev](https://demo.nanomuse.dev/),模拟手机里的一个 nanoMuse,登录后体验;这是演示,下面的应用才是正式版 | | Android 8.0+,arm64 | `nanoMuse-1.0.5-arm64.apk` | | iPhone、iPad | [TestFlight](https://testflight.apple.com/join/ZHexbDqc),通过了 Apple 审核的测试版;链接今天装到第 26 个构建(1.0.4),第 28 个构建(1.0.5)审核通过后即可安装 | | Windows 10+ | `nanoMuse-Desktop-1.0.5-win-x64.exe`(桌面 App,基于 DeepSeek Harness;未签名) | | macOS 12+ | `nanoMuse-Desktop-1.0.5-mac-arm64.dmg` / `-mac-x64.dmg`(或 `.zip`:解压后拖进「应用程序」;未公证) | | Linux x64 | `nanoMuse-Desktop-1.0.5-linux-x64.deb`(优先)/ `.AppImage`(需要 FUSE;没有就加 `--appimage-extract-and-run`)/ `.tar.gz`(解压到任意位置,运行 `./nanomuse-desktop`)| | 已在用 DeepSeek Harness Desktop | `dsh-nanomuse-1.0.5.tgz`,`dsh plugin --profile desktop add …`([怎么装](https://github.com/nano-muse/nanoMuse/blob/main/harness/README.md)) | | Docker | `ghcr.io/nano-muse/nanomuse:1.0.5`(也是 `:latest`),运行时加 8787 端口上的网页控制台 | | 自己的中继 | `bash scripts/self-host.sh`,[docs/self-hosting.md](https://github.com/nano-muse/nanoMuse/blob/main/docs/zh/self-hosting.md) | 实测从国内直接下 GitHub 也不慢;万一下不动,同样的文件十五分钟内会出现在 [nanomuse.cn/dl/v1.0.5/](https://nanomuse.cn/dl/v1.0.5/)。 ### 社区 nanoMuse 开源、免费、非营利。手机号或邮箱登录后有一份起始额度,钱是开发者出的;剩多少、怎么加,账号页里有数。用完可以换成自己的 key,或者用你已经在付费的套餐登录([教程](https://github.com/nano-muse/nanoMuse/blob/main/docs/zh/own-key.md));你加的 key 可以接手四件事里的任何一件,账号也可以作为模型来源关掉,只留着做同步和管设备。登录后,主聊天的文字会保存在 nanoMuse Cloud,让你的几台设备看到同样的对话,旁聊只在你说要的时候才上去;「数据控制」里一个开关就能关掉并删除;数据不卖([隐私政策](https://nanomuse.cn/privacy/));账号想删就删。同一个中继也能跑在你自己的服务器上:[docs/self-hosting.md](https://github.com/nano-muse/nanoMuse/blob/main/docs/zh/self-hosting.md)。 谢谢 @jiangkaiqi2005 做的桌面端退出保护和 Windows [更新源([#442](https://github.com/nano-muse/nanoMuse/pull/442)、[#443](https://github.com/更新源([#442](https://github.com/nano-muse/nanoMuse/pull/442)、[/issues/443)](https://github.com/nano-muse/nanoMuse/pull/443)),谢谢 @cutey-none 把 DeepSeek Harness 带到运行时([#433](https://github.com/nano-muse/nanoMuse/pull/433)),谢谢 @Mola-maker 修的 shell [输出和字号标签([#429](https://github.com/nano-muse/nanoMuse/pull/429)、[#431](https://github.com/输出和字号标签([#429](https://github.com/nano-muse/nanoMuse/pull/429)、[/issues/431)](https://github.com/nano-muse/nanoMuse/pull/431)),也谢谢 @HBSTAR0501、@Kooooooo-G 和 @Yousanflics 报告的 [#[436](https://github.com/nano-muse/nanoMuse/issues/436)、[#441](https://github.com/436](https://github.com/nano-muse/nanoMuse/issues/436)、[/issues/441)](https://github.com/nano-muse/nanoMuse/issues/441) 和 [#435](https://github.com/nano-muse/nanoMuse/issues/435)。[路线图](https://github.com/nano-muse/nanoMuse/blob/main/docs/zh/roadmap.md)写着哪里需要帮手,[docs/parity.md](https://github.com/nano-muse/nanoMuse/blob/main/docs/zh/parity.md) 写着每个客户端有什么。[提 issue](https://github.com/nano-muse/nanoMuse/issues/new/choose) · [发 PR](https://github.com/nano-muse/nanoMuse/blob/main/CONTRIBUTING.md) · [Discussions](https://github.com/nano-muse/nanoMuse/discussions) · [Discord](https://discord.gg/bkTySmm28X) · [点个 Star](https://github.com/nano-muse/nanoMuse);觉得有用,点个 Star,让更多人看到。 基于 [OpenMinis](https://github.com/OpenMinis/OpenMinis) 1.13(GPL-3.0),自 2026-09-24 起修改;本版本的完整对应源码是 tag `v1.0.5` 加子模块 `android/deps/proot`([nano-muse/proot](https://github.com/nano-muse/proot));桌面安装包和 Docker 镜像由 CI 从同一个 tag 构建。整个仓库以 GPL-3.0-or-later 发布。nanoMuse 桌面版原样携带 DeepSeek Harness 及其许可证文件;名字里的 *harness* 是普通词,不是 DeepSeek 的名字。聊天入口照 [nanobot](https://github.com/HKUDS/nanobot) 的设计(MIT);桌面端的操作器移植自 [UI-TARS-desktop](https://github.com/bytedance/UI-TARS-desktop)(Apache-2.0;`THIRD_PARTY_NOTICES.md`)。nanoMuse 与 Meta 无关,Muse 是 Meta Platforms, Inc. 的商标。桌面端照着 Muse 应用用起来的样子做,是用过之后写下来的;里面没有 Meta 的任何素材、代码或内容。
Source: README.md, updated 2026-10-13