Releases: CAMS-NIR/Sundial
Release list
v1.4.0
The session dial, rebuilt.
The dial on each session block
- The context percentage is back in the middle of the ring, and the ring is neutral grey deepening as it fills — the one element on the card with no colour of its own, so the two usage dials and the sun keep theirs.
- State moved to its own track outside the fill, so a travelling comet is never mistaken for the context arc.
- The dial is centred in the block rather than pinned near the top, and the whole thing is smaller: radius 12 → 9.2.
Unread is now a breathing dot in front of the word Unread, next to the thing it qualifies, instead of a mark out on the dial.
The minimise button is in the top-left corner at 14pt — the size AppKit uses for a window's own miniaturise button, with a bar 49% of the diameter long and 8.8% thick, taken from minus.circle.fill in SF Symbols. It beds into the card's 26pt corner the way a traffic light beds into a title bar.
Interface language — English, 简体中文, or follow the system, from the Language submenu. Following the system is the default; choosing explicitly sticks.
Fixes
- The Windows reset-time formatter had an array named
WeekdayZhholding English names, so the Chinese interface printedFri 15:06. - The Windows breakdown's two right-hand columns were packed edge to edge; with the weekday localised,
周五 15:06ran into the percentage beside it. compactReseton macOS was pinned tozh_CNregardless of the interface language.- The demo renderer never set the interface language, so a Chinese Mac produced Chinese GIFs for the English README.
Downloads — Sundial.zip is a signed universal macOS build (Apple Silicon + Intel, macOS 13+); Sundial.exe is a self-contained Windows x64 build needing no .NET runtime. Read INSTALL.txt in each first: neither is notarised, so macOS needs the quarantine flag cleared and Windows will show a SmartScreen warning.
v1.3.0
The interface is now in English. The 1.2.0 binaries still had a Chinese
interface while the README showed English screenshots — this release fixes that
mismatch. The whole repository reads in English now: interface, documentation,
code comments, directory names.
Windows: legibility
The typeface was never named — it was FontFamily.Default, i.e. whatever the
platform happened to pick. On macOS that lands on SF Pro, which is why the
render tests never caught it; on Windows it was undefined, and small text came
out thin and hard to read.
It is now named, with the optical size chosen by point size. Windows 11 ships
Segoe UI Variable in three cuts, and at 9–13pt — nearly all of this interface —
the "Small" cut is the one drawn for legibility at that size. Windows 10 falls
back to Segoe UI.
Secondary text was also made more opaque. This is a platform difference rather
than a preference: the window is transparent, so Windows cannot use ClearType
(subpixel antialiasing needs an opaque background and would produce colour
fringes on a layered window). Greyscale antialiasing draws thinner than Core
Text at the same alpha, so the macOS values looked washed out when copied over.
Also fixed
- Reset times were always in Chinese.
compactResethardcoded thezh_CN
locale, so an English system still printed 「周四 14:00」. The Windows side had
the weekday names as a hardcoded Chinese array. Both now readThu 14:00. - Numbers followed the system locale on Windows, so a German or French
machine renderedContext 823,9k / 1,0M. Pinned to the invariant culture. - A label column that truncated. English is wider:
Weekly · Fableno longer
fitted and becameWeekly · Fa…, losing the one thing that row exists to tell
you. The two number columns had slack, so the label took 15pt back from them.
Repository
History was rewritten to drop 300 MB of working video files. A clone is now
about 7 MB rather than 338 MB. If you cloned before this release, re-clone.
macOS: unzip, drag into Applications, then once:
xattr -dr com.apple.quarantine /Applications/Sundial.app
Windows: SmartScreen will warn — More info → Run anyway. Self-contained; no
.NET needed.
Unofficial personal project, not affiliated with Anthropic. The usage half
depends on an undocumented endpoint and may stop working; the session half reads
local files only and needs no account.
v1.2.0
距上一版 20 个提交。观感和说明书都动了不少。
界面
- 卡片边缘映光:系统玻璃自带的高光很弱,深色下卡片几乎和桌面糊在一起。补了一圈左上亮、右下淡的内描边,跟着展开进度淡入。两个平台都有
- 入睡/醒来不再一帧变灰:原来 15 处硬分支同时瞬切,现在是约 0.7 秒的连续过渡——颜色混合、眼睛把眨眼和入睡合成同一个闭合度、嘴和 zzz 交叉淡入淡出
- 用满了眼睛变 ✖,并显示「还有多久解封」。这一行只在真的到上限时出现,没满的时候它是句废话
- 菜单栏图标可以关(右键菜单)。关掉时连那个 12fps 的旋转计时器一起停
- 光芒停下时归到最近的卡点,空闲姿态唯一确定
修的
- 菜单栏小太阳转反了:桌宠那边是翻转坐标系(正向旋转=顺时针),菜单栏图标画在未翻转的上下文里,同一份
+spin出来就是逆时针。两只太阳朝相反方向转 - 未登录时的幽灵热区:
draw()开头没复位登录按钮的命中矩形,会话块一出现就压在上面——点第二块或想拖窗口会莫名打开浏览器授权页 build.sh不再把产物写死到~/Desktop/Sundial/,改成仓库相对路径
说明书
把几处说过头的话改成实话,都是对着代码逐条核过的:
- 「不读对话正文」——解析器确实会把用户消息正文读进内存做前缀判断(认 Esc 中断和后台任务完成两种标记)。现在如实列出读了哪些字段、哪些会显示出来
- 隐私清单补上会话标题:它不但读,还常驻显示在桌面上,截图投屏时可见
- 登录 scope 是
org:create_api_key user:profile user:inference,照搬 Claude Code 的那套,比「读用量」需要的权限大。取用量本身是 GET,但授权页上批准的范围更大 - CPU:有会话在跑时约占一个核的三分之一(28–37%),不是原来写的「不会一直占」
- 「显示器休眠时完全停下」在 Windows 版不成立,标为已知差距
macOS:解压后拖进「应用程序」,首次打开需去隔离
xattr -dr com.apple.quarantine /Applications/Sundial.app
Windows:SmartScreen 会拦,点「更多信息 → 仍要运行」。自包含,不用装 .NET。
非官方个人项目,与 Anthropic 无关。用量那半边依赖未公开接口,随时可能失效;会话状态那半边只读本地文件,不需要账号。
Sundial 1.1.0
桌面上的一只小太阳,显示 Claude Code 的会话状态与用量限额。
下载
- macOS(13+,Intel 与 Apple 芯片通用)→
Sundial-1.1.0-macOS.zip
首次打开需去掉隔离属性:xattr -dr com.apple.quarantine /Applications/Sundial.app - Windows(10/11 64 位)→
Sundial-1.1.0-Windows-x64.exe
自包含,不用装 .NET。首次打开 SmartScreen 会拦一下,点「更多信息 → 仍要运行」。
不需要订阅也能用
会话状态、上下文占用读的是本地文件,装上就能看。
只有两个用量圈需要 Claude Max / Pro——没有订阅的话授权页会直接拒绝,跳过登录即可。
这一版的主要改动
- 未登录时不再只显示登录提示,会话状态照常工作
- 版本号统一到仓库根的 VERSION,两个 App 的菜单最上面都显示自己的版本
- 状态栏/托盘图标换成会转的小太阳
- 空闲时不画卡片底,只剩一颗太阳
- 修复:等待输入时玻璃不变色、会话块顺序冻结、后台跑完仍显示「无响应」、
Windows 托盘左键会把窗口瞬移、「降低透明度」时多出一个灰圆盘等 8 项