一起留名 Lumen Agent Desktop · MIT

把 AI 编程,
摊在一张桌子上。

对话、代码、文件树、终端、笔记与无限画布同时在场。 面板可以拖开、并排、浮起——它干活的过程,你全程看得见。

Windows 桌面端 本地优先 数据不出本机
17 束 ≈ 一烛之微光

十七流明 · IT 微光

a quiet light in it

01 Workspace
二十余个面板 · 四区可拖拽 · 布局随工作区记忆

CLI 给你一条聊天记录,
桌面端给你一整张桌子。

写代码时盯着终端,读报错时对着文件树,查资料时旁边就是笔记—— 不必在窗口之间来回切换,因为该看的东西本来就在同一屏上。

A / 同时在场

不必来回切

聊天、编辑器、文件树、终端、笔记、子代理、计划,可以同屏并排。面板之间的分割线直接拖动即可改变比例。

B / 可以拆开

布局是棵树

四区任意分割,标签可合并成组,面板能浮成卡片、甚至拖成独立窗口再拖回来。退出后原样恢复。

C / 不出本机

本机优先

会话、画布、笔记都存在本地 SQLite 里。真正离开这台机器的,只有你发给模型的那些请求。

工作台示意图:左侧文件树、中央超级桌面、右侧对话、底部终端。左侧条目可切换高亮区域。

~/projects/lumen-agent-desktop LAYOUT: DEFAULT
文件⌘P
▾ src
App.tsx
tokens.css
main.tsx
▾ components
Toolbar.tsx
LayoutRenderer.tsx
▸ desktop
▸ stores
README.md md
package.json json
表格 · 费用统计
项目本月
模型调用124.0
存储36.5
带宽18.2
图表 · 近 5 月
图形 · 发布流程
文本 · 结论
发布流程已收敛为三步。
构建产物进 dist/, 签名后由更新服务下发,旧版本保留两档回滚。
1// 面板定义 · 单一数据源
2export const PANEL_DEFS = [
3  { id: 'editor', title: '编辑器', view: 'monaco' },
4  { id: 'desktop', title: '超级桌面' },
5  { id: 'notes', title: '笔记' },
6]
7 
8// 布局树 = SplitNode | TabGroup
9const layout = split('h', [files, center, chat])
10  .withBottom({ height: 0.24 }, terminal)
发布流程收敛记录
globalrelease2026-11
关联 2 篇 · 已自动保存
对话⌘/
把发布脚本的三步串成一条命令
AGENT ◈ Bash 构建、签名、推清单。旧的去了 dist/,新清单已生成。
▸ 检查更新服务是否收到 manifest…
输入消息… Enter 发送
终端zsh
$ bun run build/build.ts --release
✓ claude.exe · 编译完成
✓ manifest 已写入 dist/release/
点击左侧条目定位区域 中央三张标签可切换 示意图,非真实截图
02 Super Desktop
无限画布 · 九类内容块 · AI 可直接写入

AI 的输出,
不该只是一段对话。

超级桌面是一块无限画布。让它画一张费用表,表格就落在画布上; 让它整理架构,流程图和说明文字会挨着摆好。之后你可以继续拖动、改数、连线—— 那些内容不再是聊完就沉底的消息,而是能继续编辑的东西。

文本TEXT
表格TABLE
图表CHART
流程图GRAPHIC
表单FORM
手绘DRAW
图片IMAGE
文件组FILES
引用REF
03 Plugins & Skills
外壳可以拆开重组

外壳不是产品,
是可以拆的外壳。

插件能贡献新的面板、斜杠命令、后台进程、MCP 工具与钩子; 技能随包分发,装上即出现在模型的可用列表里。不够用就自己写一个, 市场里装、随时卸,卸载会连带清掉它留下的面板与命令。

内置市场里已有浏览器自动化、截屏、鼠标键盘、Office 预览、只读 git 查看、 RSS 阅读、Node 运行时等十余个插件,多数开箱可用。

git-viewer只读查看仓库状态与提交
playwright-mcp浏览器自动化与页面检查
screenshot截屏交给模型看
mouse-keyboard让 AI 操作桌面
office-previewExcel / Word / PPT 预览
pointer在屏幕上画箭头指路
rss-reader订阅源阅读面板
nodejs随包 Node 运行时
gui-manual界面功能手册
doc-metadata抹除文档里的作者与版本信息
config-export配置导出与迁移
computer-use桌面级操作习惯集
MCP · MEMORY

跨会话记忆库。上次为什么这么改、踩过哪个坑,下一个会话仍能查到。

MCP · OFFICE

直接读写 Excel、Word、PPT——改单元格、改段落,而不是生成一份新的。

04 Models
任意 Anthropic 兼容端点 · Profile 一键切换

换模型,
不该换一套工作流。

接入任意 Anthropic 兼容 API。把几套配置存成 Profile, 工具栏里点一下就切换——写脚本用一套,读长文档用另一套,互不干扰。

DeepSeek Qwen MiniMax OpenRouter Anthropic 自建网关
~/.claude/settings.jsonProfile
// 与 CLI 共用同一份配置
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "sk-****",
    "ANTHROPIC_MODEL": "deepseek-chat"
  },
  "gui": {
    "theme": "dark",
    "language": "zh"
  }
}
05 Open Source
没有混淆 · 没有远端校验 · 克隆下来就能编译

桌面端全部代码,
都在这里。

Rust 外壳、React 界面、插件系统、自托管更新服务,一并开放。 两套代码各自独立构建,也能一条命令联合出包。

randomlife/lumen-agent-desktop 桌面客户端 —— Tauri 2 + React + Rust MIT 查看源码 ↗
claude-code-haha CLI 引擎 —— 终端界面、工具系统、技能与 MCP 见仓库说明 在桌面端仓库了解 ↗
Note

桌面客户端以 MIT 协议授权,可自由使用、修改、分发,包括商业用途,只需保留版权与许可声明。

它驱动的 claude CLI 由独立项目提供, 不在本仓库内,遵循其各自的授权口径,不随桌面端一并开放。

本项目与 Anthropic 及 Claude 商标持有方无任何关联,未获其背书。

06 Get Started
Windows 提供安装包 · 其余平台从源码构建
Windows · x64

下载桌面端

安装包内含运行所需组件。首次启动会走一遍设置向导:语言、界面字号、 模型配置、工作区——之后直接进入上次的桌面。

获取安装包
安装包与版本说明见仓库发布页
Other platforms / Build from source
  1. 安装 Bun 1.3+ 与 Rust 工具链
  2. bun install,再进 apps/gui 执行一次
  3. bun run build/build.ts 产出安装包
  4. 若已有 CLI 仓,用 joint.ts 一次出全套

macOS 与 Linux 尚未提供官方安装包,源码构建路径可用。

07 About
十七流明 · 一束安静的光

一起留名

A quiet light in IT.

「流明」是光通量的单位。十七流明不过一支蜡烛的几分之一,照不亮一间屋子; 但如果每个人的一点微光都留在这里,读者就不至于摸黑。

这个站点用来放个人开源项目与零散的 IT 记录。内容会随时间慢慢添补, 不追热点,只留值得留下的东西。

微光一束,于此留名 —— 17LUMEN