版本发布记录
v0.146.0 (2026-08-31)
新功能
- 桌面应用有标签页了。 主窗口顶部有一条标签条 —— 超过一个标签才出现,单个标签不占地方。点击切换,中键关闭,活动标签带一个标记而不只是换个颜色。开多了先压缩(完整 → 紧凑 → 只剩图标),再在条内横向滚动,不会溢出窗口。标签列表和你停在哪个标签会在重启后恢复,地址栏与活动标签始终双向镜像。
- 桌面快捷键。
Cmd/Ctrl+T开新标签,Ctrl+Tab(加Shift反向)循环,Cmd/Ctrl+1..9跳到第 N 个、9 表示最后一个。Cmd/Ctrl+W在标签多于一个时关标签,否则关窗口 —— 没有标签条的那些窗口(workspace 终端、sticker、悬浮预览、Alfred 面板)照旧关窗,行为一字未变。 - 标签右键 →「移到新窗口」。 该标签变成一个真的系统窗口,并从标签条上消失。
- 命令面板新增
/tabs:列出本窗口的全部标签,按标题和路径搜。你当前所在的那个标签照样列出并标current;选它只是收起面板,不会假装跳转。 与/windows并列。 - 日历可以把 agent 会话画出来。 一个只读开关,把每条会话按它真实的起止时间铺到时间轴上。已经结束的会话照样画,⛔ 不是只画还在跑的 —— 还在跑的那条延伸到当前时刻的红线,并且和已结束的在视觉上分得开。点一条会话可以跳到它挂的那张卡。只在 Day / Week 两个视图提供;Week 一列太窄放不下名字,所以那里的色块保留位置、去掉标签 —— 「什么时候忙、什么时候空、几条并行」才是把会话放上日历的理由,读不到时间比读不到名字严重。
改进
- 桌面上
cmd/ctrl+点击和中键点应用内链接,现在开的是一个后台标签,而不是系统窗口 —— 页面在你身后打开,焦点不动。shift+cmd/ctrl+点击仍然开真窗口,那是逃生门。web 端一字未变。 - 应用里那些「在新标签打开」的按钮改为开应用内标签 —— 但当你要开的就是你正站着的这一页时,它改开一个真窗口。标签按路径去重,否则的话它只会聚焦你已经在的那个标签,表现出来就是「按了没反应」。和
cmd+点击不同,这些按钮会切换过去。 - explorer 里删除,现在只对删不回来的东西确认。 只选中任务时直接删,因为任务删了还能恢复;选中里含资源文件或 dataflow 图仍然会问,因为那两种是永久的 —— 图的历史记录也一并没了。
- dataflow 图里折叠起来的 note 不再把连线留在画布上。 把鼠标移到任意一端,连线和 note 的内容会一起淡回来。只读预览也不再在 hover 时画出连接手柄。
ud-pull-push是一个内置 skill,而这一版正是它开始存在的那一版。 内置 skill 靠go:embed编进二进制、没有热更新,所以在这之前ud describe skill ud-pull-push一直返回SKILL_NOT_FOUND。它讲的是 tracking folder 那套流程,以及哪些本地删除是永久的:删一个任务.md是软删除,还能恢复;删一个 note 文件或资源文件⛔ 没有撤销、也没有ud restore可用。- 任务详情页那两个「在新标签打开」按钮补上了可访问名字,读屏不再只念「按钮」。
问题修复
- 中键点应用内链接此前根本不生效,全平台都是。 中键按下触发的是
auxclick,而处理器绑的是click,那个分支一直是死的。现在生效了 —— 同时右键被显式挡住,不会再出现「想开右键菜单却被导航走」。
升级说明(自部署)
- 这一版没有新增数据库迁移,也没有新增环境变量。
goose_db_version停在 v0.145.0 留下的 82 不动。 - 标签页是有意只做桌面端的。 web 端不受这一版标签页工作的任何影响:
Cmd+T/Cmd+W归浏览器所有,页面抢不回来,再做一遍只会得到一个更差版本的浏览器标签页。 - 从源码构建全家桶镜像仍然需要把
ud-dataflow-diagram检出在主仓库旁边,按ud-vite-app/ud-dataflow-diagram.lock里记的 commit —— 这一版把它往前推了。直接拉已发布的镜像不需要做任何事。
v0.145.0 (2026-08-31)
新功能
- 日历,照着 Google Calendar 的用法做的。 周 / 日 / 月三种视图,画的就是你已有的任务——
kickoff是开始、deadline是结束,不需要新存任何东西。在空白处拖一下就新建任务,拖动色块就移动它,拖它的边就改它占多长时间。 点一下弹出 peek 看详情;t回到今天,j/k前后翻,d/w/m切视图,还有一条跟着当前时间走的红线。 - 左边那一栏是图层,而一个图层就是一条保存的查询。 每个图层各自取数、各自有颜色,所以「我的任务」「这个 sprint」和你自己写的任何一条查询都能单独开关。用
+就地新建和编辑图层。这一栏可以折叠,而且它记得你折叠过。 - 快速创建框能找到你已经有的任务。 画好时间段后在框里打字,它会搜你现有的任务——选中一个,它就占住你画的那个格子,而不是再建一条重复的。
- 手机上日历是一个 agenda 列表,带 Agenda/Day 头部和同样的
+快速创建。 - 不用离开日历就能改任务的标题和描述 —— peek 里的 Open task 旁边多了一个按钮,点开右侧抽屉直接改。
- peek 的状态控件改成了分体按钮。 Mark done / Mark todo 还在原来的位置;另外五个状态收在旁边的菜单里。
改进
- 任务详情侧栏会显示这张卡的虚拟路径,不用打开 explorer 就知道任务在哪儿。
- 甘特图现在能显示看板上的全部任务。 它要 200 条,而仓储层只给了 100 条并且不吭声,所以超过 100 条的看板被安静地截断了。现在它会翻页。
- 构建全家桶镜像现在需要第二个仓库。(自建用户,见下)
问题修复
- 有时间的任务不会再被画到离你设的时间好几个小时之外。 在 PostgreSQL 上,
kickoff和deadline存进了一个装不下时区的列里,存的只是墙上时钟的数字:设成 09:00+08:00 的任务读回来变成 09:00Z——比真实时刻晚了八小时;而设成 09:00-05:00 的读回来是同一个 09:00Z。于是日历上每一个有时间的任务都偏了写入方的时区差。现在在所有写入路径共用的那一个入口上统一归一成 UTC 时刻。SQLite 实例从来没受影响。 - Reveal 和移动不会再在某些任务上静默失效。 从 explorer 抄进任务缓存的路径当时是原样照抄而不是翻译,导致两边对「任务在哪儿」的说法对不上。
- 已删除用户的会话不能再换出新凭据。 刷新时,如果这个主体在 users 表里已经没有行了,就不再签发 token。
- 日历的编辑抽屉一定关得掉 —— 现在有三条出路 —— 页面底部也不再多出一条空白。
升级说明(自建部署)
- 没有新增数据库迁移,也没有新增环境变量。
- 这一版之前写入的
kickoff/deadline保持原样不动。 这个修复改的是从现在起怎么存,它不会回头改写历史数据,这是有意的决定。如果你用的是 PostgreSQL,发现某个旧任务在日历上时间不对,把那个任务的日期重新存一次就正了。只影响 PostgreSQL——SQLite 实例从来没有这个偏差。 - 从源码构建全家桶镜像现在需要第二个仓库。 dataflow 编辑器已经拆到独立仓库
ud-dataflow-diagram,通过 Vite 别名以源码方式引用,镜像构建时要求它按ud-dataflow-diagram.lock里记的 commit 检出在主仓库旁边。直接拉已发布的镜像不需要做任何事 —— 这条只影响自己构建镜像的人。
v0.144.0 (2026-08-30)
新功能
- 运行环境页拆成三个标签页:Agent CLI / Prompts / Daemons。 原来五块内容堆在一页上,现在按你要找的东西分开。每个
section的锚点原样保留 —— 改名会让旧链接静默落到别处,所以一个都没动;哪个 section 属于哪个标签页由一份数据说了算,并且有测试盯着「链接指的那个标签页里真的有那个 section」。 - 在数据流图里点任何一个节点,直接连在它身上的连线会亮起来。 用的就是字段行已有的那套高亮,不是第二套 —— 同一个 7 色轮换,颜色、线宽、虚线、阴影一个常量都没有复制。节点选中和字段选中可以同时存在。
- 能把删掉的默认 agent 重新加回来了。 这个动作先前不可能成功:改过名的 agent 仍然带着旧的
builtin_key,新建一份会撞唯一索引,而代码把撞索引读成「别人已经建好了」并返回成功 —— 按钮什么也不做、什么也不说。
改进
- 「查看差异」弹窗里的选项预设,现在读起来是人话,不是 JSON。 原来那一栏直接摊出
{"label":"Opus","args":"--model opus"},旁边却是一份中文写的 prompt 差异。现在是Opus — --model opus,一行一条(原来逗号连起来,不同选项的两半会串在一起),「复制我的版本」复制的也是这个可读形式。解析不了的原样显示 —— 在一个「点下去没有撤销」的动作前面,难看胜过看不见。 - 给 agent 改名时,如果你正在取用某个系统默认的名字,当场就会告诉你。 并且它说的是你刚打进去的那个名字,不是这个 agent 原来的名字(原来两个方向都传原名,类型检查通过,而且理直气壮地说错)。
- 系统给你播种的那几个 agent CLI 行现在是私有的。 它们原来会挂进你的第一个 group 并设成只读分享,结果是每个队友九行,落进其他所有人的「共享给我」里,而且每被别人采纳一次就再复制一份出来。
问题修复
- 改了 CLI 的名字之后,你设的账号默认不会再静默失效。 那个偏好原来存的是名字,改名之后后端按 id 找不到、按名字也找不到,默认就没了。现在存的是那一行本身。
- agent 详情页现在能说出「你给它选的 CLI 已经不存在了」。 这个信号一直存在,也一直被写在文档里,但从来没有被
GET /agents/:id带出来过 —— 而且它是omitempty的,缺失看起来和「这个 agent 没设 CLI」一模一样,所以什么都不会报红。 - 改过名的 agent 不会再保留它名字已经放弃的那些权限。 root-orchestrator 名册和 Alfred 状态卡原来读的是那个不随改名移动的
builtin_key。
这一版里还有 —— agent CLI 名册那一批
这些是 v0.143.0 发出去之后才落到 main 上的,到这一版才第一次到达用户。
- agent CLI 只有一份名册了。 在设置里加的 CLI 原来是写进浏览器
localStorage的,带一个后端从来没见过的 id:只有 Electron 那个一次性选择器能手动跑它,而真正要紧的地方全都看不见它 —— agent 表单的「Runs with」、@mention 派发、daemon 探测。界面说「已添加」,意思其实是「添加到这个浏览器了」。 现在设置写的是服务端目录,并且有一块迁移区把每一条遗留的本地行一键变成真正的目录行 —— 不自动上传,也不静默丢弃。 - 每个 CLI 选择器都能就地加一个 CLI。 选择器都是从一个没保存的草稿里点开的(agent 表单、运行对话框、看板设置),所以「先去加一个再回来」原来的代价是丢掉草稿。现在每个选择器最后都有 「+ 添加 CLI…」,就地打开目录对话框并自动选中它新建的那一行;**「管理 CLI…」**保留给更少见的编辑/删除/采纳。agent 表单在此之前根本没有出口。
- 把默认 CLI 删光之后有路回来了。
POST /agent-clis/defaults/fill-missing会把你缺的那些补回来。它只创建、从不覆盖:你已经有同名行的 slug 会被跳过 —— 不管那行是原样的、改过的,还是你自己从头写的;要把一个已有的行退回默认,路径是差异页,那里会先告诉你会失去什么。你改名改走了的那个 slug 会被补回来,而你改过名的那一行原封不动 —— 那一行是你主动退出的,两者可以并存。 - 你的副本现在能看见它偏离了什么。 模板字段下面一行状态,后面挂一个差异页,可以还原。而且名字终于可以改了 —— 改名是这套设计的退出开关,而它原来根本够不着:agent 名字输入框在编辑时是禁用的,CLI 编辑对话框压根没有 slug 这一栏,而服务端两边都是允许的。差异页遵守两条规则:在不可逆的动作之前告诉你会失去什么(不是之后),以及因为没有撤销,按钮旁边就摆着「复制我的版本」。
- 删一个 CLI 之前能先看见会影响什么 ——
GET /agent-clis/:id/references列出指着它的东西。 - agent 页面不会再报一个谁也解析不出来的 CLI 名字。 回落行为本身没有变 —— 悬空的 CLI 仍然沿着「账号默认 → 内置启动命令」这条梯子降下去 —— 但原来「跑在内置默认上」和「跑在你指定的那个 CLI 上」在界面上长得一模一样。而且队友打开你的 agent 时,看到的是你这次启动会发生什么;按读者自己的作用域去解析会凭空造出一个并不存在的故障。
- 队友派发你的 agent 时,CLI 按你的作用域解析,不是按他的。
- 运行对话框里那个默认 CLI 标签不会再写上一个没人选过的 CLI,并且那把「内置」小锁没了 —— 它宣传的是一条从来不存在的限制。
- 给 agent 改名不会再让它的定时唤醒静默失效(上面的迁移
00080)。原来任务里存的是名字,改名之后它用到的那一刻就解析不出来了,然后每一次触发都失败,而任何界面上都没有一句话说明为什么。 - 指向运行环境配置的链接现在真的指向运行环境页。 六条里有四条指着
/workspaces,而那些配置 2026-08-21 就搬走了;/agents/runtime的各个区块现在有了名字,链接才能指到其中一个。 ud不再问「哪些行是内置的」,改问「哪些行和某个默认同名」 —— 和网页界面用的是同一条规则。
升级说明(自部署)
⚠️ 升级前请先备份数据库。 这一版有四条新的数据库迁移(00079–00082,sqlite 与 postgres 各一份),启动时自动执行,把 goose_db_version 从 78 推到 82。其中三条会改写已有数据:
00079_privatize_seeded_agent_clis—— 把名字在九个已知 slug 内(claude/codex/aider/opencode/gemini/copilot/qwen/kimi/pi)且不属于遗留 system 目录的agent_clis行的group_id与sharing清空。用户看得见的后果:这些行会从别人的「共享给我」里消失。 原值存在备份表agent_cli_privatize_backup_00079里,Down能按原值还原。00080_wake_payload_agent_id—— 把wake_agent_session类定时任务 payload 里的 agent 名字改写成 agent 的 user id,这样改名之后定时任务不会静默失效。原 payload 存在wake_payload_agent_backup_00080里,Down能还原。指向已被改名或删除的 agent 的任务不在改写范围内 —— 没有东西能把它解析出来,猜一个会把「明着失败」变成「唤醒了错的 agent」。00081_drop_agent_cli_builtin—— 删掉遗留的owner_id='system'目录行和agent_clis.builtin列。它不是一句DROP:先把仍然指着 system 行的agent_configs重指到该 owner 自己的同名行,然后才删。重指不到的故意留成悬空,在 agent 页面上显示成「这个 agent 设定要跑的 CLI 已经不存在了」 —— 那是你看得见、能处理的,而清空会把你做过的选择静默改写掉、不留痕迹。00082_drop_agent_builtin_key—— 删掉agent_configs.builtin_key列。判断一行是不是某个系统默认的副本,现在只看名字,改名就是退出的方式。
🔴 回滚不是对称的 —— 哪两条能退、哪两条退不回来:
| 迁移 | 可逆性 |
|---|---|
00079 privatize | ✅ 有备份表 agent_cli_privatize_backup_00079,Down 按原值还原 |
00080 wake payload | ✅ 有备份表 wake_payload_agent_backup_00080,Down 还原 |
00081 重指 | 🔴 就地 UPDATE,Down 不还原指向关系 |
00082 drop builtin_key | 🔴 Down 只还原列的形状不还原值;没改过名的能从名字推回,改过名的永久丢失 |
00081的Down能还原表结构和 system 行的内容,但还不原「哪个agent_config原来指向哪一行」 —— 重指是就地UPDATE,覆盖之后那个事实哪儿都不存在了。00082的Down只把列加回来,是空的。一个错的builtin_key比没有更糟,因为读它的代码把它当权威。
⇒ 所以升级前那份数据库快照不是保险,是唯一的退路。
没有新增环境变量。
⚠️ CLI 要你自己升:npm i -g @oatnil/ud。 没有任何东西会替你升级它。
v0.143.0 (2026-08-29)
新功能
ud config onboarding—— CLI 自己拥有了这份配置清单。 一条命令把每一项没配好的东西列成一行检查项,每行带上修好它的那条next_command,--json可机读。它从不交互提问,所以 coding agent 可以自己跑、按行处理、再跑一遍,直到退出码 0。标了requires_human的那些行 —— 首先是要输密码的ud login—— 会交还给你,而不是替你跑掉。- 不会再有任何东西把你指向一台你没选过的服务器。 在一台还没配置过的机器上,登录命令现在写的是
ud login --api-url <YOUR-SERVER-URL>—— 一个必须有人填的、看得见的空,而不是默默写上我们自己托管的那台后端。自己跑服务器才是正常路径;我们托管的那台是给人试用的测试服务器,现在每一处提到它的地方都会这么说。
问题修复
- 原来那条建议的登录地址是 404。 旧的默认值是
https://ud.oatnil.com,那个域名服务的是网页应用,不是 API,所以ud login打过去会以status 404失败。这个默认值已经删掉了。 - 从工作台启动的 agent 现在会带上自己的参数。 选项下拉里挑的模型参数,只有通过 @mention 启动时才会到达 daemon;走「以 agent 身份运行」这条路时它被静默丢掉了。现在两个入口产出的启动命令逐字节一致。
- 预设参数变体在每个显示面上的顺序统一了 —— API 返回、网页界面、
ud describe全部按 label 排序,下拉框和 CLI 不会再对「谁排第一」各说各话。 - 「没有检测到 agent CLI」那块面板不再说一件不成立的事。 会话并不需要一个被检测到的 CLI:派发根本不看探测结果,一行指向未检测命令的配置照样能跑。面板现在把这件事说清楚,并链到运行时页面上的「你的 agent CLI」。
- daemon 离线的回执会告诉你该去哪。 它带上了指向「机器」页面的链接,用触发者自己的语言书写,并且不再暗示一台从未注册过的机器只要启动一下 app 就会重新连上。
- 删掉遗留的内置 CLI 行,不会再把安装列表或桌面端探测清空 —— 两处现在都按「这行能做什么」来选,而不是按已废弃的
builtin标志。
桌面端
- app 打开的每一个窗口都有页内查找(任务弹窗、编辑器、便签、浮动查看器),不再只有主窗口有。
- 查找栏的三个修复:打字会返回结果,而不是把框留在一排掩码点上;回车走到下一个匹配,而不是永远绕回第 1 个;把窗口缩小不会再把关闭按钮从末端裁掉。
- 会话状态那个词又能聚焦它的窗口了,聚焦不了的时候会说明原因,而不是点了没反应。
升级说明(自部署)
⚠️ 升级前请先备份数据库。 这一版有一条新的数据库迁移(00078_agent_cli_extra_options,sqlite 与 postgres 各一份),启动时自动执行,把 goose_db_version 从 77 推到 78。它对 agent_clis 做三件事:
- 新增
extra_options列 —— 纯新增,默认为空; - 对新唯一性规则下会冲突的行改名,做法是把行 id 的前 8 个字符接在名字后面。这一步不可逆 —— 原来的名字没有任何地方留底;
- 把唯一索引
idx_agent_clis_group_name换成idx_agent_clis_owner_name,agent CLI 的名字从「每个 group 内唯一」变成「每个 owner 内唯一」。
第 2 步只动那些 (owner_id, name) 相同的重复行。我们升级的两台实例上它改名 0 行 —— 但那是关于我们数据的事实,不是对你的数据的承诺,所以备份要排在前面。回滚也不是对称的:goose down 会把旧索引建成非唯一的,不会把改过的名字改回来,而且会把 extra_options 列连同里面存的东西一起删掉。
没有新增环境变量。
2026-08-29 更正:这一节最初发出去时写的是「没有新增环境变量。没有新增数据库迁移。」后半句是错的 ——
00078确实会跑。如果你已经没备份就升了,要看的是上面第 2 点。
⚠️ CLI 要你自己升:npm i -g @oatnil/ud。 没有任何东西会替你升级它,而且 ud config onboarding 从这一版才开始存在 —— 更旧的 CLI 会回一个「未知命令」的错误。
UnderControl 的版本更新历史和新功能介绍。
版本号说明
UnderControl 采用语义化版本号(格式:主版本号.次版本号.修订号),例如 v0.19.0:
- 主版本号 0:表示开发版本,API 和功能可能会有较大变动
- 次版本号(如 0.19.0):增加新功能、重大改进或包含破坏性变更时递增
- 修订号(如 0.19.0):修复 bug、小优化等向后兼容的改进时递增
v0.142.0 (2026-08-27)
新功能
- 图有了自己的页面。 从资源树或任务卡上打开一张图,落到一个只负责把它画出来的详情页。编辑是刻意的第二次点击,会在新标签页里打开编辑器。
- 画布跟着触控板走。 双指滚动平移画布,捏合缩放。普通滚轮是平移;缩放挪到了捏合、修饰键+滚轮,以及画面上的控件。
改进
- 不写坐标的图会自己排版。 默认从左到右(
direction: TB让文档退回自上而下),每层的间距按那层最高的节点算,没有坐标的节点落在它连着的邻居旁边,而不是落到原点。 - 节点宽度跟着它必须装下的文字走 —— 不换行的一行会把收缩节点撑过最小宽度,没样式的便签按最长那行内容量,折叠的便签或资源按它 32px 的方块量。
- 文档里没写的连线端点,由两端的相对几何求解;你自己写了的那个,永远不会被改写。
- 选中连线时才显示端点,并且画在节点之上,让端点抢到属于自己的像素、真的能抓住。节点和字段上的把手保留原来的悬停反馈。
- 重连一根管子会保留它的 id,所以它的数据和撤销历史都跟着走。
- 管子菜单在你点的位置打开,并被夹在视口里。
- 标签会换行,而不是消失。 连线标签不再被钉死在路径中点,会先换行再截断;图标标题最多折三行,让共用前缀的名字不再长得一模一样;过长的字段值由 CSS 在 200px 处切,而不是由一个 CSS 根本看不见的 10 字符切片来切。拖动标签提交的是指针实际走到的位置,不是上一帧渲染看到的位置。
- 折叠节点的把手和连线,锚在你看得见的那个方块上,而不是它折叠前的尺寸。
- 文档自带的 id 能活过打开、合并、保存 —— 只有真的撞号才会重新分配。
图的格式收敛成一种
完整 graph JSON 现在是 spec.data 唯一可用的格式。 节点带 type 和 data(外加可选的 id、position、style),连线引用节点 id;position 是可选的,全都不写就把排版交给编辑器。
两个退役方言 —— simplified(节点带顶层 name 和 fields)与 architecture(顶层 groups 数组)—— 现在会在 ud apply 时按 shape 当场拒收。 报错会说清它看到的是哪一种、正确格式写在哪、以及如果你手上的副本还在教旧的就去升级 CLI。内置的 generate-dataflow skill 现在只教这一种格式。
问题修复
- 把任务移到「未归档」现在能通过 HTTP 表达了。 「未归档」和「钉在顶层」自 2026-05-27 起被压成了同一个存储值,导致「显式根」根本没有载体,资源树的根目录里塞着所有没人归档的任务。现在它们分别是
""和/,指的是不同的地方。 - 重命名路径前缀在 PostgreSQL 上从来没生效过。 已修 —— 在 PG 上移动文件夹是静默无操作。
- daemon 的事件流不再丢失被网络分块切开的帧。
- agent 会话的 init 看门狗,不再去指责一台它根本没检查过的机器。
- 运行时页面不再声称服务端放不下自定义 CLI。
- 资源检查器读的层级下移了一级,页头也不再大喊大叫。
升级说明(自部署)
🔴 ud CLI 要和服务端同时升,不能之后再补。 这一版的服务端会在 apply 时拒收两个退役方言。比这一版旧的 CLI 里,内置 skill 还在教其中一种 —— 所以跑着旧 CLI 的 agent 会开始被拒,而它手上的教材还在叫它写那个被拒的形状。
⚠️ 如果你的 CLI 是从 npm 装的,没有任何东西会替你升级它。 请自己跑 npm i -g @oatnil/ud。在你升级之前,拒收一直存在 —— 这个残留窗口是真的,不是理论上的。
🔴 但报错不会叫你去升级。 服务端为这一刻专门写了分方言的引导文字(说明看到的是哪个方言、并叫你升级 CLI),但 web 层发出去的是错误码的静态默认文案,不是那段文字 —— 你实际收到的是泛化的那句 Diagram content uses a retired format; the only accepted format is the full graph JSON。它识别出的方言仍然在,在响应的 details.dialect 字段里。如果你的 agent 开始被拒,这一段就是那条报错本该给它的引导。
⚠️ ud explain dataflow.spec.data 里仍然查不到「完整 JSON 是唯一格式」这句。 那段 schema 文字在一个独立仓库里,没有随这一版发出去,所以 schema 这条路对它是沉默的:服务端会执法,schema 不会预先警告你。 agent 的另一条路 —— ud describe skill generate-dataflow —— 是对的,只教一种格式。这两条是不同的来源,这一版只动了其中一条。
没有新增环境变量。没有新增数据库迁移。
已知限制 / 已知变差
这一版是带着下面这些问题发出去的,是有意的。
- AI 生成完整格式这条路从未实测 —— 开发机上没有配 AI provider,所以它是没有量过的。
- 两项排版指标变差了:线穿节点从 2 变成 3,标签互相压住从 10 变成 14。层内排序和标签避让都没做。
- 深度缩小时抓不住连线端点。 抓取半径按 flow 单位算,不随屏幕缩放。
- 真触控板双指平移、以及中键/右键拖动平移,仍然未验。 只有真人在真实硬件上才能验,两条都还开着。
- 你拖好并保存的布局,会被 agent 的下一次
ud apply静默丢弃。 这是有意的决定:不加闸,也不做合并。 上一版仍留在这张图的历史里。
v0.141.0 (2026-08-23)
新功能
- 文件在
ud命令行里成为一等公民。 文件现在是kind: File文档,和其他资源一样有get/describe/apply/delete。上传用ud apply配--content-file <路径>—— 路径只是命令行参数,不进文档,所以同一份 manifest 换台机器照样能用。 - 换掉一个文件的字节,被换掉的那份会留下来。 替换会先把新内容写到新位置,确认落好之后才把文件切过去,再把旧位置记进历史。绝不原地覆盖 —— 所以替换中途出问题,也毁不掉你原来那一版。
- 文件有内容历史。 你换掉过的每一版都列在文件页上。历史记的是每一版旧内容存在哪里,而不是再存一份字节。
改进
- 资源详情页重新整理过。 页头说清这是什么,页面上也写明这个文件占了你多少存储。
- 存起来的图会显示图本身,和编辑器用的是同一套渲染,不再是一个占位图。
- 只读的图不再摆出那些根本存不下去的编辑按钮。
- app 里又可以新建数据流图了 —— 上个版本里这个入口被临时藏起来过,现在放回来了。
问题修复
- 资源详情面板里那两行编出来的值没有了。 「存储」那一行在任何实例上都显示
s3-us-east-1,不管文件实际存在哪 —— 连存在本地磁盘的实例也这么显示;「上传者」则不管是谁传的都写「You」。现在这两行要么显示真值,要么整行不显示。这种错最容易骗人:它长得像一个正经的值,所以没人会想到去怀疑它。 - 查找失败不再报成「没有这个文件」。
ud describe resource在只是没能问成的时候回答Resource not found,害人去找一个其实一直都在的文件。 - 文件历史会把「没能读到」和「本来就没有历史」分开。 以前这两种情况都渲染成同一个空列表。
- 删掉了详情页上一个从来没进过任何构建的统计块。
升级说明(自部署)
- 一条新的数据库迁移(
00077,建resource_content_histories表)。启动时自动执行,SQLite 与 PostgreSQL 都有,只新建一张表,不动任何既有表。本次发版是真的拿一个 v0.140.0 的库原地升上来验的:表会出现,既有数据一行没变。没有新增环境变量。 - 🔴 你换掉过的旧版本要算进存储用量。 旧版本的对象还存着,所以那仍然是你的字节 —— 一个文件换过两次,三个版本都占着。⚠️ 本次没有删除旧版本的办法,所以如果你在意用量,替换请谨慎。
- dataflow schema 里的
dataFile已删除。 图的内容本来就该内联在data里。manifest 里还写着这个字段的,请去掉。
已知限制(本次没做)
- 🔴 详情页的触屏行为没有在真机上验过。 代码是在的 —— 粗指针下「改名」入口常驻,不再藏在长按后面 —— 但模拟器里点击不落地,所以这一支是带着「真机未验」发出去的。 本次其余内容在 macOS 与浏览器上验过。
- 旧的文件版本删不掉 —— 内容历史只增不减,而且计入用量。
v0.140.0 (2026-08-23)
新功能
- 数据流图成为一等公民 —— 在 app 里新建 / 编辑的图,从此存进它自己的地方,不再是资源里的一个文件。图进资源浏览器的树,和任务、资源并列,重命名、移动、删除都按它自己的方式走;也可以挂到任务上,在任务详情的附件区上方单独一列(图有名字,但没有文件大小和文件类型,所以不混进附件列表)。
- 图有版本历史,并且可以回滚。 回滚是把那一版当作一次新的保存写回去 —— 中间的版本不会被抹掉,被替换的那一版进历史。
- 分享一张图时,图里引用的图片跟着可见 —— 且只在这张图里可见。 取消分享后对方立刻看不到;该图片在别处(比如仍挂在你的私有任务上)的可见性一个字节都没有变。
ud命令行可以直接读写图 ——ud apply认kind: Dataflow,新建和更新用同一份文档。身份是「所有者 + 路径 + 名字」,所以同一份文件改一笔再 apply 就更新同一张图,不会多出一张;原样再 apply 一次则什么都不写。另有ud get / describe / delete dataflow、ud describe dataflow <id> --history看版本(并直接说明每一版还能不能回滚),以及ud describe dataflow <id> -o apply导出 —— 导出的文档带图本身,可以直接管道回ud apply,真的能往返。
改进
- 图的保存产物从 PNG 变成图的 JSON 本身。 同一张图从约 22 KB 降到约 1.9 KB。「导出 PNG」按钮不变,那里仍然是真画面抓取。
- 🔴 你已有的图在下次保存后,文件名会从
.dataflow.png变成.dataflow.json,内容不变。 打开、编辑、重开都正常。⚠️ 本地已经ud pull过的目录,文件名不会自动跟着变 —— 本地还叫.dataflow.png不代表改名没生效、也不代表文件坏了,文件是好的,只是名字旧;pull 到干净目录拿到的就是新名字。既有的.dataflow.png永远还能打开,不需要你做任何迁移。 - 图不占存储配额 —— 配额算的是对象存储的账,而图存在数据库里。代价是这块占用在原来两个用量数字里看不见,所以管理员的存储页新增「图表字节」一列(含历史版本),超过 1 GiB 的所有者会被标出来。这一列不并进总字节数。
- 原样再保存一次不会产生任何写入 —— 修改时间不动,也不会多长一条历史。
- 图里的图片读不到时,节点会写明原因(「图片已删除」/「图片不可访问」/「无法预览」/「图片加载失败」并可重试),不再是静默的空白。
- 服务端启动横幅现在报的是实际生效的存储,而不是环境变量要求的那个,并在两者不一致时报一条差异告警。自建实例据此可以一眼看出「我配的」和「真正在用的」是不是同一个。
变更(会影响现有用法)
- 图里不再允许内联图片。 任何
data:URI 一律拒绝(不看大小),图片必须先上传成资源,再在图里以resource://<id>引用。单个版本上限 1 MiB。 - 迁移前建的老图仍然从资源里打开(资源页与预览页会显式标明),新建的图走新的地方。这是一次发版的过渡态,不是长期两套。
问题修复
- 在编辑器里改一笔
.dataflow.json再重开,画布会变成空白 —— 而且没有任何报错。 成因是文件名和文件内容由两处分别决定,可能各说各话;现在由同一处决定,不会再分家。 - 放在文件夹里的图没法用
ud apply更新。 建图时文件夹被存成规范形态,而按键查询比的是你写的原样字符串,查不到刚写的那一行,于是 apply 掉进「新建」并被唯一性拒绝。根目录的图不受影响。 - 原样再
ud apply一次会顶走修改时间。 之前把「字段出现在文档里」当成了「字段变了」,每次都会发一条更新。 - 以「只读」分享出去的图,组成员可以改写内容、可以改名,改动会落库。 现在写入是所有者独占的,读仍然按分享范围 —— 被分享的人拿到的是明确的拒绝,而不是「找不到」。
升级说明(自部署)
本次前端、后端、ud CLI 必须一起升级。 只升后端而前端还是旧的,人在 app 里编辑的和 agent 通过 CLI 写的会落在两个不同的地方,两边都以为自己是对的。
有两条新的数据库迁移(00075 建图与历史两张表,00076 建图与任务的关联表),启动时自动执行,goose_db_version 由 74 前进到 76。两条都只新建表,不动任何既有表,SQLite 与 PostgreSQL 都已验过。没有新增环境变量。
🔴 升级后请重新登录一次。 本次新增了图的四条权限,它们已经补进默认角色,但你手上已经签发的登录令牌和 agent token 里没有 —— 不重新登录或刷新令牌,所有对图的请求都会被拒。
另外附带一个运维命令 migrate-dataflows,用于把资源里的老图搬进新表(只复制,不删除,可以重复执行)。⚠️ 目前它在 PostgreSQL 上遇到「带内嵌图片的图」会失败,所以 PostgreSQL 实例暂时不要执行它 —— 不执行不影响本次发版的任何功能,老图照常打开。
已知限制(本次没做)
- app 里没有分享图的入口 —— 接口在,界面还没有,今天只能通过 API 分享。
- app 里没有历史面板,
ud也没有回滚子命令 —— 历史可以看(--history),回滚目前只能通过 API。 - 在 app 里打开一张图再保存,即使一个字没改也会多出一条历史(命令行侧不会)。
- 桌面端(Electron)与 Windows 没有验过,本次验证在 macOS 与浏览器上完成。
v0.139.0 (2026-08-22)
新功能
- 工作区页面新增「会话历史」 —— 在正在运行的会话列表旁边多了一个「历史」标签页,看得到过去的 agent 会话到底留下了什么。按天分组,再按卡片分组:哪些 agent 跑过、跑了几次,以及每次会话窗口内产生的评论、笔记、附件数量,加上最近一次状态变化和最后一条评论的预览。支持按日期范围(默认最近 3 天)、agent、卡片筛选,还有一个「有产出 / 无产出」开关 —— 最后这个回答的是「哪些会话跑了但什么都没做」。结束得不好的会话会如实显示,不做粉饰:丢失、从未启动、只有回执、退出但没记录原因、以及超出 3 天审计窗口的「状态变化未记录」。两类数字被刻意分开:评论数是归属到 agent 的硬数据,笔记数和附件数带 ⚠,是窗口内的估算,不代表归属。
- 任务可以是一篇文档 —— 把任务的状态清空,现在表示「没有工作流状态 = 文档」,而不再回退成「待办」。文档在资源浏览器里有自己的图标,不会出现在看板列和状态筛选里;卡片属性区新增的「状态」行可以一键在任务和文档之间切换。
ud apply也支持:显式写status: ""就创建或转换成文档,不写这个字段仍然默认「待办」。你已有的卡片不受影响 —— 它们都带着真实状态,只有主动清空状态的卡片才会变成文档。 ud get subscribers <comment-id>—— 可以从 CLI 看到一个评论线程的路由状态。此前没有任何办法观察「这个线程会通知到谁」,这也是下面那个退订缺陷几个月无人察觉的原因之一。
改进
- agent 写的笔记和描述修改,现在归属到 agent 本人,同时记录代其操作的人。在此之前每一条 agent 写的笔记都记在人名下,agent 的产出无法与你自己的区分开。旧数据保持原样,无法追溯恢复。
- 任务的笔记按明确的顺序返回(最早的在前),而不是数据库碰巧给的顺序。编辑一条笔记不会再让它在列表里换位置。
- 退订会说清它实际做了什么 —— 返回结果带上受影响的会话数,所以一次什么都没写入的退订会如实说明,而不是照样报成功。文案不再混用「你」和「对方」;文档里「被 @ 一定会重新订阅」的说法也改正了 —— 它只在特定情况下成立,现在把条件写清楚了。
- 属性区的状态行排成一行(图标 + 文字 + 箭头),和「群组」「负责人」等其他属性行对齐。
问题修复
- 工作区会话历史接口对所有人都被拒绝 —— 路由建好了但没有在权限注册表里登记,于是每一次调用都在鉴权之前就被拒。这就是「历史」入口上那行 "Access denied" 的修复。
- agent 给自己退订某个线程时静默无效,却照样报成功 —— 它退订的是它代理的那个人,而不是 agent 自己,所以没有任何订阅记录被匹配到。
- 附件数量可能显示为 0 —— 任务附件在库里存成两种 entity type(当前的和历史遗留的),而计数只认当前那一种。
- 会话历史对每一个会话都报「无记录(超过 3 天)」 —— 三天的窗口被当成纳秒来算,截止点塌缩到了「此刻」。现在窗口内、卡片确实没动过的会话会正确显示为「无变化」 —— 这正是这一列存在的意义。
- 用户名只是碰巧以 "visitor" 开头的账号,被显示了访客测试账号的警告横幅 —— 现在只有真正由访客入口创建的账号才会被判定为访客。已有账号的判定结果没有任何变化。
- 非法的任务状态现在返回明确的 400 错误,不再是 500。
升级说明(自部署)
无需手工操作。本次没有新增环境变量,也没有新增数据库迁移 —— goose_db_version 仍为 74。
本次是仅后端发版。 桌面端和 ud CLI 没有为 0.139.0 重新构建,下载入口仍然指向 0.138.0,只有服务端镜像更新。网页端已经是最新的,所以升级后端正是让前后端重新对齐的那一步。
v0.138.0 (2026-08-21)
新功能
- 在 App 内自己删除账号 —— 设置里新增删除账号入口,不用再找人代办。删除会一并带走这个账号名下的数据与凭证:登录令牌、API key、文件与资源都不再保留,残留的文件不会变成没人认领的孤儿。你留在别人卡片上的评论会保留,因为那些内容属于它所在的讨论,不属于你的账号。这是不可撤销的操作。
- 知识图谱可以只看已归档到目录的节点 —— 图谱新增一个开关,打开后只显示归到目录里的任务,把散落的节点收起来。开关需要同版本的服务端:自建实例如果只更新了前端、没更新后端,这个开关会是灰的并给出说明,图谱本身照常显示 —— 这是预期行为,不是故障。
- 快速记账不写币种也能记下来 —— 以前一条没有币种的记录会直接失败。现在会按顺序推断:先看图片里的符号,再看账户,再看你自己设的默认币种,然后是最近用过的、系统学到的,最后兜底 USD。顺序有一处变更:「你在设置里选过的默认币种」现在排在「最近用过的」前面 —— 用户明确表达过的偏好,优先于系统自己猜出来的。代价是连着录一批外币时,链不会因为「刚录过」就跟着猜,你设过的默认会一直赢,直到你自己改掉或那条记录本身带了币种符号。推断结果在界面上看得见,也能一键改掉。
改进
- 登录后和「返回应用」都落到资源浏览器,不再是 AI 对话页。
- AI 助手统一为悬浮窗 —— 全屏 AI 对话页已移除,窄屏也能打开悬浮窗。原来的
#/ai书签会自动跳到新位置。 - 派工起会话不再打断你手上的事 —— 会话窗口不再自己抢到最前面。需要时从工作区页面或任务卡上点一下,把它调到前面。同时新增到达提示:有会话在你没注意时启动,会在应用内列出来,点哪条就清哪条。
- 哪个 CLI 跑这个 agent,搬进了「编辑代理」表单 —— 详情面板里原来那个入口已经移除。同时行为有变:以前在详情面板里选一下就立刻生效,现在要按「保存」才生效,和 agent 的其余设置一起提交。
- 「默认 CLI」现在跟着账号走,不再是每台浏览器各存一份 —— 换台电脑、换个浏览器,默认 CLI 都跟着你。它也参与 CLI 的解析顺序:你给某个 agent 单独设过的 CLI 仍然优先,没单独设过的才用账号默认。
- 起不来的会话不会再凭空消失 —— 从未成功启动的会话现在会保留 24 小时,并写明它停在哪一步、为什么(例如「daemon 30 秒内没有响应工作区初始化」)。这一条只是让失败看得见,不是修好了会话启动。
- daemon 的启动过程可以事后查了 —— daemon 启动工作区的五个步骤会写进本地日志文件,含脱敏与轮转,默认开启。排障时能直接看出卡在第几步。同样只是可见性,不是修复。
升级说明(自部署)
无需手工操作。本次没有新增环境变量,也没有新增数据库迁移 —— goose_db_version 仍为 74。
前端与后端建议一起升级:知识图谱的目录开关需要同版本服务端才可用(否则灰显),App 内删除账号也需要后端同版本才会出现。
v0.137.0 (2026-08-18)
新功能
- 一键给任务建同名文件夹并放进去 —— 在资源浏览器里,任务可以一步创建一个以自己标题命名的文件夹,并把自己移进去。同名文件夹已存在时会拒绝,不会合并也不会重复创建;已经在自己同名文件夹里的任务不再动它(再点一次不会套出
标题/标题);标题里没有可用字符时会单独说明拒绝原因。 - 可以从访达 / 资源管理器直接把文件拖进来 —— 资源树现在接受从桌面拖入的文件。拖动时鼠标所在的文件夹会高亮描边,文件就落在那里;鼠标不在任何文件夹上时,退回到当前选中行所在的文件夹。落到根目录时会明确提示一句,因为根目录是唯一没有行可以高亮的目标。拖进来的是文件夹时会告知,而不是当成垃圾文件传上去。
改进
- 一次失败的拖拽会把每个失败的文件都列出来,合并成一条提示 —— 之前一次拖多个文件失败,只会看到最后一个,其余的被吞掉(屏幕上同时只保留一条提示)。现在按原因归并成一条提示,逐个列出文件名;只有一个失败时仍然保留它自己的提示和 trace id。
- 邀请码面板可以按预期关闭 —— 按 Esc 或点面板外面即可。之前只能点它自己的 X 关掉,于是它一直压在填了一半的注册表单上,直到用户找到那个图标。关闭它只影响它自己:已生成的邀请码、表单其余内容和整个页面都原样保留。
问题修复
- 通过公开分享链接上传,对存量较大的账号恢复可用 —— 往别人的公开分享链接里投文件时,只要该链接的所有者已存超过默认的 1 GB,就会返回一个赤裸的内部错误,不管投的文件多小 —— 因为投递是拿陌生人的额度去量,却记在所有者的用量上。现在匿名投递按所有者的真实额度判定,文件能正常落地。真正为这件事设的每链路上限没有改动,仍然生效:单文件 10 MB、每条链路 100 MB,以及按链路的限流。
- 被拒绝的上传现在会说自己是被拒绝的,而不是看起来像崩了 —— 因超出配额被拒的上传,以前是一个笼统的内部错误(500),既藏起了原因,又把一次有意的"不行"记成了故障。现在返回明确的空间不足(413
RESOURCE_QUOTA_EXCEEDED,实例自身磁盘满时为 507)并带上限值 —— 而且是所有上传入口都如此,不再只有恰好做了映射的那一个。
升级说明(自部署)
无需手工操作。本次没有新增环境变量,也没有新增数据库迁移 —— goose_db_version 仍为 74。
v0.136.1 (2026-08-17)
v0.136.0 当天即被 v0.136.1 取代:0.136.0 只发出了命令行工具和后端镜像,桌面端与应用镜像从未发布。内容与本条相同。
新功能
- 上传总开关(自部署) —— 实例可以整体关闭上传。关掉之后,所有由人发起的上传(任务附件、速记、AI 图片/音频输入、匿名分享投递)都会被拒绝,而且八个入口给的是同一个原因码,不再各说各话;系统自身的备份写入不受影响,关掉上传不会连备份一起停掉。
- 速记:一个入口识别所有 —— 一张截图交给同一个入口,自动判成支出、收入或任务,不用先想好它是哪一类。原来的单用途端点原样保留,已经在用的调用方和旧快捷指令不受影响。
改进
- 上传失败会告诉你到底为什么。 上传被拒时,上传窗口里每个文件各自显示真实原因(容量不足、格式不收、实例关闭了上传……),不再一律是「上传失败」四个字。
- 后端也不再把这些带原因码的拒绝压成 500 —— 之前一个说得清的拒绝会以「服务器内部错误」的形状到达前端,既看不出原因,也不该算成故障。
- 快捷指令过期提醒在这次链路切换后依然有效,不会因为换了路径就静默消失。
升级说明(自部署)
- 数据库迁移照常在启动时自动执行。
- 新增一个可选环境变量
UPLOAD_ENABLED(默认true)。设成false即可关闭本实例的全部上传;不设置的实例行为和以前完全一样。 - ⚠️ 这是一道单向闸,值得先读一遍再用: 一旦以
UPLOAD_ENABLED=false启动过,后面把它改回true并不会重新打开 —— 等于默认值的种子值不会写回库里,库里存着的false会挺过重启。想重新打开,请在管理面板里打开(立即生效,不用重启),或删掉那一行配置。
v0.135.0 (2026-08-16)
新功能
- 交易页支出分解视图 —— 新增「花到哪了」分类视图,侧栏按实际→计划节奏分组;支出汇总改为显示全部分类(不再只有前三),占比相加恰为 100%。
- 快捷指令版本提醒(基础设施) —— 当你的 iOS 记账快捷指令落后于最新发布版时,应用内会收到一条升级提醒(每个新版本最多一条),指向安装页。随带版本号的新版快捷指令逐步生效;旧快捷指令完全不受影响。
- 首页重设计 —— 单屏 hero,可切换的线稿实时演示。
改进
- 快速记账 —— 收入关联的图片可以从该收入记录直接打开;图片过于模糊时给出明确提示而不是通用错误;拍完的图立即到达落地页,无需等待模型回复。
- 桌面端 —— 所有「未就绪」状态都会打开服务器面板并给出具体说明,不再停在空白页。
问题修复
- 慢网络下大图收据上传不再失败。 此前拍收据若图片较大(约 2.3MB 以上)且链路慢,会转圈 30 秒后失败。现在上传立即受理、后台传输并自动重试;重试全部失败时任务在队列页标为失败,点 Retry 会用同一份图片重传 —— 应用重启也不丢。
- 队列页的 Retry 按钮修好了 —— 此前请求未到达服务端逻辑就被拒绝。后台任务也不会再出现服务重启后「显示完成但实际没跑」的情况。
- 宿主被移除的工作区会话会在半分钟内标记为失联,不再永远显示「运行中」;宿主只是暂时离线的会话不受影响。
- 共享层级树按每个节点的打开权限判定可见性,并为查询成本加了固定上限。
升级说明(自托管)
无必做步骤。数据库迁移照常在启动时自动执行。新增一个可选环境变量 SHORTCUT_INSTALL_CONFIG_URL(后端从哪里读取最新快捷指令版本),自带可用默认值 —— 只有自托管快捷指令安装配置时才需要设置。
v0.134.0 (2026-08-12)
新功能
- 桌面端有了「快捷键」设置页,全局唤起 Alfred 的那个键可以自己录了 —— 设置里新增一张快捷键表,一行一个命令。全局唤起 Alfred 那一行可以点进去录制:按下你想要的组合,它就填进去(VSCode 那种交互)。应用内的那些快捷键这一版仍是只读的,表里会明确标出来,不会让你以为点了没反应。
- 录完之后要你真按一次,这一次按下是保存的门,不是提示 —— 录完不会立刻生效:应用会请你用新组合真按一次。按到了才保存;没按到就什么都不改。整个试用期间旧的快捷键一直是活的,所以即使你放弃了、或者这个组合根本按不响,你原来那个键仍然照常工作。
- 选中的组合如果和应用内某个命令重合,会给你一条警告,而不是直接拦住你 —— 你仍然可以选它;提示只是让你知道按下去会同时触发两处,由你决定要不要换一个。
改进
- 应用内唤起 Alfred 的键从
Ctrl+A改成了Ctrl+Shift+A,而且现在在文本编辑器里也能按 —— 旧键和「全选」撞车,并且在编辑器里输入时会被吃掉。新键在编辑器获得焦点时同样会唤起 Alfred。引导页里教这个键的中英文两处文案也一并更新了。
问题修复
- 删掉的支出/收入,不能再按 id 取回来 —— 删除是「隐藏」,列表里已经看不到了,但按 id 查询这一路没有做同样的过滤,于是一条已删除的支出/收入(金额、商户、卡号尾号、订单号)在删除之后仍然可以被完整读回。现在按 id 查询和列表一致,已删除的返回 404。
这一版里有一格没被真人验过(请照实读)
- 「录制时那道确认,真的能挡住『注册成功但永远不响』的组合」这一条,没有任何人真按过。 所以我们不写它「已验证」。它的失败方向是安全的那一边:没有按到确认就不保存 —— 最坏的情况是「一个本来能用的键设不上去」,而不是「你的键悄悄失效了」。如果你遇到某个组合怎么都确认不了,那就是这一格,换一个组合即可,你原来的键不受影响。
升级说明(自部署)
- 本版没有新增环境变量。
- 本版没有新的数据库迁移。
- 后端这一版只有一处行为变更:
GET /expense/:id与GET /income/:id对已删除(隐藏)的记录改为返回 404。如果你有脚本依赖「删除后仍能按 id 读回」,它会从这一版开始拿到 404。
v0.132.0 (2026-08-11)
新功能
- pi 和 kimi 现在是可选的内置 agent CLI —— 这两个此前只在部分地方出现过,别处枚举内置 CLI 名单时看不到它们,于是「这台机器上只装了 kimi」会解析不出任何默认 CLI。现在花名册、引导页的 CLI 目录、以及自动挑默认值的优先级顺序里都有它们(排在原有七个之后)。
改进
- 引导页的「这台机器」一步:CLI 那一块现在是一份「这台机器有什么」的清单 —— 它读的是这台机器的探测结果,列出真正装了的那些,其余用一句话带过;每条说明只在轮到它的那项检查时出现一次。
问题修复
- 人发起的第一个会话,现在跑在这台机器真正装了的那个 CLI 上,而不是写死的 claude —— 奖励按钮「开第一个会话」发出的请求不带命令,而解析这个默认命令的那段逻辑完全没有读探测结果,于是在任何机器上都返回
claude --dangerously-skip-permissions—— 一台只装了 codex 的机器,会话起来就是 command not found。现在它复用给 agent 填 CLI 时用的同一个挑选逻辑。从来没收到过探测上报的实例行为不变,仍然是原来的默认值。 - 一行 metadata 存成了非法 JSON,不再让整次 sprint 查询直接失败 —— 只要有一行坏数据,
close-sprint和每晚的敏捷巡检这两条都会中断,而不是跳过那一行。
升级说明(自部署)
- 本版没有新增环境变量。
- 本版有一个新的数据库迁移
00073_add_pi_agent_cli(sqlite 与 postgres 各一份),启动时自动执行,往内置 CLI 目录里加一条pi。 - 行为变更 —— 不带命令启动的会话,默认命令的来源变了。 过去恒为
claude --dangerously-skip-permissions;现在改为按固定优先级 claude → codex → gemini → opencode → aider → copilot → qwen → kimi → pi,取你的 daemon 上报为已安装的第一个。从未收到过任何探测上报的实例不受影响,仍然是老的默认值。 - 注意这个挑选是实例级的,不是按机器分的 —— 它取的是这个实例所有 daemon(含离线的)上报结果的并集。所以只要实例里还有任意一台机器报过 claude,默认就仍然是 claude,哪怕你正在用的这台机器上没装。单机自建实例才是这条修复真正生效的场景。
v0.131.0 (2026-08-10)
新功能
- 一张卡终于能说清「这是给谁的」 ——
assignee这个字段一直都在,但没有任何地方把它当成一段关系来读,也没有任何地方校验它。现在指派是一等资源:GET /assignments是花名册(每个被指派人 + 他手上最近的卡),PUT /assignments/{task}是幂等指派,DELETE取消。人和 agent 在这里是同一种东西 —— 指派自己的ud,和指派一位同事,写法完全一样。被指派仍然不带来任何可见性:你打不开的卡不会出现在你的花名册里,你去读它照样 404。 ud会指派了,也说得出一张卡是给谁的 ——ud patch task <id> --assignee <名字|uuid>、任务 frontmatter 里的assignee:,以及四条指派命令(ud get/describe/apply/delete assignment,--type human|agent)。整个 CLI 里「怎么称呼一个成员」只有一套规矩 —— 用户名、邮箱、agent 名、uuid 都行 —— 名字有歧义时直接拒绝,不猜。ud describe task打显示名;-o apply打 id,因为那份输出是拿来回灌的,id 才不会日后变歧义。ud send-input session <id> <文本>:把一段文本敲进一个正在跑的会话 —— 后端一直收这条,但 CLI 没有对应的动词,只能手拼 HTTP。文本走位置参数、用单个空格连起来,所以不加引号地敲进去,送出去的就是你看到的那串;单独一个-改从 stdin 读,给 shell 引号会弄坏的多行内容用。ud stop session一行没动 —— 会话上的每个动作各是各的动词,不做--type那种通用命令。
改进
- @ 菜单会把「打不开这张卡的人」标灰 —— 过去在私有卡上,菜单把每位同事都以正常样式列出来,于是你挑一个人、写完评论、按下发送,那一刻才第一次知道这个 @ 会被拒。现在这一行是灰的,副标题写着「需要先共享」,用的是写入端自己的那句话,菜单和 403 不会对同一件事有两种说法。人还是列着的:私有卡上一个同事「消失了」,和这个同事根本不存在,是分不出来的。
- 登录之后落在你上次打开的那张卡上 —— 四个入口(密码、GitHub、Google、个人版)现在收敛到同一个落地页:explorer 停靠在你上一张任务旁边,而不是 AI 对话。它们此前悄悄各走各的。
- 定时备份现在报的是「备份到底成没成」,不是「任务派出去了没」 —— 过去上传一交给后台协程,任务就记成功了,而且没有任何地方去读结果。某个实例上因此连着记了 100 次「成功」,同一时期存储桶已经拒收了六天,有 14 天一个对象都没产生。现在每次运行汇报的是上一次备份真正落定的结果。
- 空状态、引导页和几个次级营销页统一到同一套视觉 —— 色块填充、荧光高亮块、装饰性图标方块、彩色状态文字都去掉了;强调改由分隔线、字重和下划线承担。
- 投递给 agent 的 prompt 不再每条都带那句退订提示 —— 过去每一条消息都要教一遍「怎么退出这个 thread」。能力没变,只是改成教一次,而不是重复到每条。
问题修复
- @ 一个读不到这张卡的人,现在是直接拒绝,而不是把内容送到他面前 —— 过去这个 @ 会把卡标题和整条评论/note 正文塞进对方的通知流,而这张卡对方无论怎么读都是 404。六个入口(评论、回复、评论编辑、note、note 编辑、描述)在 SQLite 和 Postgres 上都复现过。现在拒绝时会指名是谁被拒了、该怎么办(先共享给他所在的群)。agent 不受影响 —— 在自己的私有卡上 @ 自己的
ud照常。 - 通知不再送到读不到这张卡的人手上 —— 把任意一个用户的 id 写进
assignee,就等于给他订阅了这张卡,此后每次更新都会把标题和每个字段的前后 diff 送到他的通知列表里 —— 而这张卡他一读就是 404。卡被转移或取消共享之后,created_by也是同一个漏法。现在订阅者按读取本身用的那同一个条件过滤。 assignee写垃圾值现在被拒绝,不再照单存下 —— 这个字段过去递什么存什么,于是GET /todolist/{id}能显示一个GET /assignments里根本没有对应行的被指派人:同一行数据,两个官方读法,两种答案。这是行为变更,见升级说明。- 在 Quick Note 或任务描述里打
@不会再把编辑器整块弄没 —— 它抛clis is not iterable,把编辑器整棵 React 树卸载掉了。评论框从来不受影响,所以这个问题看起来像是时好时坏。 GET /expense每次返回的顺序一致了 —— 列表是通过 map 拼出来的,而 Go 的 map 遍历顺序是随机的,连着调十次会得到同样十二行的十种排列。两个前端都在本地重排了一遍,把问题盖住了;一旦分页,顺序每次变就会导致某行发两遍或者一次都不发。现在按「钱是什么时候出去的」倒序,顺序是全序。- Obsidian vault 里的符号链接会被跳过,并且明确告诉你 —— 过去会跟着链接走,把 vault 外面的内容建成任务,还把跟踪用的 frontmatter 写进跟踪根目录之外的文件。被跳过的链接会计数,
push和status各打一行点名;没有符号链接的 vault 什么都不打。 ud subscribe/unsubscribe --member认用户名和邮箱了,不再只认 agent 名;--member <uuid>也不再去等(或因此失败于)它根本不需要的那几个成员查询。另外,成员列表拉了一半时,不会再把一个有歧义的名字自信地解析到「碰巧加载成功的那一个」上。
升级说明(自部署)
- 本版没有新增环境变量。
- 本版没有新增数据库迁移。
- 行为变更 ——
assignee写坏值,从 200 变成 400。 两条写路径(POST /todolist/:id带{assignee},以及PUT /assignments/{task})现在都要求这个值是一个 UUID,且能解析到一个存活用户。如果你有脚本往assignee里写占位符、写过期 id、或写非 UUID 的东西,它会开始报错。 写的是真实用户 id 的一律不受影响。 - 行为变更 —— 「能指派给谁」的判据基准换了:看这张卡,不看发起指派的人。 关系路径(
PUT /assignments/{task})要求被指派人是这张卡本来就对他可见的那批人之一:卡的所有者、卡所共享到的那个群的成员、或者卡所有者名下的 agent。旧规则问的是「发起指派的人认不认识他」,而这从来没有证明过被指派人打得开这张卡。跨群指派经关系路径会被挡掉;把私有卡指派给自己的 agent 不受影响 —— 这条规则正是围绕这个场景设计的。字段路径(POST /todolist/:id)有意不做这条成员校验,只做上面那条身份校验,以免打断既有客户端。 - CLI 要和后端一起升。 agent 在会话开始时读到的那份指派口径,是打包在
ud二进制里的 ——ud describe skill从二进制自己那份回答,从不问服务端。只升后端不升ud,agent 读到的还是旧口径;只升ud不升后端,agent 会照着一个现网还不存在的端点去写。
v0.130.0 (2026-08-07)
新功能
- 搜索任务终于会翻 note 正文了 —— 过去搜索只匹配标题,可所有帮助文本(
ud grep task --help、两个内置 skill、API 文档)都写着它同时覆盖描述和 note。只写在 note 里的关键词一个都搜不到,而且返回的是「零结果」不是报错,所以根本看不出哪里不对。现在标题、描述、note 正文三处都匹配。你能看见什么没有变 —— 这只放宽了「什么算命中一张卡」,没有放宽「你能看见哪些卡」。
改进
- 线程回复送到忙碌中的 agent,快了约五倍 —— agent 正在处理上一轮时,发到它线程里的广播要等 30 秒才会再次投递。现在是 6 秒。
- Postgres 实例会为放宽后的搜索建三元组索引 —— 20 万条 note 的库上,note 正文搜索从 658 毫秒降到 7.6 毫秒。数据库角色装不了扩展会怎样,见升级说明。
问题修复
- 停一个会话,不会再把另一个也停掉 —— 同一张卡上开着两个会话时,停其中一个可能把另一个标记成已退出,而它的窗口和 agent 其实还在跑。控制面于是认为这张卡空了,又派了个人上来,两个 agent 同时改同一批文件。现在停止操作会指明真正关掉的是哪个会话。
- 被停掉的会话,它的 agent 是真的被停掉了 —— 过去停止只给终端发信号,而 agent 是我们启动的那个 shell 的子进程,于是它经常继续跑着、没有终端、也没有任何东西能够到它。现在信号发给整个进程组。已知缺口:tmux 包起来的会话,它的 agent 挂在 tmux server 底下,仍然够不到。
- 会话现在记录它跑的那个进程,
ud describe session能看到 —— 在此之前会话和进程之间没有任何关联,这正是「找一个跑飞的 agent 只能靠肉眼比对ps的启动时间然后猜」的原因。 - agent 写的评论显示名字,不再显示成一串 UUID —— 任务详情页和线程视图两处都是。
升级说明(自部署)
- 本版没有新增环境变量。
- 迁移
00071、00072会在启动时执行,SQLite 和 Postgres 两个方言都有。 00071在 Postgres 上建三元组索引,需要pg_trgm扩展。 创建这一步是特意加了保护的:如果你的数据库角色没有CREATE EXTENSION权限,迁移只会打一条 warning 然后继续,搜索结果依然正确,只是会扫 note 表,不会让你的实例起不来。SQLite 没有对应物,直接跳过。- 会话与进程的关联只对新会话生效。
agent_pid对所有已存在的行、以及所有由旧版 daemon 启动的会话都是0—— 只有 daemon 知道 pid,而它没法被问「过去那些」,所以没有回填。也就是说上面那两条停止相关的修复,只对你升级之后启动的会话生效,对升级时已经在跑的会话不生效。升级后请重启 daemon。
v0.129.0 (2026-08-05)
新功能
共享出去的任务,对方终于看得见了
- 把任务共享给一个群,已经登录的人是收不到的:他们的会话里还带着登录那一刻的群列表,于是那张卡就是不出现 —— 不报错,也没得重试,只能等下次重新登录。
- 现在群成员关系的变化会作用到已经打开的会话上。这个修复从 8 月 4 日一直压到今天,这一版是它第一次真的到用户手上。
内置 agent 现在归你自己
- 六个内置 agent 过去是服务端里的常量,所有人共用一份。现在每个人第一次进工作区时,会拿到属于自己的一份。
- 既然是你自己的,你就能改 —— 改掉你那份
ud的 prompt,下一次唤起的会话立刻就用新的。不用发版,也不用重启。
agent 可以是群成员
- agent 现在可以被加进群,而且只有它的主人能加。@ 一个 agent,能触达的是你自己的那份,或者你所在群里的那份。
- 群成员列表现在区分人和 agent,每个 agent 那一行会写明是谁在维护它。
@ 菜单按「人」重做了
- 菜单不再自己猜,而是问服务端谁是真正可触达的;每个 agent 那一行都写明是谁的,并按主人分组。
- 现在只有一个寻址空间 —— 人。agent 也是人。按已废弃的
@session写法留下的链接,会显示成纯文字。
别人的 agent 回帖,你看得见背后是谁
- 别人的 agent 写的评论会记录是谁唤起了它,回帖里会写明这是谁的 agent、正以谁的权限运行。
- 每一条投递给 agent 的消息,现在都带上了「说话的人是谁」。
按邮箱或用户名加群成员
- 群主可以在群组页面上,用准确的邮箱或用户名直接把人加进来。
通知面板分成了两段
- 需要你处理的排在前面,其余的排在后面;每条通知按「它是怎么找到你的」分级。
改进
- 侧边栏的选中态改成给图标上色,不再在背后铺一块底色;点击已展开面板的入口可以收起它。
- 你注册时用的语言,现在会被记下来。 没有语言记录的人,取系统默认值,也就是英文。
- 服务端现在会自报自己支持什么能力,客户端不必再靠版本号去猜 —— 后端若不支持按标识符找人,「添加成员」入口会自己藏起来。
问题修复
- 访问不存在的群,现在返回 404,不再是 500。
- @ 菜单的条数上限现在是跨所有候选类型统一算的,不再每类各算一遍,一个类别塞满不会再把其他类别挤没。
- 成员关系指向的用户已经不存在时,不再把它显示成成员。 这类条目过去就是列表里那些空名字的行,现在不再出现。详见下面的升级说明。
- IM 里「这不是你的机器人」的回复,现在会告诉你怎么自己修(
/link relink),不再只是拒绝。
升级说明(自部署)
-
本版没有新增环境变量。
-
群成员关系一变,相关账号已签发的 token 会立即失效一次。 网页端会自动刷新并重放,浏览的人不会察觉;
udCLI 与 agent 会话会收到一次401 AUTH_REQUIRED,命令会失败 —— 重跑一次即可。 这条对「做这个改动的人」和「被加进来的人」同样成立。 -
数据库迁移
00066–00070会在启动时执行。 其中两条不能干净地回退:- 只要有人删过 agent 又建了同名的新 agent,
00070就会拒绝回滚。 它会报错中止而不是丢掉数据,所以不会静默丢行 —— 但必须先由人决定那些软删的行怎么处理,回滚才能继续。 00068会把六个内置 agent 作为真实数据行写进库里。 把代码回滚回去,这些行不会被带走。
- 只要有人删过 agent 又建了同名的新 agent,
-
内置 agent 不再在服务端启动时创建,改成每个人第一次打开自己的工作区时创建。所以一个全新的自部署实例,在第一个用户进来之前,库里一行内置 agent 都没有 —— 这是预期行为,不是迁移失败。
-
升级后,部分群的成员列表会变短。 指向已不存在用户的成员关系不再被列出。在我们自己的实例上,这让 38 个群里共 92 条记录消失,它们本来就全部显示为空名字,没有任何一个有名字的人或 agent 受影响。你的实例数字可能不同 —— 升级前跑
SELECT COUNT(*) FROM user_groups ug LEFT JOIN users u ON u.id = ug.user_id WHERE u.id IS NULL OR u.is_deleted = 1就是那个数。
v0.128.0 (2026-08-03)
新功能
叫 Alfred 现在只要 Ctrl+A
- 快捷输入的唤起键从
Cmd+/换成了Ctrl+A,单手可达。只在文本输入框之外生效,输入框里的全选不受影响。 - Meet Alfred 引导也改教这个键了。
更大、更稳的 Alfred 面板
- 唤起不再闪空白帧:预热好的对话记录立刻显示,后台静默刷新;深色模式下打开也不再白闪。
- 面板尺寸加大 —— 网页对话框 760px,桌面面板 840×560 —— 对话记录撑满窗口。
- 桌面面板可拖动、可调大小,调过的位置和尺寸会记住。
ud pull 在新目录默认用 vault 布局
- 对空目录第一次
ud pull,现在初始化的是 vault 布局 —— 一个.md就是一个任务,笔记在notes/下,附带.udignore—— 和ud init一致。 - 旧的一任务一文件夹布局仍可用
ud pull --layout ud;已有目录保持原布局不变。
改进
Daemon 重连不再死锁
- 网络抖动后,重连的 daemon 可能被一条僵尸流回一句「已连接」,然后两边互相信了对方 —— daemon 永久离线,只能手动强制。
- 现在服务端永远让最新的连接接管,桌面客户端也不再轻信「已连接」:退避重试,第二次被拒就直接强制接入。
Daemon 重启会清掉自己的「鬼会话」
- daemon 注册时顺手把本机确定已死的会话(挂在离线/心跳过期 daemon 下的活跃记录)收敛为 lost,不再有一直显示「运行中」的幽灵会话。
问题修复
- IM 机器人不再一边正常收发、一边卡在「连接中…」。 身份解析和状态记录之间的竞态会把健康机器人的状态永久盖掉,重启和重贴 token 都复现;已修。
- 高级查询里的 Ask AI 挂了会明说「AI provider 不可用」,不再是一句「发生未知错误」。
- 评论引用高亮回来了 —— 在隐藏/延迟渲染的容器里(移动端布局、长页面)不再丢失。
- 中文/日文输入:选字的回车不再触发发送。 Alfred 快捷输入、提及/斜杠菜单、行内重命名和快速创建,全部加了 IME 合成态判断。
升级说明(自部署)
- 本版没有新环境变量,也没有数据库迁移。
- 桌面 app 需要手动升级,daemon 重连修复才完整生效。 修复的一半在桌面端(重连客户端);后端升级后,旧桌面也能受益于服务端的接管逻辑,但完整修复(退避 + 自动强制)需要新桌面版。
v0.127.0 (2026-08-01)
新功能
随时随地叫 Alfred
- 网页版按
Cmd+/,一个快捷输入框直接盖在你手头的页面上:打字、发送,消息就进了你和 Alfred 的对话,不用切走。 - 桌面版有了全局快捷键 —— 默认
Cmd/Ctrl+Shift+Space,app 在后台也能一键唤出常驻的 Alfred 快捷面板。面板是提前建好藏着的,不是按下才现建,所以你按下的那一瞬间输入框就在。Esc、点别处、再按一次快捷键都能收起。 - 快捷键在个人资料页可改。如果默认键被别的 app 占了,注册会沿候选链(
Control+Alt+Space、Cmd/Ctrl+Shift+A)往下试,设置页会告诉你最终生效的是哪个。 - 面板藏着的时候 Alfred 回话,你会收到系统通知,点通知面板就出来。面板正在屏幕上时不发通知 —— 给你正在看的东西发通知只是噪音。
Thread 有门了 —— 参与者可以退出
- thread 头下方新增订阅栏,列出这场对话里的所有人:发过言的成员加上绑定的 agent 会话,已退出的置灰标注。
- 可以直接在栏上把一个 agent 从 thread 里退订(或拉回来)—— 适合话题已经走远、却还在不停吵醒一个早就完事的 agent 的场景。动别人的订阅需要任务的写权限。
- Agent 也学会了自己退场:干完自己那部分的 agent 现在可以主动离开 thread,不再被后续每条回复拖着走。再次提及它就能把它拉回来。
- CLI:
ud unsubscribe comment <id>/ud subscribe comment <id>(加--member替 agent 操作)。
派发时指定 agent 跑在哪个 CLI 上
- 在提及 agent 的同时提及一个 CLI ——
@my-agent @codex 去做 X—— 为这条消息新起的会话就跑在选中的 CLI 上。只管这一个会话:agent 本身的配置不动,已经在跑的会话也不换;请求原文里仍然带着那个@codex,所以 agent 能自己回答「跑着的会话换不了 CLI」。
改进
Daemon 重启不再丢身份
- daemon 关闭时标记为离线而不是删除注册,重启回来还是同一个 daemon —— 不再产生一堆孤儿重复条目让 mention 派错地方。
- 关闭时健康端口和 PID 文件要等全部收尾完成才释放,堵上了快速重启时「端口空了但旧进程还活着」的竞态。
- Agent 会话启动失败时,失败原因会被保留展示,不再被后续状态覆盖 —— 一个静默空转的会话现在会告诉你为什么。
问题修复
- Agent 配置的读取现在限定在属主范围内。 此前一个账号可能读到别人的 agent 配置;现在读取以请求者本人为界。(安全修复)
- 删除了会花错人 API key 的 AI provider 测试路由。 测试一个 provider 可能计费到不属于测试者的 key 上;这些路由已移除。(安全修复)
- CLI 不再因孤儿管道无限等待。 读取版本号、解析 agent 时的等待加了上限,不再挂死。
升级说明(自部署)
- 一条迁移(
00065)在新镜像启动时执行。 给会话-thread 绑定表加muted_at列 —— thread 退订的存储。与此前版本相同的启动迁移机制。
v0.126.0 (2026-07-31)
新功能
公开分享链接可以收件了
- 创建分享链接时可以勾上允许上传。拿到链接的人不用注册、不用登录,就能往链接背后的任务里放一个文件,外加一行可选的留言。
- 「能读」和「能放」是两个独立开关:一个链接可以只收不发。这是更安全的配置,也是大多数人说「让他们把文件发给我」时真正想要的那一个。
- 访客看不到别的访客放了什么。投件在公开的附件列表和公开的下载接口里都被挡掉,只有任务主人能看见。
- 每个链接单独限额 20 个文件、100 MB,叠在你自己的存储配额之上;投件接口按「访客 + 链接」分别限流。
- 实例主人有总开关:「管理 > 系统配置」里的
feature.public_share.upload_enabled,默认关闭,改完不用重启。它和feature.public_share.enabled是分开的 —— 所以你可以继续用只读分享,同时拒绝匿名写入。
管理员可以直接重置用户密码
- 「管理 > 用户」新增重置密码操作,给该账号设一个新密码,立即生效 —— 用于有人被锁在门外、而实例又没配邮件的场景。
改进
首次设置:那声招呼由你自己打
- 「认识 Alfred」这一步过去是替你把招呼发出去的。现在它给你一个真正的评论框,用的是 app 里其他地方一样的
@提及补全,你按下发送,握手才开始。纯文本的@alfred谁也叫不到,所以在消息里带上真正的提及链接之前,发送按钮是禁用的。 - 第一次和机器对话结束时,agent 会主动把聊到的内容写进一条 note 并展示给你 —— 不用你开口要。
问题修复
公开端点加上限流,并且先把代理后面的客户端 IP 弄可信
GET /share/code/:code此前完全没有限流,当前有效的 6 位分享码空间可以被以线速扫描 —— 扫中一个就能读到别人分享的任务、笔记,以及(链接允许时)附件。现在按客户端限流 20 次/分钟。登录(10 次/分钟)和注册(5 次/分钟)也一起限了:宽到重打一次密码不会被拦,紧到撞库不再免费。被限的请求返回429并带Retry-After。- 限流的键是真实客户端 IP。此前服务端会无条件相信调用方自己写的
X-Forwarded-For,那样一来每个请求伪造一个头就能换一份新额度,限流就成了摆设。现在由UD_TRUSTED_PROXIES决定哪些代理有资格设这个头,默认是私有网段和回环地址。如果你的实例挡在公网 IP 的 CDN 或平台边缘后面,请把这个变量设上 —— 见升级说明;用默认值时这些限流在那种拓扑下不生效。
登录页在压根连不上服务器时,不再拿注册策略搪塞你
- 服务器地址少写了
/api/v1后缀时,页面会显示「该实例已关闭注册」并把「服务器设置」折叠起来 —— 对一个它从未连上过的实例,给出一个笃定的结论。现在连不上就说连不上,「服务器设置」会自动展开、把你要改的那个输入框摆到面前,而「已关闭注册」这句话在服务器真的回话之前不会出现。 - 服务器地址输入框可以清空了(以前一清就弹回当前值),占位符给出了包含
/api/v1的正确形状,提示只在地址确实写错时才出现。
升级说明(自部署)
- 匿名投件在你打开它之前是关的。
feature.public_share.upload_enabled默认关闭,所以升级不会让你现有的任何链接变成可写 —— 本次发布之前创建的链接,这项权限都是关的。要用就去「管理 > 系统配置」打开,不需要重启。 - 新增环境变量
UD_TRUSTED_PROXIES—— 如果你的实例前面挡着任何公网入口,这条必读。 不设表示「信任私有网段和回环地址」,当反向代理和实例在同一台机器或同一个 Docker 网络里(nginx、all-in-one 镜像)是对的,裸机也是对的。但挡在前面的是公网 IP 上的 CDN 或平台边缘时就不够了 —— 比如 Cloudflare,或者*.onrender.com(它本身由 Cloudflare 兜着)。那种情况下服务端会把边缘节点当成不可信的对端,于是限流的键取的是边缘节点的地址而不是访客的地址,而这个地址每个请求都在换:限流因此不再生效,日志里也看不到真实客户端 IP。请把你的代理网段显式写上(UD_TRUSTED_PROXIES=173.245.48.0/20,103.21.244.0/22,...),或者用*信任任意代理(gin 的老行为,可被伪造,但在只有单层可信边缘时能把真实客户端 IP 取回来);none表示谁都不信。 - 两条迁移(
00063、00064)在新镜像启动时执行。 分别是给分享链接加上投件权限字段,以及记录投件的表。
v0.125.0 (2026-07-30)
新功能
REGISTRATION_ENABLED —— 决定陌生人能不能在你的实例上建账号
- 新增一个实例级开关(环境变量
REGISTRATION_ENABLED,命令行--registration-enabled)。默认是关的:一个新实例上,除了主人谁也进不来。 - 关闭时,三条自助建号入口一起关掉 —— 邀请码注册接口、通过 GitHub/Google 首次登录建号、以及访客按钮 —— 一律回
403 AUTH_REGISTRATION_DISABLED。登录页会把注册入口和访客按钮藏掉,不会摆着一颗点进去没有结果的按钮。 - 你作为实例主人建的账号不受影响:「管理 > 用户」和以前完全一样。
- 想让别人也用你这个实例,把
REGISTRATION_ENABLED=true设上并重启即可。启动横幅会打一行Signup:,告诉你注册当前是开还是关,以及是哪个环境变量或命令行参数决定的。 - 公开端点
GET /auth/tier-info新增registration_enabled字段,登录页在任何人登录之前就能知道答案。
改进
配置值按严格口径读取,并且启动时把读到的东西说清
- 所有布尔和数值配置接受更宽的写法:
true/false、1/0、yes/no、on/off、enabled/disabled,并会去掉首尾空格。 - 读不懂的值会让启动停下,并报出:是哪个变量、拿到的值是什么、可接受的写法有哪些、以及怎么回到默认值。一次启动报出全部问题,所以一份写错了几处的 compose 文件是改一次,而不是每个错一次重启。
- 设了但为空的变量(compose 里的
- FOO=)会使用默认值,现在会在日志里以 WARNING 明确说出来。 - 启动横幅对调度器和注册这两项,不只报值、还报这个值是从哪来的 ——
enabled (env CRON_ENABLED)、closed (default)。调度器在跑的时候还会报出这个数据库里有多少条已启用的定时任务 —— 这是你判断「一份从备份恢复出来的副本正要以那个实例的身份开始干活」的依据。
「管理 > 系统配置」里的启动类配置改为只读展示真实运行值
- 四个调度器配置 ——
CRON_ENABLED、VISITOR_CLEANUP_ENABLED、VISITOR_CLEANUP_SCHEDULE、VISITOR_RETENTION_DAYS—— 是在进程启动那一刻定下来的。管理页面现在把它们改为只读,展示当前真正生效的值,以及设定它的环境变量或命令行参数。要改就在它们归属的地方改:设环境变量或参数,然后重启。 - 其他启动类配置同理,包括 JWT secret、telemetry 和 license。
桌面版会遵循你自己设的 CRON_ENABLED
- 桌面版的调度器默认仍然是开的。但你如果显式设了
CRON_ENABLED,现在这个值会被采纳 —— 当你把桌面版指向一个不是它自己创建的数据库时,你要的就是这个行为。
升级说明(自部署)
- 如果你的实例依赖开放注册,现在必须显式声明。
REGISTRATION_ENABLED默认是关,所以升级之后,一个原本接受公开注册的实例会开始拒绝注册 —— 包括 GitHub/Google 首次登录建号和访客按钮 —— 直到你设上REGISTRATION_ENABLED=true并重启。注册本身没有别的变化:开关打开后,流程与升级前完全一致。 - 读不懂的配置值现在会让启动失败,而不再回落到默认值。 如果你的环境变量或 compose 文件里有布尔/数值配置写错了(
CRON_ENABLED=flase、MAX_FILE_SIZE=10MB),容器会拒绝启动并点名这个变量。拉取新镜像之前值得先看一眼你的 env;报错信息会列出可接受的写法和怎么回到默认值。 - 一条迁移(
00062)在新镜像启动时自动执行。 它会清掉那四个现已改为只读的调度器配置的存储值。真正生效的值来自你的环境变量和命令行参数,不受这条迁移影响。
v0.124.0 (2026-07-29)
新功能
首次设置从五步收敛成三步
- 选语言 / 让这台机器能干活 / 认识 Alfred。原来单独的「授权钩子」整步去掉,Telegram 并入最后一步。
- 每一步的「下一步」先检查再放行:没做完不翻页,原地说清还缺什么,按钮变成「仍然跳过」,再点一次才走。
- 一步里的事都做完了,它就完全不打扰你。
第二步会替你把这台机器装好
- 装 ud CLI、注册守护进程。两样齐了按钮才亮,你点它才在专属欢迎卡上开一个裸 workspace 会话。
- 网页端同样是三步,第二步换成讲清桌面版能多做什么、以及下载入口。
钩子改为每次开会话时安装与自愈,并且要先得到你的同意
- 同意默认是关的。没打开之前不会往你的 agent CLI 配置里写任何东西,这个开关随时可以在「个人资料」里开关。
- 打开后,每次会话开始都会把该装的装上、该升的升级。装不上也不挡你的会话。
- 桌面版的钩子安装全部改由 ud CLI 执行,并会清掉旧安装器留下的注册项。
ud hooks status --json可以查当前装了什么。
codex 成为第二个支持工作区钩子的 agent CLI
- 继 Claude Code 之后,codex 也能通过工作区钩子实时上报会话状态。
新增 Kimi Code 作为第八个内置 agent CLI
- 该集成依据 Moonshot 公开文档写成,尚未对真实 CLI 实测。请当作待验证项,而非已支持能力。
问题修复
Markdown 编辑器不会再改写你的文件
- 此前在可视模式下保存会重写整篇文档:裸 HTML 块被整段删掉、脚注被压成畸形链接、纯文本丢掉结尾换行。
- 外部
.md现在默认以源码模式打开。切到可视模式前会先做一次往返比对,并明确告诉你哪些语法会被改写。 - 文件一打开就被标记为「未保存」的问题已修复。
- 关闭窗口时若有未保存内容,现在会先问你。
- 在独立编辑器窗口里点
task://链接,不会再把窗口顶到一个并不存在的后端上,也不会丢失未保存内容。
首次设置不会再卡在最后一步
- 此前机器握手超时后,状态会永久停在 pending,导致 Finish 按钮一直灰着,只能走「跳过」。
升级说明(自部署)
- 无需手动操作。本版没有新增环境变量或系统开关;一条种子迁移(把 Kimi Code 加进内置 agent CLI 列表)在新镜像启动时自动执行。
- 钩子同意对所有用户(含老用户)都从「关」开始。如果你此前依赖桌面版在首次设置里装状态钩子,请到「个人资料」里把它打开,或在下次开会话时按提示同意。
v0.123.0 (2026-07-29)
新功能
Alfred 的聊天记录每天开一根新线
- 以前所有对话都往同一根评论线里追加,第一根三天就攒到近千楼,打开慢,也没法快速翻。
- 现在按你所在时区,每到新的一天自动开一根新线;前一天那根就地收起,原位仍可回查。
Alfred 会自己打扫记忆
- 两条例行任务 —— 每小时一次的整理和每晚一次的归档 —— 会在 Alfred 第一次为你开会话时出现在你的定时任务里。
- 它们就是普通的定时任务:可以改、可以停、可以删。删掉的例行任务不会再长回来。
- 如果你本来就自己安排了唤醒 Alfred 的定时任务,则一条都不新增 —— 你的安排保持原样。
ud describe wctx 重新变得能读了
- 笔记改为摘要显示,不再整篇打印;评论线以索引形式列出。
- 历史很长的任务不会再刷满整个终端。
改进
macOS:打开应用不再出现「无法验证开发者」提示
- 现在
.dmg本身也做了签名、公证和装订。此前只有里面的 app 做了,所以新下载的磁盘映像仍会触发 Gatekeeper 警告。装订后会重算自动更新校验值,升级不受影响。
物品页改版 —— 宽屏布局,与 iOS 端同一套水墨语言。
登录页改版,与应用其余部分统一。
问题修复
- 会在本地存东西的 HTML 附件(bento 演示稿、小型独立网页应用)在浏览器里不再报 "The operation is insecure" 打不开 —— 预览现在自带一份内存版存储。
- CLI 守护进程写入的待发提示词时间戳改为状态钩子能读的格式,装了钩子才真的会上报。
- CLI 守护进程会先确认提示词已送达再提交,修复偶发的提示词被静默丢弃。
升级说明(自部署)
- 无需手动操作。 本版没有新增环境变量,也没有新增系统开关。
- 新镜像启动时会自动执行一条加列迁移:在
im_conversations上记录当前聊天线是哪一天开的。存量会话该列为空是设计如此 —— 未知的日期永远不等于今天,所以下一条消息自然就会开出当天的新线。
v0.122.0 (2026-07-28)
重要修复
走完首次引导后刷新页面导致整个应用白屏
- 完成或跳过首次使用引导之后,再刷新页面,所有页面都会打不开 —— 应用外壳本身渲染失败。
- 所有走过引导的用户都会遇到。建议所有用户升级。
新功能
首次引导:与 Alfred 真正握手
- 引导会在你的机器上开一个会话,并等 Alfred 真的回话之后才让你继续;等待、已回复、超时三种状态都看得见,不再是无声卡住。
- 进度按环节记录,重新打开引导会接着上次的位置继续。
- 弹窗尺寸固定,内容在窗口内滚动。
每个代理可单独指定 CLI 与模型参数
- 每个代理可以选择用哪个代理 CLI(Claude Code、Codex、Gemini 等)。
- 可按代理追加额外参数,例如
--model opus。
代理 CLI 可用性一目了然
- 桌面端会探测本机装了哪些代理 CLI 并上报。
- Web 端直接显示可用状态与版本号;没装的给出安装命令。
会话终端输出在会话结束后仍可查看
- 会话末尾的终端输出会保留下来,会话死掉之后依然能回看当时发生了什么。
联系页加入 Telegram 群入口
- 联系页新增 Telegram 群入口;文档站的联系页也照主页风格重写。
Alfred 承担秘书职责
- 待办、日程、提醒纳入 Alfred 的日常职责。
- 派工时要求先收到确认回执,并在评判会话状态前先读终端。
问题修复
- 物品照片一直加载不出来(照片地址恒为空),现在能正常显示了。
- 代理的「恢复默认」现在会一并清掉额外的 CLI 参数。
- 首次引导不再停在「Starting a session on this machine…」不动;握手超时的提示文案也不再和事实相反。
- 首次引导偶发不投递提示词、导致 Alfred 永不回复的问题已修复。
- 现在可以对
lost状态的会话执行 stop,回收残留进程。 - 修复 CLI 守护进程「注册心跳全绿但 SSE 连接 401」的问题。
升级说明(自部署)
- 无需手动操作。本版没有新增环境变量或系统开关;两个数据库变更(均为带默认值的加列与建表)在新镜像启动时自动执行。
v0.121.0 (2026-07-27)
新功能
自带 Telegram bot,人人可用
- 每位用户在「个人资料 → 消息渠道」接入自己的 bot:用 @BotFather 创建、粘贴 token、给 bot 发消息即完成绑定。
- 你的 bot 只认你:其他 Telegram 账号发来的消息一律拒答,绑定码也只有 bot 所有者本人能核销。
- 多用户消息通道随本版开放,不再只限实例所有者。
「我的 Alfred」卡片
- 个人资料新增 Alfred 状态卡片,首次使用引导也加入了 Telegram 绑定步骤。
优先用你自己的守护进程
- 派发会话时优先选择你本人注册的 daemon,其次才是共享的。
- daemon 离线时会直接回执告诉你如何把它拉起来,而不是石沉大海。
桌面端:代理 CLI 缺失检测与安装引导
- 未安装 Claude Code 等代理 CLI 时,终端内直接给出安装引导。
- 新增僵尸会话看门狗,自动终止并上报无输出的代理会话。
桌面端:可配置后端数据目录
- 数据可放到自选目录(例如同步盘),数据库改用单文件日志模式保证同步安全。
CLI:ud stop session 一等动词
- 另有
ud describe session --tail N查看会话尾部输出;会话列表新增 LAST-SEEN 列,daemon 在线判定更准确。
问题修复
- 修复 Intel Mac 桌面端无法启动代理会话的问题(posix_spawnp 报错)。
- 编辑内置代理的系统字段现在会明确报错并说明是哪个字段,而不是静默丢弃。
- 管理后台的系统配置现在可以清空为空值。
升级说明(自部署)
- 实例级
TELEGRAM_BOT_TOKEN已移除,改为每人自带 bot。运维方需设置UD_ENCRYPTION_KEY用于加密存储的 bot token。更正(2026-07-27):已有 token 并不会自动迁移 —— 本条最初写的是会自动迁移。正确做法是:先保存好 token,设置密钥,升级,在「设置 → 即时通讯」手动重新登记,然后再重启一次,让已有会话重新归属。在最后这次重启完成之前,通道看上去是正常的,但发往旧会话的回复会被静默丢弃。完整步骤见从旧版共享 bot 升级。 - 新增多用户消息开关
im.multi_user_enabled(系统配置,默认关闭);打开后实例内所有用户都可绑定使用自己的 bot。
v0.120.0 (2026-07-25)
新功能
认识 Alfred——每个工作区自带的管家代理
- 每个工作区现在都有一位管家 Alfred:他会把活派给合适的代理并跟进进度、记住你的偏好、随手记下你丢给他的笔记。
- 在任意评论中提及
@alfred即可与他对话。他支持定时唤醒(例如每天早上的简报),守护进程重连后也能继续工作。
在 Telegram 里和 Alfred 聊天
- 新增 Telegram 消息渠道:在「个人资料 → 消息渠道」生成一次性验证码,向机器人发送
/link 验证码完成绑定,就能在手机上和 Alfred 对话。 - 代理的回复会同步回 Telegram,在应用里开始的对话可以直接在聊天中继续。
- 自部署可通过
TELEGRAM_BOT_TOKEN环境变量开启,详见配置参考文档。- 自 v0.121.0 起:已由「每人自带 bot」取代。不再有全实例的 bot token——每位用户在「设置 → 即时通讯」连接自己的 bot,运维方改为设置
UD_ENCRYPTION_KEY;升级时已有的 token 需要手动重新登记,见升级步骤。
- 自 v0.121.0 起:已由「每人自带 bot」取代。不再有全实例的 bot token——每位用户在「设置 → 即时通讯」连接自己的 bot,运维方改为设置
全新的首次使用引导
- 4 步向导依次带你完成:选择语言、了解工作区状态、把这台机器注册为守护进程、认识 Alfred 并可选绑定 Telegram。
- 守护进程注册在桌面端一键完成(并会自动识别已安装的 Claude Code、Codex 等代理 CLI),浏览器端则提供分步命令。每一步都可以跳过。
改进
- 个人资料新增「消息渠道」区块,用于管理 IM 绑定(生成验证码、查看绑定列表、解绑),并会提示服务器是否已配置机器人。
- 会话标签页改用 Inbox 图标,与 iOS 端保持一致。
- 下载链接改为指向 oatnil.com/download,/subscribe 页面已下线。
问题修复
- 修复零看板的新账号在看板页触发的请求风暴。
- 管理后台的系统配置现在会显示财务分类(基础货币与汇率)。
v0.119.0 (2026-07-25)
新功能
无需 Docker 的私有部署——npm 裸机安装
npm install -g @oatnil/ud-server @oatnil/ud即可获得完整的 UnDercontrol:server 二进制自带 Web UI。- 一条命令启动完整站点:
ud-server -host-domain http://localhost:8080 -data-path ./data,浏览器直接登录,全程无需 Docker。
自部署服务器的清晰启动横幅
- 服务器启动时会打印就绪横幅,包含登录地址和初始账号凭据,首次部署不再需要翻日志。
- 配置错误(如 Pro/Max 档缺少
ADMIN_EMAIL)会在启动时以醒目横幅报错并停止,而不是带病运行。
CLI 管理资产(possession)
- 新增
udpossession 命令:get/describe/apply/delete,以及acquire、dispose、share。
改进
- 所有 Docker 镜像(all-in-one 与前后端分离版)现同时发布 arm64 与 amd64——Apple Silicon 和 ARM 服务器可原生拉取。
问题修复
- 支出/收入时间戳改为按 UTC 瞬时存储,修复跨时区可能差一天的问题。
- 小票识别现在会拒绝非小票图片,并读取票面打印日期而不是默认当天。
- 处理中被中断的 AI 任务现在会标记为失败,不再静默丢失。
- 首页"接入你的 Agent"流程现在复制正确的 GitHub raw 链接。
升级说明(自部署)
- Personal 档:账号密码现在由
PERSONAL_TIER_PASSWORD环境变量控制,应用内改密已禁用——以保证桌面端 Start 自动登录一致。如需改密,修改该环境变量即可。
v0.118.1 (2026-07-23)
改进
代理现在知道是谁在跟它说话
- 当代理被提及、会话消息或广播触发时,触发提示语中现在会写明发送者的名字(显示为
User @名字/Agent @名字)。 - 代理的回复能对准正确的人,而不再是笼统的"某个用户",多代理协作和提及对话中"谁说了什么"更清晰。
v0.118.0 (2026-07-23)
新功能
从支出直接创建物品
- 支出详情页新增"创建物品"操作。
- 用这笔支出的信息预填物品表单,一步把一次消费变成一件可追踪的物品。
- 原支出不会被修改 —— 系统新建一条物品记录并回链到它。
首页新增"让你的 AI 代理接入 UnDercontrol"按钮
- 点一下复制一行指令,粘贴给任意 AI 代理即可。
- 代理会自己读取接入说明,装好 CLI 并连上你的工作空间。
ud describe skill <名称> -o content
- 只输出技能正文,不带元信息头。
- 可以直接重定向成
SKILL.md文件,或用管道喂给代理。
改进
代理会话能自行找回身份
- 首次提及的初始化消息偶尔会送不到,会话就一直没有自己的身份设定。
- 现在后续的每次提及和回复都会提示会话去加载自己的代理设置。
问题修复
技能页的复制按钮给的是已废弃命令
- 复制出来的
ud prompt <名称>早已从 CLI 移除,粘贴执行会直接报错。 - 现在所有复制命令和应用内文档都指向
ud describe skill。
网页版一直停在旧版本
- 自 0.117.1 起前端构建因内存不足持续失败,导致 ud.oatnil.com 始终是 0.117.0 的包。
- 已修复,网页版恢复正常更新。
v0.117.1 (2026-07-21)
问题修复
物品日期在非 UTC 时区被记错一天
- 购入与处置日期此前会被存成前一天(UTC 以东)或后一天(UTC 以西)。
- 这会导致持有天数与每日成本算错 —— 东八区看到的每日成本约为真实值的一半,且不易察觉,因为减半后的数字看起来仍然合理。
- 现在你选的日期会被原样记录。
升级说明
- 本次修复前创建的物品记录,仍保留当时存下的日期,系统不会自动重算持有天数。如果某件物品的每日成本看起来不对,重新选择一次它的购入日期即可修正。
v0.117.0 (2026-07-21)
新功能
物品 — 记录你拥有的东西,以及每天为此付出的成本
- 全新的物品模块:记录购入价格与时间,实时查看持有该物品的每日成本。
- 完整生命周期:心愿 -> 使用中 -> 退役 / 售出 / 遗失。成本按读取时间推导,无需任何记账操作,数字始终是最新的。
- 以「售出」方式处置物品时,可直接把所得记入收入。
- 超过预期寿命会显示「目标已达成」,不是超支警告 —— 用得比计划久是好事。
- 物品已接入资源管理器目录树,并加入侧边栏的财务分组。
- 每日成本小到两位小数无法显示时,会改为给出月度金额,而不是显示「0.00/天」。
多币种账户
- 账户总额按币种精确列出,不同币种的余额不再被相加成一个没有意义的数字。
- 可选择把全部资产折算到你指定的某一种展示币种,使用系统设置中配置的汇率。
- 仪表盘、趋势图和账户列表只有在单一数字确实成立时才显示合计,否则改为按币种分项展示。
- 折算无法覆盖全部资产时,会明确指出被排除的币种,而不是悄悄少算。
- 创建账户时币种通过下拉选择,不再手工输入。
改进
- 收入模块补全:独立列表页、路由与汇总。
- 汇总与现金流数据全面支持多币种。
- 有汇率时,币种明细按实际价值排序,而不是按原始金额排序。
- 无法折算时的提示更明确,会指出具体是哪种币种缺少汇率,而非一句笼统提示。
- 精简了即时生效操作上多余的成功提示。
问题修复
- 以群组方式共享的预算,其中的支出现在对群组成员可见。此前只有按用户共享生效,成员能看到预算却看不到里面的任何支出。
- 修复群组共享场景下支出与收入的权限校验缺口。
- 以 0 余额创建账户可正常完成。此前会被判为「格式无效」,而把已有账户改成 0 却能成功。
- 小到无法存储的金额会被拒绝,不再被静默保存为 0。
- 折算总额中的预算内与预算外两部分,现在与总额一致。
- 有价值但不足 0.01 的持仓显示为「< 0.01」,不再显示 0。
- 请求中格式错误的币种代码会被拒绝,而不是被忽略。
升级说明
- 创建账户时的币种现在限制为有效的 ISO-4217 代码。已有账户不受影响,无需迁移。自建部署中使用积分、代币或本地凭证作为账户币种的用户,将无法再用自定义代码创建账户。
- 折算到单一币种依赖系统设置中的汇率,属于 Pro 功能。个人版仍可获得精确的分币种明细。
v0.116.0 (2026-07-20)
新功能
- 表格支持电子表格式粘贴 —— 可以把 Google Sheets、Excel 或 CSV 的多单元格数据直接粘贴到任意单元格:行列从所选单元格开始展开,多行内容也能正确解析。
- 全页对话视图 —— 在专门的页面中浏览所有评论线程:左侧为线程列表,右侧为对话详情。
- 对话弹出独立窗口 —— 通过新的弹出图标,把任意对话线程在独立窗口中打开。
体验优化
- 终端缩放控件 —— 工作区终端的缩放控件改为半透明浮动悬浮层,把整个窗格留给输出内容。
- 只读终端铺满窗格 —— 只读终端现在会按比例铺满窗格,并跟随外部终端的尺寸变化。
- 对话筛选条自动换行 —— 筛选标签会换行显示,不再隐藏在横向滚动中。
- 对话打开更快 —— 展开对话时自动打开第一个线程,并预加载后续线程。
问题修复
- 表格编辑 —— 直接输入编辑单元格不再丢失第一个字符;剪切或删除选区现在是单次撤销操作;CSV 分隔符检测和 Markdown 转义更加健壮。
- AI 聊天布局 —— 过长的消息内容不再横向溢出聊天面板。
- 资源删除 —— 删除已上传的文件时,会从你配置的存储服务中真正删除文件。
v0.115.0 (2026-07-18)
新功能
- 零配置敏捷冲刺(Sprint) —— 看板现已支持 Scrum 风格的冲刺,无需任何设置:在新的 Backlog 页面创建第一个冲刺,看板会自动启用冲刺相关功能。
- Backlog 待办池页面 —— 在专门的待办池中规划工作:按冲刺分区展示,拖拽任务加入冲刺,并支持就地快速创建任务。
- 看板冲刺范围栏 —— 看板顶部新增冲刺范围栏,一键将视图聚焦到当前活跃冲刺。
- 报表:燃尽图与速率图 —— 新的 Reports 标签页展示冲刺燃尽图和团队速率,数据来自每日自动快照。
- 冲刺仪式 —— 开始冲刺时可用日期预设快速设定周期;完成冲刺时的结算对话框会把未完成任务顺延到下一个冲刺,并生成逐项的回顾小结。
- 风险提醒与 WIP 超限警告 —— 列内任务超过 WIP 上限时看板会给出警告,有风险的冲刺任务会自动收到风险提醒评论。
- Jira 风格视图标签 —— 看板各页面统一为 Board / Backlog / Gantt 命名视图标签,共享页头并在所有页面提供看板切换器。
- 任务敏捷字段 —— 任务新增内置敏捷字段(如所属冲刺),可在任务详情中直接编辑,也可在看板查询中使用。
- CLI 冲刺管理 ——
ud sprint close可在终端完成冲刺结算与顺延;ud patch task --set支持修改任务元数据(含 JSON 数组/对象);并内置了 agile 技能与 cook 配方。
体验优化
- 更紧凑的看板布局 —— 标签页内联到页头,冲刺范围并入筛选栏,甘特图页头统一为单行,给任务留出更多空间。
- 创建任务支持灵活日期格式 —— 创建任务时(API 与 CLI)可使用更宽松的日期写法。
- 冲刺标题可点击 —— 冲刺分区标题直接链接到冲刺任务详情,可在那里编辑起止日期。
问题修复
- 定向的 Agent 回复不再广播 —— 指定会话的回复不会再发送到其他绑定的会话。
- Agent 启动失败会回报到线程 —— Agent 会话初始化失败时,错误信息会回复到触发它的评论线程中。
- 自定义字段类型正确显示 —— 字段类型与选项来源现在显示正确的名称。
- 报表与待办池按看板正确过滤 —— Backlog、冲刺列表与进度查询遵循看板范围,切换看板时报表会重置所选冲刺。
v0.114.0 (2026-07-18)
新功能
- CLI 同步支持 Obsidian 风格的 Vault 布局 ——
ud init现在默认创建 Vault 布局:任务以普通 Markdown 文件呈现,笔记会以可见的notes/文件夹落地,整个目录可以直接作为 Obsidian 仓库使用。 - Wikilink 双向转换 —— Vault 文件中的
[[wikilink]]在 push 时会转换为 ud 任务链接,pull 时再转换回来,两边的链接都始终可用。 - 文件名支持空格与特殊字符 —— 同步路径现在允许空格和绝大多数特殊字符,仅拒绝文件系统本身禁止的字符。
- 拉取时下载附件 ——
ud pull --fetch-attachments会把任务附件一并下载到你的 Vault 中。 - 一键迁移现有目录 ——
ud migrate-layout可将现有的 ud 布局目录就地转换为新的 Vault 布局。
问题修复
- 自己的修改不再被误判为冲突 —— 同步不再把你刚推送的更改报告为冲突,时间戳比较也改用完整的纳秒精度。
- 点文件正确同步 —— 点文件资源(如
.gitignore)在 pull 时会原样落地,需要去重时也会使用合理的文件名。 - pull 能合并内容相同的未跟踪文件 —— 当本地存在内容完全相同的未跟踪文件时,pull 现在会直接将其纳入跟踪,而不是报错。
v0.113.0 (2026-07-16)
新功能
- 编辑器与查看器支持 LaTeX 数学公式 —— 随处书写数学公式:使用行内公式,或通过斜杠菜单插入公式块,编辑与查看模式(包括 AI 聊天回复)都会以 KaTeX 精美渲染。
- 个人全局指令 —— 只需设置一次你的全局指令,之后启动的每个 AI Agent 会话都会自动遵循。
改进
- 终端查看器缩放控制 —— 只读终端视图新增 +/- 缩放按钮,小屏和移动端也能轻松阅读长输出。
- 终端输出保持原始排版 —— 只读终端中的长行不再意外折行,视图会根据内容自动调整尺寸。
- 更简洁的站点页头 —— 公共站点的页头导航已简化。
v0.112.1 (2026-07-15)
改进
- AI Agent 会话不再卡在交互式提问 —— Agent 会话现在会自主运行到底,不会因等待用户回复而停住。
问题修复
- 预算与支出按各自币种显示 —— 预算和支出现在以各自的币种展示,而不再统一使用单一全局币种。
- 应用内 Markdown 链接正确跳转 —— 应用内的 Markdown 链接现在会正确地通过应用内路由跳转,不再中断导航。
- AI 聊天设置链接直达 AI 设置 —— AI 聊天中的设置链接现在会直接跳转到 AI 设置区域。
v0.112.0 (2026-07-14)
新功能
- 对话图片全屏灯箱 —— 点击对话中的任意图片即可全屏查看,并支持拖拽平移与缩放,方便查看细节。
改进
- ud 助手现在统筹整个团队 —— 默认的 ud agent 现在作为所有顶层团队 lead 之上的根管理者,跨团队协调工作,而非各自为战。
- 更清晰的 CLI 守护进程反馈 ——
ud守护进程启动现在会根据捕获的输出如实报告成功或失败,而不再静默吞掉错误。
v0.111.0 (2026-07-12)
改进
- 更智能的 Agent 团队委派 —— 团队 lead 现在默认通过 AI 工具自带的 subagent 能力向专家委派工作:运行
ud describe agent <name> -o prompt即可获得可直接注入的身份 prompt(人设、技能、工作约束),把专家作为 subagent 启动,结果直接在线程中汇报。@mention 委派仍然保留,用于其他机器上的专家和长时间后台任务;只能远程触达的成员现在会在团队名册中明确标记。同时引导 lead 优先委派而非事事亲为,专注于协调与 review。
v0.110.0 (2026-07-11)
新功能
- Running 徽章可聚焦窗口 —— 点击工作区的 Running 徽章,如果该工作区窗口已在本机打开,现在会直接将其调至前台,而不是毫无反应。
- 自动检测卡住的工作区启动 —— 工作区会话若迟迟未能启动,现在会在超时后自动标记为失败,并在任务评论线程中通知你,不再无声地卡在"启动中"。
改进
- 更快的终端重连 —— 重新打开工作区终端时,现在通过快照恢复屏幕内容,而不是重放全部历史输出,重连更快更干净。
- 更清晰的终端渲染 —— 终端改用 WebGL 渲染,字体大小自适应更准确,原始输出显示也更正确。
问题修复
- 未配置项目目录时工作区无法启动 —— 未配置工作目录时,现在会自动创建专用沙盒目录,而不是启动失败。
- 多余的 "~" 文件夹 —— 修复桌面应用在安装工作区钩子时,会在项目目录下创建一个字面量
~文件夹的问题。 - 会话预览 —— 会话侧边栏现在预览线程中最新的回复,而不是旧消息。
v0.109.0 (2026-07-08)
改进
- Markdown 编辑器全都支持复制命令 —— 复制为富文本、复制为 Markdown、复制 Markdown 链接现在在每一个 Markdown 编辑器中都可用——任务和笔记描述、支出/收入/账户备注以及看板预览,不再只限于任务详情页。
- 更简洁的看板工具栏 —— 看板头部重新设计为极简统一的工具栏:常用图标操作保持可见,其余功能收纳进溢出菜单;移动端与桌面端共用同一套响应式布局。
- 更智能的内置
@ud智能体 —— 默认的@udAI 智能体现在作为编排者:它了解完整的智能体阵容,先与你澄清需求,再把工作分派给专职智能体,而不是自己全部包办。
v0.108.0 (2026-07-08)
安全
- 修复高级搜索中的一个 SQL 注入漏洞:精心构造的自定义字段名可能被注入到底层查询语句中。
新功能
- 统一搜索栏 —— 高级搜索现在整合为一条查询栏,含三种模式:筛选(可视化标签)、查询(类 SQL 语句)、问 AI(用自然语言描述)。筛选条件即增即用、即时生效;在「筛选」和「查询」之间切换不会丢失已有条件;还有实时有效性提示,告诉你查询是否可用。
- 看板列支持按更多字段筛选 —— 看板列现在不仅能按状态、标签,还能按标题、描述等字段匹配,并新增「同时包含多个标签」选项。列编辑器会实时预览生成的查询语句,并为模糊匹配给出通配符提示。
改进
- 看板:按只读字段(如标题)筛选某一列时,不会再在卡片拖入该列时误改这些字段。
问题修复
- 修复任务详情页终端(tty)的对齐和缩放问题。
v0.107.0 (2026-07-06)
新功能
- 智能体团队 —— 把 AI 智能体编成团队(一个负责人 Lead + 若干专长成员)。每个成员都带一条「何时委派给它」的说明,这份名册会自动注入到 Lead 的会话里,让它知道该把哪类活儿交给谁;团队还能嵌套成委派层级。在全新的 智能体 中心(智能体 · 团队 · 技能 三个标签页)里管理,或用
udCLI(ud apply/ud get agent-team)操作。 - 复制为富文本 —— 右键任务或其描述,即可复制为富文本,方便粘贴到其它应用。
改进
- 评论线程:解决线程时,操作从原来的「解决 + 删除」改为 解决 + 标记完成 + 终止。
- 文件浏览器:附加到任务上的资源,现在会和该任务并列展示。
v0.106.0 (2026-07-06)
新功能
- 粘贴的图片更整洁 —— 粘贴或插入图片时,会自动归入专属的
/system/pasted-image/文件夹,不再散落在文件浏览器根目录 - 更智能的工作区守护进程选择 —— 工作区会话会优先复用你上次使用的守护进程,而不再总是随机选取第一个在线的
问题修复
- AI 对话:失败的工具步骤现在会明确显示为错误状态,不再错误地显示为绿色「完成」;当工具调用达到次数上限时,会显示清晰的提示
- AI 对话:放大模式下的长消息现在居中显示、行宽更舒适,阅读更轻松
- 工作区:会话控制按钮在窄小面板中不再被裁切遮挡
v0.105.0 (2026-07-05)
新功能
- CLI 新增
stop-workspace-session命令,可真正终止正在运行的智能体会话(而不仅是更新状态)
体验优化
- 智能体会话新增默认工作区回退 —— 当未配置工作目录时,会话会运行在专属的「默认」项目中,确保每个会话都有真实、可见的工作目录
- 当 @智能体 提及无法启动会话时(例如没有在线的智能体守护进程),现在会在讨论串中回复明确的错误提示,而不再悄无声息地失败
问题修复
- 修复只读终端在工作区会话尺寸变化后出现乱码的问题 —— 所有查看端会立即重新应用新尺寸
- 修复任务浏览器刷新后未反映状态、路径或标签变化的问题
- 修复后台子智能体仍在运行时 Claude Code 状态却显示「空闲」的问题
v0.104.0 (2026-07-05)
体验优化
- Markdown 编辑器移除弹窗编辑模式 —— 禅意模式(全屏编辑)现在是唯一的编辑方式
- 任务详情页优化编辑态交互、引导流程失败时不再阻塞使用、大纲支持分组展示
- 任务详情页错误状态支持重试、空字段单击即可编辑、弹窗无障碍体验提升
- 编辑器中此前硬编码的文案已完成多语言本地化
问题修复
- 修复部分界面显示原始多语言 key 而非正常文案的问题
- 修复 Markdown 编辑器可能丢失未保存内容的问题
- 修复编辑器链接中不安全协议未被过滤的问题
- 修复工作区新建会话窗口遮挡当前聚焦窗口的问题
v0.103.0 (2026-07-04)
新功能
- 工作区会话窗口现在会在后台打开 —— 点击状态指示器即可聚焦对应窗口
- 点击工作区会话标题即可在弹窗中预览关联任务
体验优化
- 工作区分组切换按钮改为图标样式,并附带悬停提示
- 撰写消息的智能体选择器支持键盘导航,切换收件人时会保留草稿
- 只读终端现在支持滚动和复制文本
问题修复
- 快速笔记提及任务时,不再在标题、描述与评论中重复相同内容
v0.102.0 (2026-07-04)
新功能
- 工作区页面全新移动端响应式布局 —— 小屏幕下从会话列表逐级进入详情视图
- 工作区会话列表支持按智能体或守护进程分组,分组选择会被记住
- 工作区侧边栏的会话列表项悬停时显示停止按钮,可直接停止会话
- 只读终端支持缩放适配窗口,终端尺寸会跟随查看者窗口调整
- 工作区侧边栏的折叠状态会跨会话保留
- CLI:
ud apply --dry-run可在应用看板前预览变更操作,看板列配置支持无损导出与回传
体验优化
- 向远程工作区会话发送输入现在需要 Cmd/Ctrl+Enter,避免误发
- 会话讨论侧边栏与资源管理器侧边栏现在互斥 —— 打开一个会自动关闭另一个
问题修复
- 终端启动前会校验工作区工作目录 —— 路径无效时显示明确错误,而不是黑屏终端
- 生成工作区会话提示词时正确应用运行对话框中的选项
- 移除工作区会话输入框占位符中过时的快捷键提示
v0.101.1 (2026-07-03)
问题修复
- 修复后端在应用 v0.101.0 数据库迁移时无法启动的问题(影响自托管 Docker 镜像与二进制文件,桌面应用与 CLI 不受影响)
v0.101.0 (2026-07-03)
新功能
- 新增
ud init命令 —— 将现有本地文件夹绑定到虚拟路径,再用ud push发布;跟踪文件夹现在会绑定到 pull 时的路径(类似 git clone),不带参数的ud pull会增量同步所有已跟踪内容 - 工作区会话无需先选择任务即可启动 —— 全新的“提示词优先”运行对话框,设置折叠为摘要行
- 工作区会话现在按工作目录分组,并且完全取消了并发工作区数量限制
- 新增 Gemini、GitHub Copilot、Qwen 作为本地工作区会话的内置智能体
- 数据流(Dataflow)已完整支持中英文界面
体验优化
- 资源列表加载大幅提速 —— 下载链接现在会被缓存并随列表返回,不再对每个资源单独请求
- 数据流视觉焕新 —— 扁平节点、正交连线、描边分组,拖拽更流畅,不再触发整个画布重绘
- 会话讨论统一收进侧边栏面板,移除了独立的整页视图
问题修复
- 资源管理器:拖放目标高亮现在清晰可见,拖动经过文件夹时保持稳定
- 数据流:修复重命名/复制/删除时的撤销与数据损坏问题、图标节点锚点跳动、以及任意方向连接点的管道渲染
- 工作区:终端历史不再重复渲染,运行对话框不再裁剪输入框焦点边框
- 修复路径格式不一致时 pull/push 产生重复文件夹的问题
升级说明
- 旧的本地同步(local-sync)功能已从应用、桌面端、CLI 和后端全面移除 —— 请改用新的跟踪文件夹工作流(
ud pull到本地文件夹,编辑后ud push)。旧版 v1tracking.json文件夹不再受支持,请用当前版本 CLI 重新 pull
v0.100.0 (2026-07-02)
新功能
- 新增
ud pull、ud push、ud status命令 —— 以类似 git 的方式在本地文件与服务器之间手动同步任务、笔记和资源:先 pull 到本地文件夹,本地编辑后用ud status查看变更,再 push 回服务器 - 评论会话头部新增“解决并删除任务”按钮 —— 一键结束讨论并删除对应的评论任务
体验优化
- 工作区会话启动失败时,现在会显示来自守护进程的具体错误信息,不再静默失败
v0.99.29 (2026-06-29)
体验优化
- 工作区会话详情现在展示只读的实时终端画面,取代原有的笔记视图
- 任务列表加载更快 —— 笔记与分享链接改为批量加载,去除了大量重复查询
- 命令行浏览任务更快 ——
ud tree与层级视图改用专用的轻量接口
问题修复
- 工作区终端:早期输出会先缓冲直到界面就绪,不会再丢失最开始的几行内容
- 修复了任务树 / 层级视图此前无法访问的问题
升级说明(自托管用户)
- 启动时现在必须设置
HOST_DOMAIN,请在部署配置中填写,否则后端将无法启动
v0.99.28 (2026-06-28)
新功能
- 工作区焕新 —— 活动会话现在采用全高的主从(master–detail)布局(/workspaces),子导航中以“数量胶囊”实时显示会话数量,空状态更友好并提供醒目的“新建会话”入口
- 更顺畅的引导流程 —— 选择语言后,UnDercontrol 会自动为你初始化一个欢迎看板,并最大化打开“快速笔记”,让你立即上手
- 系统级存储上限 —— 管理员现在可在「管理 → 存储」中设置所有用户合计的总存储容量上限,与单文件大小、单用户配额并列
- 在没有安装 ud CLI 的情况下启动本地工作区时,桌面应用会主动询问是否为你安装
体验优化
- 优化了侧边栏导航栏,线条风格更轻盈、更统一
- 首页“立即体验”按钮现在会直接跳转到全屏加载页面,反馈更清晰
问题修复
- 管理员设置的“最大文件大小”现在会立即对所有用户生效
- 工作区会话控制(停止、截图、发送输入)现在会准确作用于具体会话,而不是整个任务
- 桌面工作区中的后续“@提及”提示词现在能正确提交
- 任务详情不再短暂显示“Invalid Date”,改为显示占位骨架
- 打开资源管理器不再覆盖已加载的任务内容
- 移除了空会话列表中多余的“运行”按钮
v0.99.27 (2026-06-27)
新功能
- 资源详情页现在可直接播放视频文件,并提供完整的播放控件(播放、进度条、音量、全屏)——视频不再显示“无法预览”
体验优化
- 桌面应用的更新检查简化为一个“检查更新”按钮:它会告诉你当前是否为最新版本,或在有新版本时提供下载按钮。现在会自动选择最佳下载镜像,并修复了与更新相关的启动崩溃问题
- 文件无法预览或下载时的错误提示更清晰——现在会显示具体原因(文件丢失、链接过期、存储不可用),而不再是笼统的“文件未找到”
v0.99.26 (2026-06-26)
问题修复
- 修复了桌面应用有时无法启动、报错 “Backend failed to start within 30s” 的问题,现在后端可稳定启动
体验优化
- 桌面应用现在会在向你的项目添加 Claude Code hooks(用于实时显示工作区状态)之前先征求你的同意,可在引导流程中选择或随时在“个人资料 → CLI”中开关;未经允许不会写入任何 Claude Code 配置
v0.99.25 (2026-06-21)
新功能
- 浏览器侧边栏高亮当前活动任务
- CLI 新增
path作为ud query的内置查询字段 - 技能现在可在浏览器 API 中浏览
问题修复
- 修复
ud sync resources上传大文件(如 MP4)超时失败的问题 - 修复 Agent 回复包含自身提及时导致无限循环的问题
- 修复任务详情页面刷新时短暂显示空白状态的问题
v0.99.24 (2026-06-19)
新功能
- CLI 新增
ud share和ud unshare命令,管理任务、预算、支出、收入、账户的群组共享 - CLI 新增
ud patch resource子命令,用于更新资源属性 - 移动端浮动按钮组新增搜索按钮
- 浏览器头部新增手动刷新按钮
- 删除任务后自动导航到上一个任务
改进
- Agent 之间的评论线程回复路由,支持速率限制
问题修复
- 改善评论回复通知的可读性
- 修复浏览器实时刷新中路径字段变更未正确同步的问题
v0.99.23 (2026-06-18)
新功能
- 会话侧边栏中的任务状态图标现在可点击,快速切换状态
问题修复
- 修复会话详情头部按钮显示多余文字标签的问题
- 修复会话中状态下拉菜单被其他元素遮挡的问题
v0.99.22 (2026-06-18)
新功能
- 统一资源浏览器:任务和资源整合到同一棵树中,支持拖拽移动和文件夹操作
- 浏览器增量同步:使用 IndexedDB 缓存,仅同步变更内容,加载更快
- 未归档区:无路径的条目集中显示在"未归档"区域
- 浏览器右键新建:右键菜单新增"新建图表"、"新建数据流"、"新建表格"
- 代码文件预览:支持 JSON、JS、CSS、XML 等代码/数据文件的内联预览
- 在浏览器中定位:任务和资源均可通过"在浏览器中显示"快速定位
- 任务状态图标:浏览器树中的任务显示状态图标
- 笔记节点样式面板:数据流笔记节点支持颜色预设和字号调整
- 聚焦窗口按钮:工作区会话控制新增聚焦窗口按钮
- 重发初始化按钮:工作区会话支持重发初始化提示词
问题修复
- 修复切换标签页后浏览器不自动同步的问题
- 修复右键文件夹内容时路径不正确的问题
- 修复浏览器右键菜单被面板遮挡的问题
v0.99.21 (2026-06-16)
新功能
- 数据流 Kubernetes 图标:新增 22 个 K8s 资源图标(Pod、Deployment、Service、Ingress、CRD 等),以及 Cluster、Namespace、Node 分组预设
- 数据流序号图标:新增 1–20 的圆形数字图标,用于标注步骤和排序
- AI 对话评论管理:AI 助手现在可以直接创建、编辑和删除任务评论
- AI 浮窗对话:侧边栏收起时可以弹出 AI 对话浮窗
改进
- 数据流笔记节点使用等宽字体,提升可读性
- 优化页面渲染性能 — 乐观更新和 stale-while-revalidate 缓存策略
问题修复
- 修复数据流编辑器中样式面板在拖拽时不跟随节点/连线移动的问题
- 修复技能/提示词选择器被浮动对话面板遮挡的问题
- 修复终端会话输出恢复时的竞态条件
v0.99.20 (2026-06-15)
新功能
- 数据流形状节点:新增 8 种几何形状 — 矩形、圆角矩形、圆形、菱形、平行四边形、六边形、三角形、圆柱体
- 数据流连线样式:自定义连线颜色、宽度、虚线样式和流动动画
- 未保存提醒:离开数据流编辑器时提示未保存的更改
- 资源预览:点击资源弹出预览,无需下载
- 浏览器侧边栏:浏览器改为可切换的侧边栏,随时快速访问
- 工作区线程绑定:通过 @提及触发的工作区会话立即绑定到线程
改进
- 资源节点支持所有文件类型,不再限于图片
问题修复
- 修复数据流编辑器中点击样式面板导致节点取消选中的问题
- 修复移动端键盘弹出时按钮和弹出框被关闭的问题
- 修复桌面端侧边栏对话视图缺少返回按钮的问题
v0.99.19 (2026-06-14)
新功能
- 对话侧边栏新增"新建对话"按钮(+),可直接在浮窗面板中发起新对话
- 新建对话时支持技能和提示词选择器,快速插入技能引用
改进
- 侧边栏折叠时,点击对话图标直接打开浮窗面板,无需跳转页面
- 对话侧边栏从缓存即时加载,后台静默刷新
v0.99.18 (2026-06-14)
新功能
- 移动端对话浮窗切换器:左侧滑出面板,支持筛选、会话状态徽章,快速切换对话
- 对话浮窗模式:点击对话直接在弹出面板中查看和回复,无需离开当前页面
- 对话列表按最后活动时间排序(包括回复时间)
改进
- 工作区切换按钮在弹出窗口打开时保持可见
- 浮动边缘按钮统一为共享组件,自动堆叠,间距一致
v0.99.17 (2026-06-14)
新功能
- 回收站:支持查看已删除任务详情和永久删除
ud tree命令:以树状结构可视化任务层级关系ud get task -l <tag>标签过滤和ud get tags标签聚合视图- CLI 支持访问已软删除的任务
问题修复
- 分页提示现在更加醒目,带有 --page/--all 操作提示
v0.99.16 (2026-06-14)
新功能
- 表格编辑器全面升级:类 Google Sheets 交互体验,支持单元格选择、键盘导航、拖拽选择
- 多工作表支持,工作簿数据模型
- 新增布尔复选框和日期列类型
- 列宽拖拽调整
- 支持 Excel 粘贴、Markdown 复制/导出、剪贴板操作
- 右键上下文菜单和行高调整
- 选区增强:Ctrl+A 全选、列选择、选区边框
问题修复
- 修复进入编辑模式时行高跳动的问题
- 修复单元格轮廓颜色和输入光标可见性问题
- 消除单元格选择中的双边框伪影
v0.99.15 (2026-06-13)
新功能
- 支持通过
ud apply更新资源元数据 - 工作区会话新增为 CLI 资源类型(
ud get workspace-session、ud describe workspace-session) - 基于文件的同步锁,防止并发访问冲突
问题修复
- 修复资源在全屏页面无法预览的问题
- 修复文件浏览器中文件夹移动操作不生效的问题
- 修复评论变更通知未送达的问题
v0.99.14 (2026-06-12)
新功能
- Explorer 侧边栏现在可以加载全部任务,完整展示文件夹树结构
- CLI: 新增
ud patch task --path命令,快速将任务移动到虚拟文件夹中(如ud patch task abc123 --path docs/design)
改进
- CLI 路径参数自动补全前导
/,无需手动输入
v0.99.13 (2026-06-12)
新功能
- 评论和对话中的实体协议链接(如
task://)现在可以点击跳转 - 侧边栏新增置顶任务展示
- CLI: 新增
ud cook命令(覆盖全部 15 种 API 资源的 cookbook 示例)和ud patch命令(支持评论--status参数)
问题修复
- 修复评论锚点高亮不生效的问题(点击评论链接现在能正确滚动并高亮对应评论)
- 修复 CLI
bind task --project发送错误 JSON 字段名的问题
v0.99.12 (2026-06-09)
新功能
- 侧边栏中「对话」移至「AI 助手」旁边,新增「AI 与对话」说明文档
- CLI: 新增
ud get resource和ud describe resource命令,支持日期过滤(--since、--before) - CLI: local-sync 成为内置代理,新增
--create-dir和--create-project参数
问题修复
- CLI: 资源表格现在显示完整 UUID
v0.99.11 (2026-06-09)
新功能
- 所有
ud get命令和ud describe comment/income新增-o apply参数,支持直接输出 apply 兼容格式,便于管道操作和自动化
问题修复
- 修复代理提及下拉菜单因缓存未及时刷新导致列表不更新的问题
v0.99.10 (2026-06-09)
新功能
- 笔记现在可以通过笔记 ID 直接访问 — 读取、更新、删除操作不再需要指定父任务 ID
- 新增
ud describe note命令,可查看笔记详情并以 apply 兼容格式导出
改进
- 简化
ud delete note命令,只需提供笔记 ID 即可(之前需要同时提供任务 ID 和笔记 ID)
v0.99.9 (2026-06-07)
新功能
- 资源预览支持 .dataflow.json 文件格式
- 双击编辑任务标题(移动端单击即可编辑)
- 任务评论侧边栏支持粘贴图片和上传文件
- 新增内置 dataflow-creator 代理
改进
- 移动端对话页面体验优化(更宽的聊天气泡、隐藏标签和外部链接按钮)
- 移动端资源详情页导航按钮移至独立行
- 管理员配置导航标签支持移动端横向滚动
- 对话标题栏仅显示状态图标,更简洁
问题修复
- 修复任务评论中 taskId 引用错误
v0.99.8 (2026-06-05)
新功能
- 对话中支持上传文件附件
- 对话中支持 conversation:// 链接,可复制评论 ID 生成引用链接
- 对话线程标题栏新增任务状态选择器
- 对话回复窗口支持 @提及 团队成员
- 数据流中粘贴 resource:// URI 可直接创建资源节点
问题修复
- 修复对话回复中提及下拉菜单弹出方向
- 修复资源节点缺少默认尺寸导致图片无法渲染
- 修复管理员页面未显示功能开关配置项
v0.99.7 (2026-06-03)
新功能
- 元素面板(Elements Panel):全新的架构图绘制能力
- 图标节点:内置 AWS、Azure、Lucide 等图标库,支持两级分类侧边栏浏览
- 图标样式自定义:SVG 描边颜色、填充色、边框颜色
- 分组节点增强:支持图标、样式预设和嵌套分组
- 架构导入格式(Format A+):支持嵌套分组的架构图导入
- 管理员可控制任务公开分享开关
- Markdown 中通过 resource:// 协议内联渲染 HTML 资源,支持自适应高度、下载按钮
- 工作空间运行对话框新增任务选择器
- 任务详情页新增执行按钮
问题修复
- 修复数据流中分组的层级和拖拽行为
- 修复图标 SVG 描边颜色显示问题
- 修复任务选择器下拉框鼠标滚轮不可用的问题
- 修复 HTML 嵌入高度问题
v0.99.6 (2026-06-02)
新功能
- AI 对话支持文件附件和语音录入
- AI 对话消息在页面切换后自动保留,不再丢失
改进
- HTML 资源预览采用沙箱渲染,更安全流畅
- AI 对话界面精简,释放更多对话空间
问题修复
- 修复资源预览被父容器裁切的问题
- 修复分隔栏按钮遮挡弹窗的问题
- 修复对话输入框图标未垂直居中的问题
v0.99.5 (2026-05-31)
新功能
- 新增
ud get income命令,支持从 CLI 查询收入记录
问题修复
- 修复工作空间中 Agent 间 @提及委派失败的问题
v0.99.4 (2026-05-31)
新功能
- 社区技能注册表:通过
ud market命令浏览、安装和分享技能
改进
- 移动端任务详情:底部操作栏精简,将置顶和签到移入更多菜单
问题修复
- Ctrl+J 打开 AI 聊天时自动聚焦输入框,可直接开始输入
- 修复对话弹窗显示侧边栏等多余 UI 的问题
v0.99.3 (2026-05-30)
新功能
- AI 对话弹出窗口:支持 Ctrl+J 快捷键将 AI 对话弹出为浮动窗口
- 对话线程弹出按钮:对话线程视图新增弹出按钮
- Ctrl+K 快捷键聚焦主窗口
- Markdown 嵌入文档页
改进
- 任务详情右侧边栏滚动时保持吸顶
- 大纲导航精准定位可见元素
问题修复
- 修复待办清单项路径字段更新时未持久化的问题
- 修复 AI 对话页面 Tooltip 显示异常
- 弹出图标更新为更直观的 ExternalLink 样式
v0.99.2 (2026-05-30)
新功能
- 移动端折叠式布局:任务详情和资源管理器页面支持折叠各区块(会话、评论、描述、备注、详情),底部操作栏新增评论按钮
- AI 聊天建议:AI 助手对话新增引导提示词,支持随机话题池
- Agent 评论线程:Agent 对话现使用评论线程,保持任务内容整洁
- 定时任务:新增定时调度 Agent 任务功能
- 数据流集合运算:数据流节点支持 JSON 字段集合运算
改进
- 评论状态模型优化:"已标注"现为终态,适用于无需办结的备注型评论
- 对话页面默认显示未解决的线程
问题修复
- 修复 AI 聊天消息在移动端溢出的问题
- 修复工作区会话停止后因 SSE 竞态条件重新出现的问题
- 移除评论线程中重复的回复按钮
- 修复移动端隐藏区块仍显示分隔线的问题
v0.99.1 (2026-05-28)
新功能
- 对话星标:Gmail 风格的星标功能,快速收藏重要对话
- 对话输入框新增 Prompt 和 Skill 选择器
- 对话解决状态支持乐观更新,操作即时响应
- 对话线程视图新增工作区控制栏
- 资源管理器页面新增移动端侧边栏切换按钮
改进
- 对话筛选栏支持水平滚动
- 对话线程在收到新评论时自动刷新(SSE 实时推送)
问题修复
- 修复评论流中偏好设置选择器导致的无限循环
- 修复资源管理器侧边栏切换按钮与主侧边栏重叠的问题
v0.99.0 (2026-05-27)
新功能
- 资源管理器视图:全新三栏布局,支持虚拟文件夹树、拖拽移动和右键菜单
- 任务路径:任务支持层级路径,实现文件夹式组织管理
- AI Talk 首页:AI Talk 替代仪表盘成为首页,统一 /commands 和 @agent 入口
- 对话功能:评论页升级为对话页面,全新聊天气泡界面
- 对话中粘贴图片:直接粘贴图片作为资源上传
- 对话消息内嵌图片:resource:// 图片在消息中直接渲染
改进
- 任务详情页全宽布局,操作按钮整合为下拉菜单
- 添加评论时自动切换到评论侧边栏
- 描述编辑器自动填满容器高度
- 登录页使用缓存数据即时加载
问题修复
- 修复资源管理器路径处理、命令自动补全和前缀匹配
- 修复 /commands 和 @agent 的聊天提示显示
- 修复评论数量徽标被裁剪的问题
- 修复首次访问时的许可证等级检测
v0.98.1 (2026-05-26)
改进
- 评论状态升级为三态:开放/已解决/已标注,支持更精细的讨论管理
- 评论页面实时更新:新评论通过 SSE 自动推送,无需手动刷新
- 评论页面 URL 保持选中状态:刷新页面不再丢失当前查看的讨论串
- 评论关联的工作区会话状态显示更可靠(基于后端绑定数据)
- 工作区对话框 CWD 显示与后端保持一致
v0.98.0 (2026-05-26)
新功能
- 用户头像:支持设置和展示个人头像
- 仪表盘聚焦视图:快速回到上次访问的任务
- 数据流图支持撤销/重做,工具栏新增操作按钮
- 数据流图支持粘贴纯文本创建笔记节点
- JSON 节点支持拖拽排序字段
改进
- 代理提及时自动包含评论内容,提供更好的上下文
问题修复
- 修复工作区监控面板中会话标识渲染问题
- 移除工作区监控面板的 9 个会话数量限制
- 代理用户不再计入可登录用户数
v0.97.4 (2026-05-26)
改进
- 画布中粘贴图片时立即显示占位符,上传过程中展示加载状态
- 发送代理指令后自动跳转到新创建的任务
- 评论线程信息流中显示关联会话的运行状态
- 无可用守护进程时在发送指令对话框中显示提示
问题修复
- 修复旧版"image"类型画布节点无法正确渲染的问题
- 修复快速点击发送按钮导致重复发送代理指令的问题
- 修复打开发送指令对话框时代理列表未刷新的问题
v0.97.3 (2026-05-25)
改进
- 评论信息流侧边栏新增内联解决按钮,操作更便捷
- 评论页面新增"已解决"筛选标签,方便查看已解决的讨论
- 评论线程底部在解决按钮旁新增回复按钮
问题修复
- 修复错误提示的导入路径问题
v0.97.2 (2026-05-24)
新功能
- 代理详情页新增复制按钮,可快速创建现有代理的副本
- 评论线程现在使用线程级会话路由,AI 回复更加准确且具有上下文感知
v0.97.1 (2026-05-23)
新功能
- 工作区启动对话框现在显示工作目录(CWD)的解析来源(看板、项目、任务或默认值)
问题修复
- 评论 SSE 通知现在正确发送给任务所有者,而非仅通知评论者
- 代理在评论和 UI 中的显示名称现在能正确解析
- 工作区工作目录正确回退到
~/.undercontrol/workspace,不再显示异常路径 - AgentCLI 会话现在能正确传递初始提示词
- 工作区提示词传递更可靠(基于模式检测替代不稳定的延迟机制)
- 创建任务时正确解析描述中的 @提及
- 工作区启动器中看板和项目选择正确解耦
v0.97.0 (2026-05-22)
新功能
- 侧边栏新增「新建工作区」和「发送指令」快捷按钮
- 代理详情页新增「发送指令」按钮
- Agent Creator 现为内置技能,开箱即用
- CLI:
describe命令新增-o apply参数,支持导出可回写的 YAML - CLI: 命令帮助按功能分组展示,更易查找
- CLI: Daemon 和 AgentCLI 现为托管资源,支持 get/describe/delete 操作
问题修复
- 评论页面默认切换到「未解决」标签页
- YAML 解析器现在能正确处理块标量中的
---分隔符
升级说明
ud entity get已更名为ud get entity(旧命令已移除)ud daemon已更名为ud run-as-daemonud apply note子命令已移除- Skill、Prompt、AgentCLI 的 Markdown 格式 apply 已移除,统一使用 YAML
v0.96.2 (2026-05-21)
改进
- 工作区参数现在由服务端解析,提升可靠性
- 修复桌面应用中代理 CLI 命令路径解析问题
v0.96.1 (2026-05-21)
改进
- 桌面应用现在通过硬件 UUID 识别每台设备,实现精确的设备级守护进程管理。
问题修复
- 修复守护进程连接错误地指向首个注册设备而非当前设备的问题。
v0.96.0 (2026-05-20)
新功能
- 代理工作区会话 — 通过 CLI 命令
ud apply workspace或 UI 中任意工作区启动器直接启动 AI 代理工作区会话。 - 内置代理 — 自动预置两个内置代理:
@ud(任务管理 + 技能发现)和@agent-creator(创建新代理)。 - 提示词预览 — 启动工作区前可预览完整的组装提示词,准确查看 AI 代理将收到的内容。
- Spawn Workspace 技能 — 新增内置技能,支持代理生成额外的工作区会话。
改进
- 工作区守护进程选择现在为可选项,启动流程更简洁。
- 代理配置 UI 重新设计为双栏布局,更清晰易用。
- 代理会话复用已有终端窗口,不再创建重复窗口。
问题修复
- 修复工作区项目解析中前缀/名称匹配和 CWD 覆盖的问题。
- 实体 ID 验证现在正确要求 project 和 daemon ID 使用完整 UUID。
v0.95.0 (2026-05-18)
新功能
- Quick Note @提及代理 — 在 Quick Note 中输入 @agent 即可向 AI 代理发送命令。
- 独立的代理管理页面 — 新增「AI Agents」导航入口,集中管理代理配置。
- 代理配置增强 — 技能选择器(标签式 UI)和工作区默认设置(守护进程、标签、看板、项目)。
- 评论删除 — 评论线程视图中新增删除按钮。
- CLI 动词优先命令 — 新增
bind、unbind、link、unlink、grep命令,移除旧的资源优先命令格式。
改进
- 在工作区运行对话框中,将「Agent」重命名为「Agent CLI」以更清晰区分。
问题修复
- 修复代理页面导航的国际化键。
- 修复文档和前端中已弃用的 CLI 命令引用。
v0.94.0 (2026-05-18)
新功能
- AI 代理系统 — 创建自定义 AI 代理,配置提示词、技能和触发条件。代理可以以委托权限运行工作区会话,在「以...身份运行」下拉菜单中选择代理启动任务。
- 代理 @提及 — 在私有任务中可以 @提及自定义代理(不仅限于群组任务)。代理列表包含内置 @ud 和自定义代理。
- 代理管理页面 — 在工作区设置中新增「AI 代理」管理区域,支持创建、编辑、删除自定义代理。
- CLI 代理管理 — 通过
ud get agents、ud describe agent、ud apply agent、ud delete agent管理代理。
改进
- 「默认 Agent CLI」选择器移入「Custom Agent CLIs」区域,页面布局更简洁。
问题修复
- 修复技能/提示词/历史记录弹出面板在移动端的滚动问题。
v0.93.3 (2026-05-17)
改进
- 会话提及增强 — 评论中 @提及工作区会话现在显示用户名和任务标题(如
alice · 修复认证问题),取代之前难以辨认的会话 ID。所有评论输入框均支持会话提及。
问题修复
- 工作区会话 Token 有效期从 1 小时延长至 7 天,避免长时间工作时认证失效。
v0.93.2 (2026-05-17)
问题修复
- 修复桌面端连接远程服务器时,工作区终端认证失败的问题。此前需要手动加
--context参数才能正常使用 CLI 命令。
v0.93.1 (2026-05-17)
问题修复
- CLI
whoami命令现在正确遵循--context参数优先级,不再被环境变量覆盖。 - 桌面端:修复 npm install 后 PTY 无法启动的问题,现在会自动重新编译 node-pty。
v0.93.0 (2026-05-16)
新功能
- @工作区会话提及 — 在评论中直接 @提及工作区会话,将消息发送到正在运行的会话,无需指定特定用户。提及菜单同时显示成员和活跃会话。
- 守护进程注入后端 URL — 工作区 PTY 环境变量现在由守护进程自动设置后端 URL,确保会话内的 CLI 命令连接正确的服务器。
问题修复
- CLI
--context参数优先级高于UD_*环境变量,可在工作区会话内切换到其他服务器。
v0.92.0 (2026-05-16)
新功能
- 知识图谱探索 — 新增
ud graph命令,可视化探索任务之间的连接和知识库关系。 - 自动更新 CDN 源切换 — 桌面客户端现在可以在 R2 和 Bitiful CDN 之间切换更新源(设置 > 关于)。
- 手动检查更新 — Electron 桌面客户端新增手动检查更新功能。
改进
- 工作区终端输出缓存改用内存上限环形缓冲区,达到上限时优先淘汰最旧的会话。
问题修复
- CLI
--context参数现在正确覆盖工作区环境变量,可在工作区会话内切换到其他服务器。 - 自动更新检查增加 15 秒超时,防止更新服务器不可达时无限等待。
- 工作区初始化简化,守护进程使用自身的后端 URL。
v0.91.0 (2026-05-16)
新功能
- 内置 @ud 代理 — 工作区会话现在使用内置 soul prompt,提供更智能的 AI 辅助任务执行体验。
- 多会话列表 — 任务详情侧边栏新增多会话列表 UI,支持查看所有关联的工作区会话。
- 评论解决/取消解决 — 评论话题视图新增解决和取消解决按钮。
- 窗口类型彩色标识 — 工作区窗口选择器中不同窗口类型显示彩色左边框。
- 会话创建者标识 — 所有会话视图中显示创建者图标(机器人/用户)。
ud whoami命令 — CLI 新增身份诊断命令,方便排查认证问题。
改进
- 主窗口标题现在显示为「Main Window: <页面名称>」,更加清晰。
- 代理会话现在正确注入认证令牌和 API 地址。
问题修复
- 代理回复模板不再显示 "wk:" 前缀。
- 评论创建者正确显示代理身份,而非被委托的人类用户。
- 代理提示词正确放置在用户提示位置。
- 修复 Zustand 选择器返回新对象引用导致的无限重渲染。
- 修复代理会话空命令的初始化问题。
v0.90.0 (2026-05-14)
新功能
- 评论动态页面 — 全新跨任务评论动态页面,支持话题式讨论和内联回复。
- 项目页面 — 独立的项目管理页面,支持列表-详情布局,可查看项目关联的任务。
- 任务-项目关联 — 任务详情中新增项目选择器,支持将任务关联到项目。
- 本地目录项目关联 — 通过
ud.projects文件将本地目录链接到项目。 - 侧边栏折叠菜单 — 折叠状态的侧边栏显示可展开的导航项。
- 许可证信息 — 管理后台系统配置页面新增许可证信息展示和到期提醒横幅。
- 标签长度扩展 — 标签最大长度从 20 字符提升至 50 字符。
问题修复
- 切换评论时话题回复正确重置。
- 评论动态显示独立话题,不再按任务分组。
- 回复从评论动态中过滤,仅显示顶层话题。
v0.89.0 (2026-05-13)
新功能
- AI 代理工作区会话 — 在任务中 @ud 提及现在会自动启动工作区会话并运行 Claude Code,实现 AI 辅助任务执行。
- 管理后台用户管理页面现在显示用户类型(人类 / 代理)。
问题修复
- @ud 代理现在始终可在私人任务中被提及(不再需要群组成员资格)。
- 每日笔记继承不再添加多余的「Carried Over」标题。
- 每日笔记继承现在保留原始缩进格式。
v0.88.4 (2026-05-12)
新功能
- @workspace 提及现在支持任务描述和笔记(之前仅支持评论)。
- 快速笔记现在可以保存空内容,自动使用日期时间作为默认标题。
问题修复
- 修复笔记中的锚定评论显示错误的分区和颜色。
- 修复描述/笔记中的 @workspace 回复错误地显示为锚定评论。
v0.88.3 (2026-05-11)
问题修复
- 修复工作区终端窗口在启动时偶尔崩溃的问题。
v0.88.2 (2026-05-11)
改进
- 工作区对话框看板选择器现在显示所有看板,并按分组展示。
问题修复
- 修复看板搜索不支持短 ID 前缀匹配的问题。
- 修复对话框遮罩层打开时侧边栏元素未变暗的问题。
- 修复移动端技能页面滚动异常。
- 修复自托管文件访问中 localfs 预签名 URL 路径缺少 /v1 的问题。
- 修复评论中 @提及 的背景样式问题。
- 修复评论锚点因高亮时序竞争而被错误标记为缺失的问题。
v0.88.1 (2026-05-10)
问题修复
- 修复自托管用户升级时可能出现的 SQLite 数据库迁移错误。
v0.88.0 (2026-05-10)
新功能
- 任务评论 — 为任务添加线程评论,支持回复、标记解决/未解决和实时同步。引用描述或笔记中的文字创建锚定评论,高亮显示引用内容。
- @用户提及 — 在评论中使用
@用户名提及团队成员,被提及用户将收到通知。 - 快捷键提交 — 按 Cmd/Ctrl+Enter 快速提交评论、回复和编辑。
- 通知徽章 — 侧边栏折叠时,用户图标上显示未读通知数量。
- AI 助手工具 — 通过 AI 对话直接更新任务、创建笔记、修改描述和关联任务。
- 欢迎看板 — 新用户注册后自动创建一个包含示例任务的欢迎看板。
- 团队预算与支出 — 预算和支出现在支持团队组所有权,方便团队协作。
改进
- 工作区 Prompt 选择器中外部更改后,技能列表自动刷新。
- 深色模式下高亮颜色更明亮,可读性更好。
- 当评论引用的文字在内容中不再存在时,显示过期锚点指示。
问题修复
- 修复 iOS Safari 导航后文档页面标题被浏览器工具栏遮挡的问题。
- 修复共享看板带范围标签时成员检查逻辑。
v0.87.0 (2026-05-09)
新功能
- 工作区启动器看板选择 — 全局工作区启动器新增看板选择器,支持跨窗口快捷键
- 跨窗口同步 — 工作区窗口间通过 BroadcastChannel 实时同步状态
- AI 助手看板集成 — AI 助手在有看板上下文时自动将任务添加到看板
改进
- AI 对话现在可以通过 ID 正确查找任务
- AI 对话建议提示更新,更好地引导任务工具使用
- 运行对话框打开时自动获取最新技能
问题修复
- 修复运行对话框打开时技能列表未刷新的问题
v0.86.0 (2026-05-08)
新功能
- 仪表盘编辑器操作栏 — 操作栏默认展开,提升编辑体验
- 自定义滚动条 — 仪表盘编辑器使用 OverlayScrollbars,更美观流畅
- 欢迎引导内容 — 新用户完成入门后,仪表盘编辑器自动填充欢迎指南
改进
- 仪表盘编辑器图片上传改为服务器存储,不再使用 base64 内嵌
- 认证系统优化为无状态 OIDC 对齐架构,每次请求零数据库查询
问题修复
- 修复清除按钮确认对话框样式和交互问题
- 修复移动端编辑器视窗高度和滚动问题
- 修复移动端仪表盘切换器可见性问题
- 修复仪表盘视图切换器被内容推动而非固定在底部的问题
v0.85.2 (2026-05-08)
问题修复
- 修复工作区窗口中出现重复 SSE 连接的问题
- 改善令牌刷新稳定性
- 修复用户创建事件保留策略,改为永久保留
v0.85.1 (2026-05-06)
改进
- 仪表盘布局优化,首页重构为 6 宫格导航
- 浮动工具栏保存按钮使用主色高亮,更易识别
- 移动端语音录制 UI 优化
- 记住密码功能改用 base64 编码存储,提升安全性
问题修复
- 修复编辑器嵌套滚动容器导致高度异常的问题
- 修复 Electron 中仪表盘编辑器未填满可用高度的问题
- 修复终端提示词选择后焦点丢失的问题
- 修复语音提示文本关于音频+文字组合支持的错误描述
- 修复旧版明文存储的记住密码无法正常处理的问题
v0.85.0 (2026-05-06)
新功能
- 仪表盘 AI 聊天 — 仪表盘集成 AI 聊天功能,支持 AI 提供商选择器
- 仪表盘视图切换 — 简化仪表盘,支持编辑器与聊天之间的工作区式视图切换,编辑器配备浮动保存按钮
- 一体化 Docker 部署 — 全新 All-in-One Docker 镜像,简化自托管部署
- 删除预算/账户 — 预算和账户页面新增带确认对话框的删除按钮
- 全局错误边界 — 添加 React 错误边界防止页面白屏崩溃
改进
- 错误边界导航至仪表盘而非完全刷新页面
- 错误边界页面新增联系链接,方便用户反馈
问题修复
- 修复单个 AI 提供商时选择器未显示的问题
- 修复 AI 提供商加载需打开浮动聊天窗口的问题
- 修复仪表盘聊天视图中键盘快捷键提示的显示问题
- 修复编辑器/聊天切换时的闪烁问题
- 修复仪表盘视图切换高度异常的问题
- 修复终端提示词选择后焦点丢失的问题
v0.84.0 (2026-05-03)
新功能
- 浮动内容窗口 — 将文档内容固定为桌面应用中的置顶窗口,方便参考
- 工作区提示词同步 — 提示词现在存储在服务端,跨设备自动同步(从本地存储迁移)
- 分享任务时消息中包含任务标题
问题修复
- 修复浮动查看器按钮位置 — 从气泡菜单移至浮动操作栏
- 修复 TiptapViewer 中输入法(IME)状态丢失的问题
v0.83.0 (2026-05-02)
新功能
- AI 快速创建 — 通过语音录制和音频转录快速创建任务,可从侧边栏直接访问
- 内嵌音频播放器 — 资源预览对话框中直接播放音频文件
- AI 服务能力配置 — 为每个 AI 提供商配置聊天/视觉/转录能力,系统根据能力自动选择提供商
- 实时任务同步 — 创建任务时其他标签页/客户端即时收到更新
- 守护进程选择优化 — 优先使用在线守护进程,并记住上次选择
改进
- 侧边栏折叠状态下快捷操作使用更紧凑的双列网格布局
问题修复
- 修复 SSE task_created 事件后看板视图未正确更新的问题
- 修复转录使用错误模型/语言设置的问题
- 修复 AI 提供商表单意外关闭时草稿丢失的问题
- 修复仅支持转录的提供商测试连接使用错误端点的问题
- 修复图片识别创建任务时状态格式错误的问题
v0.82.2 (2026-05-01)
问题修复
- 修复工作区监控终端显示问题 — 终端窗格现在正确适配容器大小,支持横向滚动查看宽内容
v0.82.1 (2026-05-01)
问题修复
- 修复本地守护进程的注册/重连按钮未始终显示的问题
- 修复未选择远程守护进程时命令编码使用错误平台的问题
v0.82.0 (2026-05-01)
新功能
- 监控页面 — 全新多会话 TTY 仪表盘,支持 3×3 网格布局和全屏聚焦模式
- 网格导航 — 使用方向键和回车键在会话窗格间导航,点击选中显示会话控制
- 会话控制 — 可折叠的截图、方向键和回车信号按钮,聚焦模式下自动隐藏以释放终端空间
- 快捷操作 — 监控页面和工作区页面新增创建会话按钮,设置按钮快速跳转
- 本地守护进程 — 执行对话框新增本地守护进程选项
问题修复
- 修复选中文本创建任务时标题和描述的处理逻辑
- 修复控件点击事件冒泡导致窗格意外取消选中的问题
- 修复创建任务按钮的国际化翻译键错误
v0.81.1 (2026-05-01)
改进
- 提升实时同步稳定性 — 守护进程 SSE 连接现在正确处理重复连接并防止重连循环
v0.81.0 (2026-04-30)
新功能
- 项目管理 — 创建、编辑、删除项目,并在看板和工作区中关联项目作为工作目录
- 项目选择器 — 在看板设置、执行对话框和全局工作区启动器(Cmd+E)中选择项目
- 项目 CLI 支持 — 通过
ud project get/describe/apply/delete命令管理项目 - 技能页面入口 — 工作区页面新增技能区域和侧边栏导航链接
- 工作区页面重构 — 采用侧边栏导航布局,类似个人设置页面
- 守护进程自动注册 — 启动时幂等注册,无需手动操作
改进
- 看板选择器始终可见,支持"无"选项,可一键重置
- 执行对话框新增显式 CWD 输入和项目自动预选
- 默认 Agent 下拉显示实际名称(如"Default (Claude Code)")
- 项目下拉仅显示项目名称,不再显示完整路径
- 设备已注册守护进程时隐藏注册按钮,显示简短 ID
- 守护进程列表显示"本机"徽章和重连按钮
- 配置链接统一跳转至 /workspaces 页面
问题修复
- 修复守护进程 SSE 连接到错误机器的问题
- 修复守护进程被外部删除后残留 ID 未清理的问题
- 修复重连按钮未触发 SSE 流重连的问题
v0.80.0 (2026-04-29)
新功能
- 知识图谱增强 — 支持标签节点切换显示,父子任务关系可视化更清晰
- 任务导航历史 — 类似 Obsidian 的前进/后退导航,轻松在任务间跳转
- 侧边栏"更多"分区 — 可折叠的"更多"区域,收纳日历、图谱、时间线等视图
- AI 对话增强 — 支持多关键词 OR 搜索、创建任务和查看看板工具
- 管理员入职配置 — 可配置新用户入职后的默认落地页面
- 新用户默认分组 — 管理员可为新注册用户自动分配默认用户组
- 工作区快捷启动 — 全局 Cmd+E 快捷键从任意页面启动工作区
- 浮动提示词选择器 — 工作区任务面板中的浮动提示词选择按钮
改进
- 侧边栏更整洁:标签和高级搜索移至 Cmd+K 命令面板
- 快速操作替换为 2×2 快捷方式网格
- 管理页面整合:用户/角色/分组/入职配置合并为一个页面
- 图标徽章采用简约风格
- AI 对话空白状态显示可操作的建议按钮
问题修复
- 修复图谱中父子任务连线颜色不可见的问题
- 修复侧边栏"更多"区域在子页面无法折叠的问题
v0.79.0 (2026-04-28)
新功能
- 远程终端流式输出 — 在浏览器中实时查看工作区终端输出,后加入的用户自动接收近期输出历史
- 终端输出缓存 — 终端输出在服务端缓存,刷新页面后自动恢复终端内容
改进
- 上传空文件(0 字节)时显示更清晰的错误提示
问题修复
- 修复技能页面重复发起 API 请求的问题
- 修复终端显示问题(列宽、字体大小、横向滚动、背景色)
v0.78.1 (2026-04-27)
新功能
- 视图模式切换 — 看板页面支持在树形、列表、看板三种视图间切换
改进
- 视图模式切换器采用极简设计,仅图标无边框
问题修复
- 修复保存查询任务行中状态图标与标题未对齐的问题
- 修复树形视图中状态图标未垂直居中的问题
- 修复条件视图模式下的布局渲染问题
v0.78.0 (2026-04-27)
新功能
- 三栏布局 — 桌面端任务列表支持三栏视图,侧边栏、列表、详情同屏展示
- 树面板快捷创建 — 在树面板列标题直接创建任务,内联编辑替代弹窗
- 内联导航 — 任务详情面板支持前进/后退导航,无需跳转页面
性能优化
- 切换任务零延迟 — 缓存优先渲染 + 渐进式加载,任务切换瞬间完成
- 使用 useDeferredValue 和 memo 优化大列表渲染
问题修复
- 修复长时间运行后 token 刷新竞态导致请求失败的问题
- 修复 Windows 上 CLI 上传文件报 "Incorrect function" 的错误
- 修复 owner_id 较短时存储用量接口崩溃的问题
- 修复登录页 tier-info 请求无超时可能长时间阻塞的问题
- 修复 CLI 部分在 Web 端不显示安装说明的问题
- 修复 CLI 中 API base URL 末尾斜杠导致请求错误的问题
- 修复三栏布局中各列无法独立滚动的问题
- 修复 v0.55.0 → v0.77.1 数据迁移工具的兼容性问题
CLI 改进
- 所有命令新增 kubectl 风格的使用示例和 --context 参数说明
v0.77.1 (2026-04-26)
问题修复
- 修复了 SQLite 在遇到格式错误的 JSON 元数据时可能崩溃的问题
- 修复了分享链接未正确使用已配置的前端 URL 的问题
v0.77.0 (2026-04-26)
新功能
- 看板名称编辑 — 在看板设置中直接重命名看板
- 移动端工作区切换器 — 浮动触发器快速切换工作区
- 看板高级筛选 — 自定义字段支持 IS NULL / IS NOT NULL 操作符
- PowerShell 脚本预览 — 命令预览中展示人类可读的脚本内容
- 审计日志 TTL — 支持按事件类型设置保留时长(自部署用户适用)
改进
- 全新落地页设计:编排架构图和三大支柱模块
- 移动端侧边栏触发器透明度优化
- 笔记同步性能提升 — 基于时间戳跳过无变更写入
Bug 修复
- 修复查看模式下勾选框无法正确保存到后端的问题
- 修复移动端工作区切换器与侧边栏触发器重叠的问题
- 修复移动端历史弹窗中"存为提示词"按钮不显示的问题
- 修复工作区下拉菜单中剪贴板文本处理异常
- 修复命令预览内容超出时无法滚动的问题
v0.76.1 (2026-04-25)
Bug 修复
- 修复在看板中拖拽卡片时自定义字段值丢失的问题
- 修复看板列删除确认对话框的翻译问题
改进
- 看板列删除使用美化的确认对话框替代浏览器原生弹窗
v0.76.0 (2026-04-25)
新功能
- 文件夹共享 — 将资源文件夹共享给群组,文件夹内文件自动继承访问权限。资源列表新增群组和权限列
- 会话技能选择器 — 重新设计的会话控制区域,新增技能选择器便于快速访问
- 自适应输入框 — 会话输入区域自动随内容增长,并新增清除按钮
改进
- 图片尺寸现在使用 Obsidian 兼容的管道格式(
),跨 Markdown 编辑保持一致 - 更简洁的会话界面:缩短提示词/历史标签,单行内容隐藏滚动条
v0.75.0 (2026-04-24)
新功能
- 数据流管道关系标记 — 管道现在支持描述标签和端点标记(箭头、一对一、一对多/鸦脚),可构建 ER 风格的关系图
- 终端按钮自动创建任务 — 看板页面的终端按钮现在自动创建任务并启动工作区会话
- 会话提示词历史 — 提示词可保存到工作区提示词库中方便复用
- 工作区设置抽屉 — 工作区配置从个人设置页移至工作区页面的设置抽屉
改进
- 所有客户端(不仅限 Electron)看板页面均显示监控图标
- 看板选择器显示看板名称,CWD 区域单独展示解析后的路径
- 管道标记优化:更精致的尺寸、更好的默认值、改进的鸦脚方向
问题修复
- 修复笔记节点编辑时文本选择触发拖拽的问题
- 修复状态协调将 awaiting_input 状态错误覆盖为 running 的问题
- 修复多看板任务执行对话框中工作目录解析的问题
v0.74.0 (2026-04-24)
新功能
- AI 对话工具调用 — AI 助手现在可以在对话中语义搜索你的任务
- 多看板任务 — 任务可以属于多个看板;打开工作区时支持看板选择下拉菜单
- 工作区操作 — 在工作区页面直接截图、中断和检查会话状态
- 看板预览附件 — 在看板任务预览中查看附件文件,无需打开完整详情
- 仪表盘编辑模式 — 更简洁的仪表盘布局自定义界面
- 看板列表操作 — 展开视图中新增"添加到看板"和"删除"按钮
改进
- Hooks 现在在所有看板上自动安装(移除了单独的开关设置)
- 工作区会话乐观地从等待直接切换到运行状态
- 自定义字段标签显示
cf.前缀以提高辨识度 - 工作区对话框中显示解析后的工作目录,支持复制
问题修复
- 修复复选框切换产生重复历史记录的问题
- 修复未配置项目目录时工作目录解析的回退逻辑
- 修复 AI 搜索工具关键词查询构建问题
- 修复迁移错误消息缺少环境变量说明的问题
v0.73.4 (2026-04-22)
新功能
- 支持将守护进程共享给群组,实现工作区协作
- 工作区会话中显示任务标题而非原始 ID
- 执行对话框支持多技能选择
问题修复
- 修复任务详情页 Hooks 执行顺序导致的崩溃
- 工作区任务面板无内容时显示空状态占位符
- 修复已有分享链接时复制完整分享消息而非仅 URL 的问题
v0.73.3 (2026-04-22)
问题修复
- 修复工作区截图错误显示在附件列表中的问题
- 截图按钮在截取过程中现在显示加载动画
- 优化资源 API 调用,减少冗余请求,提升性能
v0.73.2 (2026-04-22)
改进
- 工作区截图现在显示在专用的水平滚动图库中,带有高亮动画效果
- 工作区入口移至侧边栏的"任务"区域,更便于快速访问
问题修复
- 修复选中图片或代码块时编辑器气泡菜单错误显示的问题
- 修复打开内容查看器时图片被自动选中的问题
- 修复切换页面后侧边栏未保留所选看板的问题
- 修复 Markdown 复选框无法正常切换的问题
- 修复桌面应用中截图重复上传的问题
v0.73.1 (2026-04-21)
问题修复
- 修复 Electron 桌面应用及自定义服务器地址下授权等级检测失败的问题
改进
- 服务器配置页面现在显示当前授权等级名称
v0.73.0 (2026-04-21)
新功能
- 仪表盘小部件自定义 — 隐藏或显示仪表盘小部件,打造个性化工作台
- 任务笔记显示发布者 — 任务笔记中显示发布者名称,便于追溯来源
问题修复
- 修复工作区窗口标题未与当前跟踪的任务名称同步的问题
- 修复工作区心跳、过期会话清理及截图上传问题
- 修复移动端无法停止等待中的工作区会话的问题
- 修复会话轮询导致过多 API 调用的问题
v0.72.1 (2026-04-20)
新功能
- 移动端工作区快捷入口 — 在任务底部操作栏直接访问工作区会话,快速滚动到活跃会话或启动新会话
问题修复
- 修复桌面应用守护进程 SSE 连接重连不可靠的问题
v0.72.0 (2026-04-20)
新功能
- 工作区截图 — 自动截取工作区窗口并作为任务笔记附件上传
- 工作区会话侧边栏 — 在任务详情侧边栏查看工作区会话状态和时长
- 会话中断与状态检查 — 工作区会话新增中断和检查状态按钮
- 会话自动恢复 — 守护进程重连时自动恢复会话状态
- 守护进程重命名 — 支持在管理页面直接内联重命名守护进程
问题修复
- 修复终端控制字符输入问题
- 修复守护进程 SSE 流过早断开的问题
- 修复守护进程连接错误提示不准确的问题
- 修复"注册此设备"按钮在 Web 端误显示的问题
v0.71.0 (2026-04-19)
新功能
- Web 工作区查看器 — 在浏览器中直接查看和管理 AI 代理工作区
- 每日笔记导航 — 每日笔记自动链接到前一天,并支持自动置顶/取消置顶
- 远程守护进程工作区 — 桌面应用通过 SSE 连接远程守护进程管理 AI 工作区
- 工作区状态 CLI 命令 — 新增
ud workspace status命令查看工作区状态 - 工作区输入中继 — 支持向工作区 PTY 会话发送用户输入
- 移动端看板优化 — 看板头部操作折叠为汉堡菜单,优化移动端体验
问题修复
- 修复守护进程连接器认证流程
- 修复工作区状态在 pending/completed/stopped 下的显示问题
v0.70.0 (2026-04-18)
新功能
- 通知系统 — 订阅关注的任务,当任务状态变更或被更新时收到通知
- 每日笔记 — 快速创建每日笔记,支持未完成待办自动带入(Alt+D / Option+D 快捷键)
- 粘贴到笔记 — 在任务面板任意位置粘贴内容,自动追加到笔记
- "创建并关联"按钮 — 在子任务和关联任务对话框中快速创建新任务
- 复制资源 Markdown 链接 — 在所有资源视图中复制资源 ID 为 Markdown 链接
- 大纲优化 — 重命名大纲,将描述作为首项方便快速导航
- 待处理资源管理 — 交互式对话框替代后台清理,自动清理过期资源
问题修复
- 修复标签查询使用了无效运算符的问题
- 修复 macOS Alt 键产生特殊字符而非触发快捷键
- 修复无笔记时仍显示大纲的问题
- 改进粘贴提示的样式和多语言支持
v0.69.2 (2026-04-16)
新功能
- AI 图片转 Markdown — 通过 AI 视觉能力将图片转换为 Markdown 文本
- 统一系统配置页 — 所有配置类别合并为一个可滚动视图,展示运行时实际值、环境变量名和 CLI 参数名
改进
- 看板默认列优化:移除"草稿"列,"最近创建"和"最近更新"列移至末尾
问题修复
- 修复全屏预览时 Mermaid 图表元素缺失
- 修复创建任务对话框尺寸与任务预览弹窗不一致
- 修复创建看板对话框默认列与后端不匹配
v0.69.1 (2026-04-16)
新功能
- 移动端任务图谱与热力图 — 移动端列表页现可查看日历热力图和知识图谱
- 看板默认列 — 新增"最近创建"、"草稿"、"最近更新"默认列,支持全部折叠切换
- 执行对话框 — 看板终端下拉菜单替换为更直观的执行对话框
- 编辑器图片上传 — Markdown 编辑器工具栏新增图片上传按钮
改进
- "任务图谱"更名为"知识图谱",命名更准确
问题修复
- 修复使用外部工具栏时白屏崩溃问题
- 修复移动端图谱全屏显示异常
- 修复 Markdown 编辑器工具栏定位和层级问题
v0.69.0 (2026-04-15)
新功能
- 管理员存储管理 — 管理面板新增专用存储页面,展示各用户存储使用情况,支持单独设置用户存储配额
- 作用域标签 — "默认标签"更名为"作用域标签",创建新标签时自动填充
board:前缀
改进
- 分享链接现使用可配置的前端地址,改善 Electron 桌面端的链接分享体验
问题修复
- 修复应用启动时暗色模式闪烁问题,主题现从缓存即时加载
- 修复静态加载页面未应用暗色模式的问题
- 修复暗色模式主题未在所有 Electron 窗口间同步的问题
- 修复管理系统配置页面未展示存储配额设置的问题
v0.68.1 (2026-04-14)
新功能
- AI 聊天快捷入口 — 侧边栏新增 AI 聊天快捷操作,更快速地访问 AI 助手
- AI 技能语言适配 — AI 内置技能现在会使用用户的首选语言进行回复
改进
- 重新设计创建任务对话框,采用扁平极简设计语言,优化标签输入和内边距对齐
- 对话框现使用视窗宽高的 80%,提供更大的编辑空间
- 移动端技能页面采用主从布局,查看详情时自动隐藏顶栏
- 移动端快速笔记工具栏移至顶部固定,底部增加安全区域内边距
问题修复
- 修复任务创建者显示为看板所有者而非实际提交者的问题
- 修复分享提示框中跨群组无法正确解析用户名的问题
- 修复资源 URL 解析失败时 Markdown 内容被清空的问题
- 修复 Electron 中分享链接使用错误域名的问题
- 修复共享看板创建任务时资源组归属错误的问题
v0.68.0 (2026-04-13)
新功能
- 本地 Docker 部署 — 提供开箱即用的 docker-compose 部署方案,内置
/apinginx 反向代理
问题修复
- 修复 Docker 镜像更换 API 域名需要重新构建的问题(现已支持域名无关构建)
- 修复连接状态指示器在异常服务器响应时失败的问题
升级说明(自托管用户)
- 新增
deployment/docker-local-sqlite/和deployment/docker-local-postgres/目录,一键 docker-compose 部署 - Docker 前端镜像不再需要构建时设置
VITE_API_URL,通过 nginx 在运行时配置 API 地址
v0.67.2 (2026-04-13)
新功能
- 管理员技能管理 — 管理员可在管理面板中浏览、编辑、创建和删除系统技能
- 内置 PM 技能 — 新增
ud-pm系统技能,用于批量 PM 审核和任务实施
改进
- 管理员自定义的系统技能在后端重启后不再丢失
问题修复
- 修复命令预览与实际执行命令不一致的问题
- 修复全新安装时技能初始化失败的问题
v0.67.1 (2026-04-12)
新功能
- 新增
ud explain命令,可直接在 CLI 中查看资源 Schema 文档
改进
- CLI 技能命令现在支持
skill/skills别名,适用于所有 kubectl 风格操作(get、describe、delete)
问题修复
- 修复因 localStorage 存储空间不足导致的 QuotaExceededError 崩溃问题
v0.67.0 (2026-04-12)
新功能
- 技能管理 — 新增技能页面,支持创建、编辑和管理可复用的提示词与指令,配备所见即所得富文本编辑器。系统级内置技能对所有用户可见。
- 仪表盘置顶任务组件 — 将重要任务置顶,直接在仪表盘中查看,支持空状态提示。
- Agent CLI 命令预览 — 执行前预览即将运行的完整命令,支持复制和技能选择。
- Agent CLI 快捷配置入口 — 所有 Agent 工具下拉菜单新增"配置..."选项,快速进入设置。
- 初始化技能支持 — Agent CLI 命令支持使用初始化技能进行工作区设置。
改进
- 技能详情页支持内联编辑和只读模式切换
- Agent CLI 对话框采用左右分栏配置与执行预览布局
- 任务详情页显示技能使用引导
- 右侧边栏加宽以完整显示任务 ID
问题修复
- 移除主容器中的前进/后退导航按钮
- 修复技能编辑器内容滚动和工具栏行为
v0.66.1 (2026-04-11)
问题修复
- 修复内联编辑器工具栏和浮动操作栏样式,恢复 v0.65.3 的正确浮动定位
v0.66.0 (2026-04-11)
新功能
- 注册页面支持内联生成邀请码及部署选项
- 工作区窗口顶栏新增任务状态切换器
- 任务元数据区域显示创建者信息
- 工作区任务面板中的链接支持在新标签页打开
- 应用内文档新增 Kubernetes Helm 部署指南
改进
- 移动端任务预览默认折叠元数据区域
- 看板条件构建器改为堆叠两行布局
- 看板选择列表支持滚动
问题修复
- 改善注册流程中邀请码跳转和登录重定向体验
- 登录后重定向至仪表盘而非看板
- 修复编辑器切换模式时的闪烁问题
- 修复移动端编辑器工具栏和浮动操作栏定位
- 修复引导跳过按钮不可靠的问题
- 支持长按 Ctrl+D/Ctrl+U 连续快速滚动
- 修复看板列条件编辑器导致的布局抖动
- 修复工作区任务面板中的链接路由
v0.65.3 (2026-04-10)
改进
- 部署流程优化
v0.65.2 (2026-04-09)
问题修复
- 内部稳定性改进
v0.65.1 (2026-04-09)
新功能
- 中国大陆下载按钮:桌面端下载弹窗新增国内下载按钮
性能优化
- 消除切换编辑模式时的闪烁
- 延迟渲染屏幕外的笔记编辑器,任务页加载更快
- 修复任务详情接口的重复查询和 N+1 问题,加载更快
- 修复任务详情页 5 秒导航延迟
问题修复
- 修复移动端编辑器操作栏与聊天按钮重叠
- 修复编辑器工具栏横向滚动时冻结在左侧
- 修复编辑器中切换按钮滚动时未固定
- 移除导航任务时 "Loading images..." 导致的布局抖动
v0.65.0 (2026-04-08)
新功能
- 侧边栏大纲高亮:根据视口自动追踪并高亮当前编辑的笔记区域
- 滚到底部按钮:浮动操作栏新增快速滚到底部按钮
- 快捷键编辑内容:按
i键快速进入 Markdown 编辑模式(Vim 风格) - 看板新窗口打开:支持在 Electron 桌面端将看板页面在新窗口中打开
- 图片尺寸控制:TipTap 编辑器中支持 S/M/L 三种图片尺寸切换
- 数据流图交互:点击选中/取消选中数据流图中的节点和连线
- 计时器命令:命令面板中新增
/timer命令 - 短 ID 搜索:命令面板支持通过短 ID 搜索任务
- 移动端工具栏折叠:移动端编辑器工具栏支持折叠/展开,图片按钮常驻
- CLI
ud apply:支持ud apply -f从 YAML 文件创建资源,自动识别笔记 - 用户自定义技能:支持在配置目录中存储用户自定义技能
改进
- 任务详情页性能优化:延迟加载重型组件、延迟渲染 TipTap 编辑器和笔记、使用精细化选择器,页面导航和渲染更快
- 计时器简化:合并为单个
/timer命令,操作反馈改为 toast 提示
问题修复
- 修复标签建议覆盖确认按钮的问题
- 修复
i快捷键编辑非当前聚焦区域的问题 - 修复 Mermaid 全屏 SVG 缩放/滚动时闪烁
- 修复命令面板不支持部分 UUID 搜索的问题
- 修复移动端编辑器工具栏未固定在视口底部
- 修复 Ctrl+D/U Vim 快捷键滚动了错误的容器
v0.64.0 (2026-04-07)
新功能
- Anthropic AI 服务商:后端 AI 服务现支持配置 Anthropic,与 OpenAI 并列,提供简化的服务商类型选择
- 任务切换器:在工作区窗口中快速切换任务
- 工作区顶栏增强:显示状态图标、任务 ID 及复制按钮
- Vim 导航快捷键:Ctrl+D/U 半页滚动,Ctrl+O/I 任务访问历史
- Mermaid 全屏:支持全屏查看 Mermaid 图表
- CLI 改进:上传资源支持
--folder参数;ud get默认返回 20 条结果并支持分页 - 审计日志自动清理:根据保留策略自动清理审计日志
- 落地页全新设计:以"私人 AI 管家"为定位的全新落地页
问题修复
- 修复 CLI 上传时文件夹路径缺少末尾斜杠的问题
- 修复 API 密钥"永不过期"选项的中文翻译
- 修复任务不在缓存中时未从 API 获取的问题
- 修复 Ctrl+O/I 导航到浏览器历史而非任务访问历史
- 修复落地页字体粗细不符合设计规范
v0.63.3 (2026-04-05)
改进
- 实时同步连接每30分钟自动刷新,防止连接过期
问题修复
- 修复实时同步连接意外断开的问题
- 修复实时同步任务更新时可能导致数据异常的问题
v0.63.2 (2026-04-05)
问题修复
- 修复通过 SSE 更新任务描述后未自动刷新的问题
v0.63.1 (2026-04-05)
改进
- 分享消息使用代码入口页面链接,简化分享流程
- "在新标签页打开"替代远程工作区操作,多窗口工作更便捷
- 登录页面全新扁平极简设计,新增装饰性参考线
- 分享消息按钮更醒目,同时包含两种分享链接
- 桌面端工作区窗口支持实时更新
问题修复
- 修复桌面端页内搜索输入首字符后失焦及匹配卡住问题
- 修复团队邀请链接不可重复使用的限制
- 修复分享消息显示"内容"而非"任务"
v0.63.0 (2026-04-05)
新功能
- 桌面端:支持 Ctrl+F / Cmd+F 页面内搜索
- CLI:新增
ud local-sync命令,支持 watch 模式实时同步 - CLI:新增
api-resources命令,改进帮助文本 - CLI:新增
/task别名路由和X-UD-Channel审计标头 - 临时执行对话框新增工作目录输入框
- 分享对话框新增"复制分享信息"按钮
- 新增 Cmd+R 快捷键运行任务
- 恢复 Cmd+W 关闭窗口快捷键
文档
- 重写快速入门页面,涵盖所有入口方式
- 重写领域语言页面,覆盖所有应用领域
- 新增自定义客户端文档页
- 新增 Everything-as-Code 文档页
- 新增任务概念说明到新手引导任务
- 重组文档侧边栏结构
问题修复
- 修复任务详情侧边栏高度和滚动条问题
- 修复移动端侧边栏底部项被截断
- 修复移动端文档侧边栏无法滚动
- 修复移动端行内编辑器工具栏滚动,移除弹出编辑器
- 修复全局滚动条 CSS 影响 xterm 视口
- 修复仪表盘图表 -1 维度警告
- 修复数据流折叠/展开时连接点位置更新
- 修复侧边栏父项点击行为:名称导航,箭头切换折叠
- "临时执行"更名为"执行"
v0.62.1 (2026-04-03)
改进
- CLI:AI 工作会话现在会更频繁、更及时地记录笔记,确保知识和进度不会因会话中断而丢失
问题修复
- 修复 Windows 桌面端应用图标背景透明度
v0.62.0 (2026-04-03)
新功能
- 快速笔记:Gmail 风格弹出窗口,支持 Ctrl+N 快捷键,全屏 Markdown 编辑器,侧边栏入口,移动端滚动时收起为浮动按钮
- 命令面板:SSE 实时缓存失效,同时显示标题/Grep 搜索模式
- 窗口管理:Ctrl+Q 快捷键在窗口间切换,最近使用排序
- 数据流:图片/笔记节点支持拖拽调整大小,新增"复制给 AI"导出功能
- 全局默认 AI 代理设置
- 公开页面为已登录用户显示"返回应用"按钮
- 更新应用图标
问题修复
- 修复命令面板缓存过期、任务删除后残留等问题
- 修复快速笔记编辑器稳定性(tiptap 生命周期、挂载守卫)
- 修复数据流管道删除按钮无效的问题
- 修复 Markdown 链接简化渲染
- 修复移动端浮动按钮定位
- 修复 Windows 端 Codex 启动路径问题
- 修复数据流节点放置位置偏移
v0.61.3 (2026-04-02)
问题修复
- 修复任务详情侧边栏滚动问题,侧边栏现可独立滚动且隐藏滚动条
v0.61.2 (2026-04-02)
改进
- CLI:
ud describe task输出现已明确包含所有笔记内容
问题修复
- AI 提供商配置现在默认为 OpenAI 兼容类型,不再自动填充端点 URL
v0.61.1 (2026-04-02)
改进
- AI 功能:可在使用 AI 的界面中直接配置 AI 提供商,无需跳转设置页面
v0.61.0 (2026-04-02)
新功能
- 数据流:节点原始编辑器模式,直接编辑节点 JSON 数据
- 数据流:跨图表复制粘贴节点
- 数据流:笔记/图片节点支持多连接
- 看板:列下拉菜单支持打开多个终端窗口
- CLI:kubectl 风格笔记命令(get notes、apply note、delete note)
- CLI:看板名称查找、获取列、查询看板命令
问题修复
- 修复命令面板导航在 Electron 中始终定位到主窗口
- 修复 Ctrl+Q 现在显示所有窗口包括编辑器
- 修复看板列搜索提示显示"批量操作"而非"在列中搜索"
- 移除看板列中不可用的搜索按钮
- 统一启动加载界面匹配扁平/极简设计风格
v0.60.0 (2026-04-01)
新功能
- Draw.io 编辑器新增"保存"和"保存并关闭"按钮,关闭时弹出确认对话框防止误操作
- 所有资源编辑器支持 Ctrl+S 快捷键保存并关闭
- 资源编辑器在独立窗口(桌面端)或新标签页(浏览器)中打开
- 即时操作对话框支持 Ctrl/Cmd+Enter 快捷键
- 数据流:图片节点蓝色虚线连接线
- 数据流:字段编辑器支持 按钮转换为对象字段
- 数据流:支持递归添加子字段
问题修复
- 修复资源编辑器窗口因 iframe beforeunload 无法关闭
- 修复桌面端所有窗口复制粘贴快捷键失效
- 修复新建 Draw.io 资源保存格式不正确
- 修复新资源编辑器中保存按钮意外关闭标签页/窗口
- 修复 JS replace() 破坏用户提示中的 $ 符号
- 修复桌面端启动时 Service Worker 数据库错误
v0.59.1 (2026-03-31)
新功能
- 数据流:图片节点 — 新增图片节点类型,支持折叠、Ctrl+V 粘贴图片、Draw.io 导出
- 数据流:节点级连接手柄 — JsonNode 和 ProcessNode 新增节点级连接点,悬停放大
- 数据流:标题链接 — 节点标题支持点击跳转 URL
- 数据流:行内子字段 — 对象/数组字段支持行内展开子字段
问题修复
- 修复分组节点边框显示问题
- 修复分组标题定位与内容重叠
- 修复节点连接手柄在已连接时不可见
- 修复 JsonNode 头部多余的蓝色指示点
- 修复图片节点 Draw.io 导出 data URL 问题
v0.59.0 (2026-03-30)
新功能
- 分享访问码(快递柜)— 通过访问码安全分享内容
- 数据流:分组节点 — 可视化分组相关节点,编辑分组名称和颜色
- 数据流:便签节点 — 添加带附件的便签,拖拽关联到节点/字段,可折叠
- 数据流:字段编辑器 — 行内编辑字段名称、示例值和描述
- 数据流:多选删除 — 批量删除选中的元素
问题修复
- 修复命令面板 Cmd+Enter 无法在新窗口打开任务
- 修复 Draw.io 编辑器未使用用户语言偏好
- 修复数据流分组节点导出位置偏移
- 修复数据流保存/重载后父子关系丢失
v0.58.4 (2026-03-29)
新功能
- Draw.io 编辑器支持导入和导出本地 .drawio 文件
- 数据流图支持导出为 .drawio XML 格式
- 清单项可通过 task:// 协议直接跳转到子任务
改进
- 新用户引导重新组织为 4 个顶级分类,包含操作指南子任务
- 引导对话框默认使用英语
问题修复
- 修复 Electron 应用更新后白屏问题(清除缓存)
- 修复 Draw.io 导出列表项垂直位置偏移
- 修复资源链接不必要地在新窗口打开的问题
- 修复欢迎任务清单未完整显示子任务树
- 修复一级分类任务缺少子任务清单
v0.58.3 (2026-03-28)
改进
- 更新首页宣传文案和营销标语
升级说明(自托管用户)
- 环境变量
ADMIN_USERNAME已更名为ADMIN_EMAIL,请更新您的部署配置
文档
- 新增 Personal → Pro/Max 迁移指南
v0.58.2 (2026-03-27)
本次版本没有新增终端用户可见功能。
本次发布主要包含内部构建和发布流程调整。
v0.58.1 (2026-03-27)
本次版本没有新增终端用户可见功能。
本次发布主要包含内部构建和发布流程调整。
v0.58.0 (2026-03-27)
新功能
- 数据流画布框选 — 拖拽即可批量选中多个节点
- 数据流图表合并导入 — 导入时保留现有内容,追加新节点
- 导入节点自动拓扑排列,布局更清晰
- 支持简化 AI 格式导入数据流图
- 导入失败时显示警告提示
- 优化数据流 AI 提示词,生成质量更高
- 自托管用户支持从 Personal 版迁移到 Pro/Max 版
改进
- 数据流画布支持更大范围的缩小
问题修复
- 修复高级搜索页面加载时未自动执行搜索的问题
- 修复引导对话框提前关闭导致任务列表为空的问题
- 修复工作区窗口获得焦点时终端未自动聚焦的问题
v0.57.0 (2026-03-26)
新功能
- 数据流多字段选择 — 按住 Ctrl 点击可选中多个字段,支持 7 色高亮显示
问题修复
- 修复任务附件与资源库同步不一致的问题
- 修复链接区域中长任务标题溢出的显示问题
改进
- 全局启用细滚动条,界面更加简洁
v0.56.0 (2026-03-25)
新功能
- 看板卡片显示指派人头像,支持按指派人筛选
- 定时任务支持数据库备份,管理员可配置备份负责人
- 定时任务下拉菜单支持删除操作
- 资源页面新增刷新按钮
- 工作区菜单中"临时运行"移至首位
问题修复
- 修复引导对话框阻塞已有用户的问题,支持点击外部或 Escape 关闭
- 修复跨域文件下载问题
- 修复刷新按钮未重置资源缓存的问题
- 修复审计列迁移中的表名和字段宽度问题
- PostgreSQL 模式下隐藏备份相关 UI
v0.55.1 (2026-03-24)
新功能
- 任务指派人 — 在任务属性面板中直接指派团队成员
- 变更审计追踪 — 记录修改来源渠道,提升变更历史可见性
问题修复
- 修复对话框内容过长时的溢出显示问题
- 修复编辑列弹窗在条件过长时的布局溢出问题
v0.55.0 (2026-03-24)
新功能
- 任务甘特图视图 — 在时间线上可视化任务的开始和截止日期
- 拖拽调整甘特图条形大小,直接修改任务日期
- 任务新增"启动日期"字段,支持日历和甘特图规划
- 列表视图图标更新,画廊视图支持选择操作
问题修复
- 修复账户/预算/支出创建时元数据未正确传递的问题
- 修复看板筛选条件在列包含排序时被丢弃的问题
v0.54.2 (2026-03-23)
新功能
- 文件存储视图支持批量选择、删除和移动到文件夹
- 命令面板中的任务按最近更新时间排序
问题修复
- 修复富文本编辑器中 H4、H5 标题样式缺失的问题
- 修复时间线状态段宽度过窄时被裁剪的问题
v0.54.1 (2026-03-23)
新功能
- 资源详情页支持直接编辑 drawio、dataflow 和文本类型资源
问题修复
- 修复命令面板标题和预览内容溢出问题
- 修复 TUI 中从任务/看板元数据解析工作区工作目录的问题
v0.54.0 (2026-03-23)
新功能
- 存储类管理 — 管理后台支持存储类的创建、编辑、删除和测试,支持备份副本自动复制,用户/组/系统三级分配层级及解析总览
- 看板支持全屏模式
- Markdown 编辑器支持 H4、H5 标题级别及气泡菜单清除格式
改进
- CLI 迁移:统一基于元数据的幂等增量迁移,支持所有实体类型
问题修复
- 修复存储类编辑弹窗中密钥被遮蔽值覆盖的问题
v0.53.4 (2026-03-21)
新功能
- 工作区上限对话框新增推荐好友提示,邀请好友可解锁更多工作区
- 下载对话框中集成平台提示信息,方便查看安装说明
- 管理后台新增用户增长趋势折线图
改进
- 代码块支持水平滚动,不再溢出容器
- 对话框在小屏幕上自动滚动,布局更紧凑
- 工作区上限描述更新,提及反馈可解锁额度
问题修复
- 修复增长图表 X 轴日期标签格式异常的问题
- 修复对话框内容在小屏幕上溢出的问题
v0.53.3 (2026-03-20)
改进
- 新增独立的「在新窗口中预览」按钮,方便在新窗口中查看详情页
问题修复
- 修复详情页未能在新窗口中打开的问题
v0.53.2 (2026-03-20)
新功能
- 资源预览支持在新窗口中打开,方便并排查看
- Markdown 编辑器气泡菜单新增翻译按钮
- 下载对话框新增推荐提示,包含个人资料链接和 Discord 社区链接
问题修复
- 修复 Ctrl+Q 键盘快捷键无法正常工作的问题
v0.53.1 (2026-03-20)
问题修复
- 修复桌面应用因 SQLite 数据库迁移错误导致启动崩溃的问题
v0.53.0 (2026-03-19)
新功能
- 个人资料页新增键盘快捷键参考面板
- 新增工作区切换命令面板(Ctrl+Q)
- CLI 看板视图新增全部折叠/展开和刷新快捷键
问题修复
- 修复保存 drawio 文件时丢失原始格式的问题
- 修复 Electron 应用启动时单例锁文件未正确清理的问题
- 修复列条件构建器中的重复 case 问题
- 修复目录大纲在部分视口宽度下显示异常
- 修复旧数据库升级时 workspace_sessions 表缺失导致启动失败的问题
v0.52.0 (2026-03-19)
新功能
- 仪表盘新增可配置的查询小组件,支持自定义查询条件
- 支持调整小组件大小和排列顺序
- 小组件配置通过偏好设置自动同步到服务端
改进
- 查询字符串统一以淡色样式显示,提升可读性
问题修复
- 修复账户表缺少 group_id 列的问题
- 修复仪表盘状态持久化合并策略导致的问题
- 修复查询语法格式不正确的问题
v0.51.4 (2026-03-19)
改进
- 优化推荐奖励卡片描述内容
- 改进邀请码区域,展示推荐奖励信息
v0.51.3 (2026-03-19)
新功能
- 个人资料页新增邀请码展示和推荐奖励卡片,方便邀请人查看和复制奖励信息
v0.51.2 (2026-03-18)
新功能
- 新增推荐奖励系统 — 通过分享邀请码推荐下载桌面应用可获得奖励
- 新增下载引导弹窗,支持加入 Discord 社区和输入邀请码
v0.51.1 (2026-03-18)
改进
- 在实现工具下拉菜单中添加配置入口,方便快速访问 AI 提供商设置
问题修复
- 修复 Safari 浏览器中实体链接无法正常工作的问题
- 修复 CLI 终端看板视图未按默认标签筛选的问题
- 修复看板提示词和钩子设置的翻译缺失
v0.51.0 (2026-03-18)
新功能
- 看板添加面板全新改版 — 显示所有看板(含类型标签和归属信息),私有看板以只读形式展示,添加到共享看板时显示提醒
- 新增看板 AI 提示词设置 — 创建看板时可配置 AI 提示词
- 用户资料页显示邮箱及关联身份提供商信息
改进
- 移除看板确认弹窗增加群组名称和标签列表展示
- 所有看板(不仅限于共享看板)移除时均显示确认弹窗
- 刷新按钮增加旋转动画反馈
问题修复
- 修复个人资料页面崩溃的问题
- 改进中文翻译,表达更自然
v0.50.1 (2026-03-17)
改进
- 内部维护和稳定性优化
v0.50.0 (2026-03-17)
改进
- 增强权限审计 — 批量权限变更现在正确记录操作人并生成审计事件
问题修复
- 修复批量权限更新未追踪操作者和未触发审计事件的问题
v0.49.6 (2026-03-17)
改进
- 简化看板筛选 — 看板现在使用默认标签替代原始查询语法进行筛选
问题修复
- 修复看板设置面板中的多个 UI 问题(滚动条、边框、焦点环)
v0.49.5 (2026-03-17)
新功能
- 看板查询范围 — 看板现在支持使用板级查询筛选任务,激活时显示范围指示徽章
问题修复
- 修复页面导航时休息提醒计时器被重置的问题
v0.49.4 (2026-03-16)
新功能
- 新增 OpenCode 作为内置 AI 代理选项
- 工作区窗口数上限对话框新增感谢信息
问题修复
- 修复应用关闭时工作区关闭事件丢失的问题
- 修复 Safari 浏览器中 Markdown 链接跳转到自定义协议 URL 的问题
v0.49.3 (2026-03-16)
问题修复
- 修复甘特图中多余的滚动条和布局抖动问题
- 修复 CI 流水线中 Linux 二进制文件缺少执行权限的问题
v0.49.2 (2026-03-16)
问题修复
- 修复月度图表点击导航在 recharts v3 下不工作的问题
v0.49.1 (2026-03-16)
新功能
- 账单日图表 — 交易页面新增按日汇总的支出图表
改进
- CLI 安装简化为仅通过 npm 安装
问题修复
- 修复月度图表悬停索引类型错误
v0.49.0 (2026-03-15)
新功能
- 任务状态时间线 — 全新甘特图页面,可视化展示任务状态随时间的变化轨迹,帮助你了解任务在各状态间的流转
- 状态变更动态 — 仪表盘"最近更新"小组件替换为任务状态变更实时动态流
- 知识图谱标签过滤 — 支持在知识图谱视图中按标签筛选节点
- 看板子任务预览 — 看板卡片预览弹窗中直接展示子任务列表
v0.48.1 (2026-03-15)
新功能
- 移动端搜索结果下方显示任务预览
- 移动端命令面板新增标题/Grep 分段切换
- 看板列表视图新增分区级快速添加任务按钮
- 看板列表视图新增内联搜索和标签过滤
改进
- 标签建议按最近使用排序,替代按字母排序
问题修复
- 修复创建任务对话框标题输入框焦点环被裁切的问题
v0.48.0 (2026-03-14)
新功能
- 子任务支持拖拽排序
- 工作区展示所有窗口,不再仅显示当前看板
- 史诗视图新增"跳转到父任务"按钮
- "在外部打开"按钮改为在当前窗口内导航
- CLI:
ud unlink task新增--parent和--subtask参数
改进
- 子任务拖拽排序支持乐观更新,操作即时反馈
问题修复
- 修复仅有子任务时关系图不显示的问题
- 修复子任务标题对齐和样式问题
- 修复拖拽手柄导致布局偏移的问题
v0.47.1 (2026-03-14)
改进
- 优化 Linux 桌面应用构建流程
v0.47.0 (2026-03-14)
新功能
- 支持在 TipTap 编辑器中渲染 Mermaid 图表,支持全屏放大预览(平移缩放)和 SVG 下载
- 任务关系重构:任务详情页新增"父任务"、"子任务"、"关联任务"三个独立区域,子任务带进度条
- CLI 新增
--parent和--subtask参数,任务详情显示子任务列表 - 管理员可通过系统配置设置存储配额上限
- 本地同步支持 frontmatter 中的 parent、subtasks、linked 字段
改进
- "从已有任务添加子任务"对话框,方便快速建立子任务关系
问题修复
- 修复 Mermaid SVG 下载时 XML 解析失败的问题
- 修复亮色模式下全屏预览不可见的问题
- 修复资源详情页预览不一致的问题
- 修复上传配额校验未正确传递用户角色的问题
- 修复子任务进度计数未使用后端数据的问题
v0.46.6 (2026-03-13)
改进
- 首页访问控制功能新增展示图片
v0.46.5 (2026-03-13)
问题修复
- 修复桌面应用启动时 CLI 工具自动更新的问题,现已改为静默更新
- 修复子窗口默认尺寸过小的问题,现在默认显示桌面视图
- 移除了自动弹出 DevTools 的行为
v0.46.4 (2026-03-13)
问题修复
- 修复 Linux 系统托盘图标显示为灰色的问题(转换为 sRGB 色彩空间)
- 优化子窗口打开速度,兜底计时器从 5 秒缩短至 500 毫秒
v0.46.3 (2026-03-13)
问题修复
- 修复 Linux 桌面应用子窗口显示问题,增加兜底显示计时器和错误处理
- 修复 macOS 和 Windows 桌面应用的原生模块构建问题
v0.46.2 (2026-03-13)
改进
- 看板列表页新增移动端看板选择器和视图切换
问题修复
- 修复全新数据库首次启动时迁移失败的问题
- 修复看板更新时工作区工作目录等元数据丢失的问题
- 修复标签换行显示的问题
- 修复移动端侧边栏切换按钮不易点击的问题
- 修复 Linux 桌面应用终端无法渲染的问题
v0.46.1 (2026-03-12)
问题修复
- 修复已过期的登录会话缓存可能绕过登录页,导致显示引导对话框的问题
v0.46.0 (2026-03-12)
改进
- 数据库升级机制改用版本化 SQL 迁移,升级更可靠
- 修复桌面版(SQLite)启动时可能因旧数据库字段导致崩溃的问题
v0.45.2 (2026-03-12)
新功能
- 命令面板搜索结果高亮显示匹配关键词,并支持预览备注内容
- 导航命令整合为 /nav 子菜单,命令面板更简洁
问题修复
- 修复看板侧边栏图标未直接跳转到所选看板的问题
- 修复 /board 命令未正确跳转到所选看板的问题
v0.45.1 (2026-03-12)
改进
- 新增集成测试框架,提升版本发布质量保障
v0.45.0 (2026-03-12)
新功能
- 命令面板新增 Grep 搜索模式,按 Tab 切换标题搜索和全文搜索(标题+描述+备注)
- 工作区任务面板新增"前往看板"按钮
- 资源预览支持多种文本格式、Markdown 预览以及 docx/xlsx 预览
- 任务附件支持文本资源
v0.44.5 (2026-03-11)
新功能
- 命令面板新增 /windows 命令,快速切换工作区窗口
- 数据流节点支持描述字段,可通过编辑按钮和悬浮提示查看
改进
- 对比页面改用亮点图库展示核心优势
问题修复
- 修复看板窗口标题未显示所选看板名称的问题
v0.44.4 (2026-03-11)
问题修复
- 修复只读共享任务仍显示历史记录操作的问题
- 修复工作区终端未继承看板配置工作目录的问题
v0.44.3 (2026-03-11)
新功能
- 工作区新增窗口数量限制,可通过许可证密钥解锁更多窗口
- 工作区任务面板中任务标题下方显示任务 ID
问题修复
- 修复退出登录或清理预设数据后财务数据未刷新的问题
- 修复移动端显示创建看板按钮的问题
v0.44.2 (2026-03-11)
新功能
- 工作区任务面板新增工作区切换下拉菜单
- 独立编辑器新增"保存到 UnderControl"按钮
问题修复
- 修复可视化编辑器中 frontmatter 块损坏的问题
- 修复编辑器模式切换时实例未正确隔离的问题
v0.44.1 (2026-03-11)
新功能
- 看板页面新增内联工作区栏
问题修复
- 修复看板拖拽时页面水平滚动的问题
- 修复光标移出滚动容器边缘后自动滚动仍继续的问题
- 修复看板拖拽到屏幕外列及右侧边距的问题
- 修复工具栏滚动消失的问题,现已固定在标题栏下方
- 修复只读共享任务仍显示编辑操作的问题
v0.44.0 (2026-03-10)
新功能
- 桌面应用内置独立 Markdown 编辑器,可直接打开 .md 文件进行编辑
问题修复
- 修复 Electron 自定义协议过滤缺失的问题
v0.43.0 (2026-03-10)
新功能
- TUI 全新 k9s 风格界面:三栏布局、双列顶栏、品牌展示与上下文信息
- TUI 看板视图:垂直列布局,支持展开/折叠,看板钻入浏览
- TUI 工作区支持:从任务详情启动工作区,PTY 管理,操作选择器
- TUI 中使用
$EDITOR编辑任务,支持 frontmatter 格式 - TUI 通过编辑器创建新任务
- TUI
/快捷键过滤所有资源视图 :ctx命令切换上下文,显示 API URL 和用户信息- TUI 任意视图进入命令模式
- TUI 后端在线状态指示器
- CLI 资源短名称和复数别名
- "打开 Claude(任务上下文)" 工作区操作
改进
- 过滤模式下支持上下箭头导航表格
问题修复
- 修复费用表格填充导致日期列截断的问题
- 修复离开工作区选择器后视图未恢复的问题
- 修复工作区分离/重新连接时 goroutine 泄漏的问题
- 修复工作区重新连接时 TUI 布局异常的问题
v0.42.1 (2026-03-09)
改进
- 看板字段和占位符新增国际化支持
问题修复
- 修复 Hook 开关需要正确项目目录上下文的问题
v0.42.0 (2026-03-09)
新功能
- 看板权限系统:支持设置只读看板,任务权限以看板为上限
- 看板分享弹窗新增权限开关
- 共享任务和看板的只读视觉反馈
- 分享任务至看板群组时自动转移所有权
- 富文本编辑器中点击图片可放大预览
- 看板创建按钮移至设置按钮旁,操作更便捷
- 项目级 Hook 注入,支持按看板开启/关闭
改进
- 富文本编辑器中图片显示更简洁(去除圆角)
问题修复
- 修复拖拽覆盖层溢出看板容器边界的问题
- 代码块支持横向滚动,不再自动换行
- 修复代码块中空白符处理的问题
- 修复动态传感器导致的拖拽错误
v0.41.6 (2026-03-09)
改进
- 看板拖拽排序现在跨页面刷新后仍保持顺序
问题修复
- 修复看板列显示查询的问题
- 修复看板任务拖拽排序反馈不一致的问题
- 修复默认查询排序顺序的问题
v0.41.5 (2026-03-09)
问题修复
- 修复 Windows 上 PowerShell 参数转义导致 CLI 命令执行失败的问题
- 修复 Windows 上工作区命令中变量分词错误的问题
v0.41.4 (2026-03-08)
改进
- 内部代码优化和维护性改进
v0.41.3 (2026-03-08)
改进
- 桌面应用工作区代理启动更快——技能提示词在构建时嵌入,无需运行时调用 CLI
v0.41.2 (2026-03-08)
改进
- CLI 默认 API 地址改为官方服务器(ud.oatnil.com)
- 工作区桌面操作使用确认对话框替代提示气泡,操作更明确
问题修复
- 修复看板拖拽排序后卡片顺序未持久化的问题
- 修复工作区代理命令执行的可靠性问题
v0.41.1 (2026-03-08)
问题修复
- 修复标签条件筛选中的无限循环问题,避免页面卡死
v0.41.0 (2026-03-08)
新功能
- 多账户切换:支持保存最多 5 个账户并快速切换,无需退出登录,可在侧边栏、登录页和个人资料页使用
- CLI 任务看板查看:
ud task现在显示任务所属的看板 - 统一引导流程:访客账户创建与示例数据生成分为独立步骤,有清晰的进度提示
- 定时任务:「立即执行」升级为直接按钮,操作更便捷;预设数据清理默认关闭
改进
- 偏好设置持久化到 localStorage,页面加载即时渲染
问题修复
- 修复仪表盘图表渲染警告
- 修复缓存中过期的固定任务未清理的问题
v0.40.0 (2026-03-08)
新功能
- ud vs Obsidian 对比页面:全新的产品对比落地页,包含功能对比表、熟悉功能清单和痛点解决方案
- 首页新增 Obsidian 对比展示区,配图片画廊
- 登录后引导对话框,支持语言选择
- 管理员工作区管理页面,可全局监控守护进程和会话
- CLI
ud apply支持 board 字段,可直接创建看板任务 - Windows 远程工作区代理支持(PowerShell 钩子脚本)
- 工作区监控页面新增刷新按钮
- 新增远程工作区搭建指南(应用内文档)
改进
- /tasks 路径重定向至看板视图
- 固定任务缓存采用 stale-while-revalidate 策略,渲染更快
问题修复
- 修复看板卡片拖拽超出最后一列时浮动在外的问题
v0.39.0 (2026-03-07)
新功能
- 远程工作区:全新的远程工作区系统,支持守护进程注册与发现、SSE 实时事件推送、会话跟踪与代理启动、工作区控制信号(停止/读取新指令)、操作黑名单安全机制,以及前端触发与查看界面
- 任务笔记 SSE 实时通知,支持工作区实时更新
问题修复
- 修复 CLI 在 Claude Code 代理会话中无法执行 ud 命令的问题
- 修复 CLI 传递 task_id 作为提示词给 Claude Code 代理的问题
- 增强 CLI 守护进程稳定性:安全的 ID 截断、SSE 退避重置、一致的错误处理
- 修复 SSE 端点响应拦截器导致的连接问题
v0.38.10 (2026-03-06)
问题修复
- 移除订阅桌面版区域的中国下载选项
v0.38.9 (2026-03-06)
问题修复
- 修复无提示词时仍启动代理执行的问题
- 改进看板类型选择 — 默认为共享看板,描述更清晰
v0.38.8 (2026-03-06)
新功能
- 看板项目设置新增目录路径选择器
问题修复
- 优化任务描述时的上下文提示顺序
v0.38.7 (2026-03-06)
问题修复
- 修复 ud CLI skills 命令兼容性问题
- 修复非 Claude AI 代理的提示词上下文处理
- 修复 Windows 上提示词参数分割问题
v0.38.6 (2026-03-06)
问题修复
- 修复 Codex CLI 提示词处理问题,正确合并系统提示词和用户提示词
- 修复传递提示词给 Codex 时的参数分割问题
v0.38.5 (2026-03-06)
新功能
- 命令行工具:
set-context命令新增登录提示,login命令支持--name/-n参数,简化认证流程
问题修复
- 修复工作区终端未正确解析用户完整 PATH 的问题
- 移除命令面板中已废弃的 /view 命令
v0.38.4 (2026-03-06)
问题修复
- 修复 Windows 桌面应用工作区启动时 PowerShell 命令解析失败的问题
v0.38.3 (2026-03-06)
新功能
- 仪表盘账户和预算小组件新增最近记录展示
- 仪表盘交易小组件显示最近 3 条交易记录
- 命令行工具新增 migrate 命令,支持服务器间数据迁移
问题修复
- 修复仪表盘账户环形图颜色不一致的问题
- 修复仪表盘账户小组件布局与预算、交易小组件不对齐的问题
- 修复命令行工具 saved-query 和 task-view 列表响应格式
v0.38.2 (2026-03-06)
改进
- 内部稳定性和工具链改进
v0.38.1 (2026-03-06)
新功能
系统信息查看
- 管理员可在系统配置页面直接查看数据库类型、版本和大小等元数据
数据流导出为 AI 提示词
- 数据流图表支持一键复制为结构化提示词,方便在 AI 工具中使用
保存查询中删除任务
- 支持在保存查询的结果列表中直接删除任务,无需跳转
改进
- AI 助手现在会描述当前正在处理的任务上下文
- 预设保存查询名称和数据清理任务支持中英文翻译
问题修复
- 修复数据流复制提示词生成的 JSON 格式问题
- 修复命令行工具安装配置问题
v0.38.0 (2026-03-05)
新功能
看板创建体验升级
- 看板头部新增醒目的「创建看板」按钮,轻松创建自定义看板
- 创建看板对话框支持高级设置(描述、可见性),默认展开方便配置
- 在系统看板上使用时,会引导您创建自己的自定义看板
新用户预设数据
- 新注册用户自动获得示例数据,帮助快速了解和体验应用功能
- 支持标签化清理,随时一键删除所有预设数据
桌面应用 CLI 自动配置
- 桌面应用登录后自动配置命令行工具的个人上下文,无需手动设置
改进
- 新用户引导任务从 30 个精简为 10 个,内容更准确实用
- 共享看板描述更清晰地说明协作功能
问题修复
- 修复点击创建看板按钮时的崩溃问题
- 修复欢迎任务中预设数据清理链接显示异常
- 修复 Windows 平台命令行工具路径设置问题
v0.37.9 (2026-03-05)
改进
- 桌面应用启动时自动安装 ud 命令行工具并配置 Claude Code hooks,无需手动设置
问题修复
- 修复 Windows 平台命令行工具安装路径与工作区终端不匹配的问题
- 移除个人资料页中的手动 CLI 安装选项(已改为自动安装)
v0.37.8 (2026-03-05)
问题修复
- 修复 Windows 平台命令行工具兼容性问题
- 修复桌面应用包标识问题
v0.37.7 (2026-03-05)
改进
- 首页功能展示新增资源管理相关展示图片,更直观地了解资源管理功能
v0.37.6 (2026-03-05)
新功能
- 首页新增「下载桌面应用」按钮,方便快速下载桌面客户端
- 命令行工具新增 get/describe 命令,支持查看支出、预算和账户详情
v0.37.5 (2026-03-04)
改进
- 关闭主窗口确认对话框支持中英文双语显示
v0.37.4 (2026-03-04)
新功能
看板终端
- 在看板头部直接打开 AI 代理终端,支持同时运行多个终端
- 为每个操作选择不同的 AI 代理,支持临时工作区操作
实时状态更新
- 工作区状态通过 Server-Sent Events 实时更新,响应更快更可靠
关闭确认
- 当有子窗口(工作区)打开时,关闭主窗口前会弹出确认提示,防止误关闭
问题修复
- 修复看板终端提示包含不必要的任务上下文的问题
- 修复无提示词时代理无法交互式启动的问题
- 修复代理选择下拉菜单被遮挡的问题
v0.37.3 (2026-03-04)
新功能
史诗视图(Epic View)
全新的任务子树可视化页面,以树形结构展示任务层级关系:
- 从任务详情页进入 Epic View,查看完整的子任务树
- 支持展开/折叠所有节点,快速浏览或聚焦特定分支
- 快速添加子任务,直接在树中创建新的子任务
- 任务标题可直接点击,快速跳转到任务详情
子任务进度指示器
- 任务列表和任务详情页显示子任务完成进度
- 关联任务区域显示进度条,一目了然
工作区事件历史
- 监控页面现在追踪工作区状态变化历史
- 工作区打开时自动标记为空闲状态,确保事件追踪准确
改进
- 首页在移动端使用水平标签页布局,浏览更便捷
问题修复
- 修复看板卡片在刷新或创建新卡片后消失的问题
- 修复工作区监控页面未始终显示事件历史的问题
v0.37.2 (2026-03-04)
问题修复
- 修复工作区操作导致页面无限重渲染的问题
v0.37.1 (2026-03-04)
新功能
全新首页功能展示
- 首页功能卡片支持点击交互,展示多图画廊、自动轮播、左右导航和点击放大灯箱
- 新增「立即试用」按钮,访客可从首页直接体验平台
- 更新了任务、财务、工作区、资源和本地同步等功能描述
工作区窗口状态标识
- 工作区窗口标题显示状态表情符号,方便一眼掌握工作状态
问题修复
- 修复看板列加载时无限请求循环的问题
- 修复代理选择器中的无限循环问题
- 修复关联任务排序改为按更新时间排序
- 移除移动端不可用的 PDF 导出按钮
v0.37.0 (2026-03-04)
新功能
工作区设置重构
- 设置页面重新组织为 CLI、工作区和集成三个独立板块,导航更清晰
- 内置工作区操作和代理 CLI 现在以只读方式显示在设置中
- 点击内置操作和代理可查看完整详情
可配置代理 CLI 和按任务设置工作目录
- 支持添加自定义代理 CLI,灵活配置工作区自动化
- 支持为每个任务配置独立的工作目录
- 看板和任务工作区支持 CLI 上下文配置
快速添加自定义操作
- 工作区下拉菜单新增"添加自定义操作"快捷入口
- 自定义操作表单预填实用示例,开箱即用
改进
- 看板设置和看板下拉菜单完整支持多语言
问题修复
- 修复自定义操作提示词包含多余占位符的问题
v0.36.9 (2026-03-03)
新功能
- 工作区操作现在使用模板系统,组织更清晰
- AI 代理进入规划模式时显示绿色"规划中"状态
- 工作区下拉菜单新增"检查实现"操作
问题修复
- 移除看板实现工具选项中无效的"shell"选项
v0.36.8 (2026-03-03)
问题修复
- 调整看板卡片工作区状态圆点大小,与相邻图标保持一致
v0.36.7 (2026-03-03)
问题修复
- 修复看板卡片在没有打开工作区窗口时也显示状态圆点的问题
v0.36.6 (2026-03-03)
新功能
资源标签
- 资源现在支持添加标签,方便分类和检索
看板代理状态
- 看板卡片上直接显示工作区代理状态,一目了然
问题修复
- 统一工作区状态颜色,视觉更一致
v0.36.5 (2026-03-03)
新功能
工作区增强
- 工作区下拉菜单新增"打开终端"选项,快速打开 Shell
- AI 代理现在知道当前任务 ID,能提供更有针对性的帮助
问题修复
- 修复看板创建任务对话框默认聚焦在描述而非标题的问题
- 修复工作区代理在权限和输入对话框期间状态未更新的问题
v0.36.4 (2026-03-03)
改进
- 移除记账和收入对话框中的计算器组件,界面更简洁
- AI 代理空闲状态改用蓝色标识,与工作状态区分更清晰
问题修复
- 修复剩余公共页面无法垂直滚动的问题
v0.36.3 (2026-03-03)
新功能
工作区监控
- 新增工作区监控页面,鸟瞰所有活跃工作区的状态
- 可通过命令面板快速打开工作区监控
- 工作区任务面板提供快捷按钮,一键跳转到主窗口查看和编辑任务
改进
- 工作区面板中任务标题旁显示状态图标,方便快速识别
问题修复
- 修复工作区任务面板中状态图标对齐问题
v0.36.2 (2026-03-02)
改进
- 桌面应用个人资料页新增 CLI 安装提示,方便快速安装命令行工具
问题修复
- 修复工作区数量限制对话框跳转到错误页面的问题
- 修复公共页面(订阅/联系/文档)无法垂直滚动的问题
v0.36.1 (2026-03-02)
改进
- 窗口标题新增 WK/Task 前缀,方便快速识别不同窗口
问题修复
- 修复看板页面出现双重水平滚动条的问题
- 修复不同工作区之间 AI 代理状态互相串扰的问题
v0.36.0 (2026-03-02)
新功能
AI 工作区实时状态检测
- 工作区窗口现在实时显示 AI 代理的运行状态(工作中/空闲/离线)
- 状态通过表情符号前缀直观展示在窗口标题中
- 空闲状态使用醒目的琥珀色指示器,便于快速注意
任务固定
- 任务详情页新增固定/取消固定按钮,将重要任务置顶显示
Electron 任务窗口
- 在桌面应用中为任务打开独立窗口,支持多任务并行处理
- 窗口标题显示任务名称,方便识别
注册语言偏好
- 注册表单新增语言偏好选择,首次使用即可设置界面语言
改进
- 工作区笔记按创建时间倒序排列,最新笔记始终在顶部
v0.35.7 (2026-03-01)
新功能
工作区体验优化
- 工作区窗口标题栏现在显示任务名称,方便识别不同任务对应的工作区
- 看板任务预览弹窗新增「开始实现」按钮,无需打开任务详情即可直接启动实现
改进
- 跳转到 CLI 安装页面前增加确认对话框,避免意外导航
v0.35.6 (2026-03-01)
新功能
ud CLI 资源同步增强
- 新增
--concurrent并发同步标志,大幅提升文件同步速度 - 新增过滤标志,支持按条件选择性同步文件
问题修复
- 修复看板列滚动条显示问题,保持滚动功能的同时隐藏滚动条
v0.35.5 (2026-03-01)
新功能
休息提醒小组件
仪表盘新增休息提醒小组件,帮助您定期休息:
- 倒计时计时器,支持自定义间隔(支持小时、分钟、秒,如 "2m3s")
- 应用内弹窗提醒,支持自定义提醒标题
- 系统通知被屏蔽时自动播放提示音
交易小组件
仪表盘的支出小组件升级为交易小组件,新增环形图直观展示收支分布。
保存查询改进
- 保存的查询支持一键复制
- 创建查询对话框升级为抽屉式布局,新增预设快捷查询
- 新增「AI 生成(无看板)」预设查询
问题修复
- 修复休息提醒相关的多个问题(通知发送、倒计时显示、计时器停止等)
- 修复弹窗标题固定显示"定时提醒"而非自定义消息的问题
- 修复输入有误时仍可开启开关的问题
v0.35.4 (2026-03-01)
新功能
任务自定义元数据
在任务详情页查看所有元数据字段,并直接添加自定义键值字段。
保存查询任务操作
在保存的查询结果行中直接更改任务状态和分享任务到看板。
问题修复
- 修复非 ASCII 标题的任务无法创建 tmux 会话的问题
v0.35.3 (2026-02-28)
新功能
预算共享到群组
支持将预算共享给群组,使用 Unix 风格的权限控制(读取/写入/管理),方便团队协作管理预算。
问题修复
- 修复手机端有子分类但无数据时现金流汇总不显示的问题
v0.35.2 (2026-02-28)
新功能
个人版工作窗口数量限制
个人版用户现在最多可同时打开 2 个实现窗口。达到上限时会弹出提示,引导升级到 Pro 版解锁无限窗口。
个人版凭据显示
个人版用户可在个人资料页查看默认登录凭据,方便在命令行工具或其他客户端中使用。
命令行工具安装检测
使用「开始实现」功能时,应用会自动检测 ud 命令行工具是否已安装,未安装时会引导前往安装页面。
v0.35.1 (2026-02-28)
新功能
从桌面应用安装命令行工具
现在可以直接在桌面应用中安装 ud 命令行工具,无需再通过 Homebrew 手动下载。前往设置 > 集成设置,一键安装即可在终端中使用。
- 一键安装,自动配置系统 PATH
- 显示安装状态和路径
- 自动识别通过 Homebrew 等包管理器安装的 CLI
任务详情刷新按钮
任务详情页新增刷新按钮,可快速重新加载最新数据。
问题修复
- 修复手机端月度收支柱状图显示问题
v0.35.0 (2026-02-28)
新功能
工作区:AI 驱动的任务实现
从看板直接启动任务实现,全新的嵌入式终端工作区让 AI 辅助编程更顺畅:
- 任务详情页新增「开始实现」按钮,一键进入实现流程
- 嵌入式终端工作区自动加载任务上下文,启动 Claude Code
- 看板支持配置项目目录,工作区自动在正确的目录下打开
月度收支柱状图
交易页面新增按月收入/支出柱状图,直观展示每月收支对比,默认折叠显示。
改进
- 看板编辑对话框升级为抽屉式布局,新增项目目录配置
v0.34.7 (2026-02-27)
新功能
命令面板预览
命令面板新增预览面板,支持在左右分栏布局中查看任务描述
改进
- 身份提供商设置页面支持中英文切换
问题修复
- 修复本地同步推送任务后,当前视图不会自动刷新的问题
v0.34.6 (2026-02-27)
问题修复
- 修复自部署场景下跨域 API 地址处理问题
- 修复身份认证配置页面的重定向 URL 显示
v0.34.5 (2026-02-26)
新功能
预算月度视图
全新的月度预算视图,支持按月查看和管理预算,通过月份选择器轻松切换,更好地追踪每月支出情况。
预算概念说明页
新增预算概念文档页面,帮助您理解预算管理中的各项术语和概念。
改进
- AI「手气不错」功能现在会显示来源任务引用,提供更好的上下文信息
问题修复
- 修复预算页面在移动端的布局问题
v0.34.4 (2026-02-26)
新功能
Feel Lucky 仪表盘小组件
仪表盘新增「手气不错」知识探索小组件,随机发现和探索您的知识库内容。
AI 提供商国际化
AI 提供商配置对话框和设置区域现已完整支持中英文双语。
改进
- 新增 AI 提供商配置操作指南
问题修复
- 修复操作指南导航重定向问题
- 修复任务图片识别和视觉任务创建时的文件上传路径
- 修复 AI 提供商启动配置
- 改进 Feel Lucky 功能的 AI 错误处理
v0.34.3 (2026-02-25)
新功能
内容大纲(目录)
任务详情页新增内容大纲功能,自动检测当前可见区域的标题并显示目录导航:
- 支持任务描述和备注中的标题导航
- 普通视图和禅模式均可使用
- 平滑的淡入淡出动画效果
侧边栏切换按钮重新设计
全新的侧边栏切换按钮设计,采用右侧竖线加圆形按钮样式,更简洁优雅。
禅模式增强
- 禅模式下新增右侧边缘返回按钮
- 禅模式下也可使用内容大纲
侧边栏自动折叠
进入任务详情页时左侧边栏自动折叠,为阅读留出更多空间。
改进
- 双击编辑时自动聚焦并定位光标到点击位置
- 编辑内容时自动隐藏内容大纲,避免干扰
- 内容大纲显示区域更宽,阅读更舒适
- 移除任务详情页的 PDF 导出按钮,界面更简洁
问题修复
- 修复打印视图页眉页脚显示问题,保留页码
- 修复侧边栏切换按钮与滚动条重叠的问题
- 修复侧边栏折叠/展开时内容大纲位置未更新的问题
v0.34.2 (2026-02-25)
新功能
看板截止日期显示
看板列表视图和看板卡片现在直接显示任务的截止日期,方便一目了然地追踪时间敏感的任务。
@ 提及菜单
在富文本编辑器中输入 @ 即可调出提及菜单,快速搜索并引用任务、预算等实体。
问题修复
- 修复截止日期跨年时未显示年份的问题
- 修复截止日期未根据语言设置显示对应日期格式的问题
- 优化截止日期在任务标题后的对齐显示
- 修复列表行中截止日期徽章对齐不一致的问题
- 修复 @ 提及菜单的方向键导航问题
- 修复 Chrome 扩展源码链接地址错误
v0.34.1 (2026-02-24)
新功能
- 命令面板新增
/localsync命令,快速触发本地同步
问题修复
- 修复任务以只读方式分享时,任务所有者无法编辑的问题
- 修复本地同步无法解析包含空格的文件名(如中文文件名)
v0.34.0 (2026-02-23)
新功能
扁平文件本地同步
本地同步全面升级为扁平 .md 文件格式,替代原来的嵌套 UUID 文件夹结构,让您可以在文件管理器或 Obsidian 中更方便地浏览和编辑任务。
Wikilink 与 Markdown 链接解析
同步时自动识别和解析任务之间的 [[wikilink]] 和 [文本](./文件.md) 链接,保持任务之间的关联关系。
全量推送到远端
新增「全量推送」按钮,一键将所有本地文件强制推送到应用。
任务导航历史
任务详情页新增浏览器风格的前进/后退导航箭头,方便在任务之间快速切换。
改进
- 推送/拉取按钮现在清晰显示方向(本地 → 应用,应用 → 本地)
- 纯
.md文件无需 frontmatter 即可作为任务导入,使用默认字段值 - 本地同步在设置中升级为独立区域
问题修复
- 修复 macOS 程序坞图标尺寸和比例问题
- 导航箭头始终可见,支持缓存回退
v0.33.2 (2026-02-20)
新功能
账户资产趋势图
账户首页新增多折线资产趋势图,直观展示资产变化:
- 默认显示近 3 个月趋势,支持切换时间范围
- 图表默认折叠,点击展开查看
- 数据点标注真实记录日期
账户历史备注
账户历史记录新增备注字段,方便记录每笔变动的说明。
CSV 导出
支持在客户端直接导出账户数据为 CSV 文件。
资源元数据
资源上传流程支持添加元数据,并新增元数据更新接口。
CLI 文件夹同步
新增 ud sync resource 命令,支持递归同步本地文件夹到云端。
改进
- 访客模式下账户历史预设数据更丰富,趋势图展示效果更好
问题修复
- 修复趋势图 X 轴刻度重复显示相同日期的问题
- 修复生成预设账户历史时丢失原有日期的问题
- 修复访客账户历史时间点未对齐的问题
v0.33.1 (2026-02-20)
新功能
命令面板快捷提示栏增强
- 新增快捷提示栏显示/隐藏开关,让工作区更简洁
- 新增「新标签页打开」和「复制链接」快捷操作,提示项支持点击触发
- 快捷键提示改用文本标签显示,更加清晰易读
npm 安装 ud CLI
ud CLI 现在可通过 npm 安装:npm install -g @oatnil/ud
改进
- Web Clipper 现在同时支持 Markdown 和 SingleFile HTML 两种格式
- 应用内安装文档更新,新增 npm 和 Homebrew 安装方式说明
v0.33.0 (2026-02-19)
新功能
新用户预设保存查询
新注册用户自动获得一组预设的保存查询,帮助您快速上手使用。
CLI 看板命令
命令行工具新增看板相关命令:获取、查看详情和添加看板。
访客收入预设数据
访客账户现在包含预设收入数据,方便体验完整功能。
改进
- 个人版登录状态延长至 7 天,无需频繁重新登录
- 首页架构图各节点新增简要说明,更清晰展示系统组成
问题修复
- 修复移动端交易筛选栏高度和对齐问题
v0.32.0 (2026-02-18)
新功能
收入管理与统一交易页面
全新的收入跟踪功能和统一交易页面,让您在一个地方管理所有收支:
- 新增收入记录功能,支持收入详情页和交易跳转
- 统一交易页面,同时查看支出和收入
- 创建收入时自动填充默认标题
现金流概览
在交易页面新增现金流汇总功能:
- 实时查看收支汇总
- 支持多币种展示
- 添加或删除支出/收入后自动刷新
预算进度追踪
交易侧边栏新增预算进度条,直观了解预算使用情况:
- 各预算独立进度条
- 总支出/预算汇总进度条
隐私模式
交易页面新增隐私模式开关,一键隐藏金额信息。
任务 PDF 导出
支持将任务及其备注导出为 PDF 文件。
改进
- 交易图标和金额颜色简化,视觉更清晰
- 现金流汇总布局更紧凑
问题修复
- 修复创建支出时未使用预算货币的问题
- 修复队列任务列表页面自动刷新的问题
v0.31.1 (2026-02-15)
改进
官网展示优化
- 应用展示区全新改版,采用自动轮播幻灯片展示真实产品截图
- SaaS 订阅区域重新设计,视觉效果更佳
- 架构图支持交互式节点预览,点击节点可查看对应的应用画面
- 架构图新增桌面应用、Apple 快捷指令、存储选项等节点
问题修复
- 修复对话框无障碍访问问题
v0.31.0 (2026-02-15)
新功能
Web Clipper (Chrome 扩展)
全新 Chrome 浏览器扩展,一键将网页保存为 UnderControl 任务:
- 点击扩展图标,编辑标题,保存整个页面
- 使用 SingleFile 技术将页面捕获为完整的 HTML 快照
- 快照作为资源附件自动关联到新创建的任务
- 订阅页面新增 Web Clipper 介绍和文档入口
CLI 多账户支持
CLI 工具新增 --context 标志,支持临时切换上下文:
- 无需修改默认配置即可快速访问不同账户/服务器
- 例如:
ud --context work get task临时使用 work 上下文 - 应用内文档更新,包含完整的多账户使用指南
v0.30.1 (2026-02-14)
Bug Fixes
- 修复构建错误,提升应用稳定性
v0.30.0 (2026-02-14)
新功能
文件系统式资源浏览
资源页面全新升级为文件系统风格的浏览体验:
- 创建文件夹,将文件整理到不同目录中
- 面包屑导航,快速切换目录层级
- 点击
..返回上一级目录 - 列表视图和画廊视图都支持文件夹浏览
拖拽管理文件
- 拖拽文件到文件夹即可移动
- 从桌面拖拽文件直接上传到当前目录
文件列表排序
- 点击列标题(名称、大小、创建时间、更新时间)即可排序
- 箭头指示当前排序方向
看板快速添加任务
- 在看板列表视图中快速输入并通过 AI 创建任务
改进
- AI 识别的小票自动归档到
/system/expense-from-vision/目录 - AI 识别的任务图片自动归档到
/system/task-from-vision/目录
v0.29.1 (2026-02-13)
改进
- 保存的查询项新增刷新图标,快速重新执行查询
v0.29.0 (2026-02-13)
新功能
预算预测账本
新增预算预测功能,查看预算余额随时间的变化趋势。
预算明细时间线
全新的时间线视图,展示预算计划和一次性调整:
- 在时间线中直接添加计划和一次性调整
- 侧边栏显示相关支出,全面掌握预算动态
快捷导航链接
- 从支出详情直接跳转到关联账户
- 从支出详情直接跳转到关联预算
- 在预算详情页直接添加支出
改进
- 支出设置了关联账户时,账户链接图标始终可见
- 创建预算时显示货币字段(只读),明确当前选择的货币
问题修复
- 修复对话框中预算货币使用硬编码 CNY 的问题,现在正确使用预算自身的货币
- 修复计划和调整对话框中的日期格式问题
- 修复时间线对齐问题
- 修复编辑器源码模式中多余的顶栏
- 修复主题偏好订阅中的默认值问题
v0.28.5 (2026-02-13)
新功能
AI 翻译
在编辑器中选中文本,通过气泡菜单即可使用 AI 翻译功能。
增强的 AI 气泡菜单
- 编辑模式下新增"Ask AI"按钮,快速获取 AI 辅助
- AI 结果弹窗新增复制按钮,一键复制 AI 生成内容
- 复制后显示勾选反馈,操作更直观
问题修复
- 修复使用 AI 文本优化时可能出现的崩溃问题
- 修复 AI 聊天输入框自动调整大小的问题
v0.28.4 (2026-02-12)
构建失败 - 已被 v0.28.5 取代。
v0.28.3 (2026-02-12)
问题修复
- 修复 AI 聊天选择任务上下文时导致过多网络请求的问题
v0.28.2 (2026-02-12)
改进
- AI 聊天现在会将任务笔记作为上下文发送给 AI,让 AI 能更全面地了解你的任务信息
问题修复
- 修复预算详情页浮动操作按钮显示的问题
- 修复看板任务预览弹窗显示过时数据的问题
v0.28.1 (2026-02-12)
新功能
队列任务页面
新增队列任务管理页面,可以直接在应用中查看和监控后台队列任务的执行状态,支持一键重试失败的任务。
问题修复
- 修复队列页面空状态的显示问题
v0.28.0 (2026-02-11)
新功能
UDQ 内联任务查询块
在 Markdown 文档中嵌入动态任务查询。使用 udq 代码块,通过状态、优先级、标签等条件查询任务,结果实时渲染在文档中。
Discord 社区
联系页面新增 Discord 社区邀请链接,方便加入社区交流。
问题修复
- 修复全屏编辑器(DrawIO 图表、思维导图)被侧边栏遮挡的问题
- 修复个人资料页面 API Key 标签重复显示的问题
- 修复个人资料页面内容宽度未充分利用可用空间的问题
v0.27.2 (2026-02-10)
新功能
CLI 文件上传与附件管理
通过命令行直接上传文件并关联到任务,无需打开网页。
ud upload resource <文件路径>— 上传文件到资源库ud attach resource <资源ID> --entity-type <类型> --entity-id <ID>— 将资源关联到任务等实体- 上传时可直接指定关联目标,一步完成上传和绑定
v0.27.1 (2026-02-10)
新功能
数据流 AI 生成
在数据流图编辑器中新增 AI 生成功能,支持多种 AI 提供商,通过自然语言描述快速生成数据流图。
改进
- 编辑数据流图时侧边栏自动隐藏,提供更大的编辑空间
v0.27.0 (2026-02-10)
新功能
标签管理页面
新增专用标签管理页面,左侧展示所有标签列表,右侧显示所选标签下的任务。支持按使用次数、字母顺序和最近使用排序,支持搜索过滤,支持分页加载更多任务。
- 左右分栏布局,一目了然
- 标签列表显示使用次数、颜色标记
- 点击标签即可查看关联的所有任务
- 支持删除未使用的标签
v0.26.0 (2026-02-09)
新功能
标签智能补全
所有标签输入框现在都会自动显示您已有标签的建议。聚焦输入框即可看到建议列表,无需手动输入,批量添加标签时下拉菜单保持打开状态。
改进
- 标签统一显示为
#标签药丸样式,整个应用视觉一致 - 标签名称现在支持特殊字符
问题修复
- 修复保存任务标签后建议列表未刷新的问题
v0.25.5 (2026-02-09)
新功能
kubectl 风格 CLI 命令
CLI 现在支持 get、describe、apply、delete 等顶层命令来管理任务,操作更直观高效。
改进
- 保存的查询任务行支持在新标签页中打开
- 应用内 CLI 文档更新,新增 kubectl 风格命令参考
- 查询文档新增完整文档站链接
v0.25.4 (2026-02-08)
新功能
侧边栏高级搜索
侧边栏新增高级搜索入口,快速导航到搜索页面。
CLI 备注应用命令
新增 ud task note apply 命令,通过 CLI 直接创建或更新任务备注。
改进
- 管理后台用户、角色、分组页面采用全新的移动端优先卡片布局,在手机上浏览更便捷
问题修复
- 修复链接弹窗中 Ctrl/Cmd+Enter 导致命令面板误选额外项目的问题
v0.25.3 (2026-02-08)
新功能
自然语言搜索
在高级搜索页面中使用自然语言查询您的数据,无需记忆复杂的查询语法。
v0.25.2 (2026-02-08)
改进
- 查询构建器简易模式现在支持所有字段类型(文本、数字、日期、布尔、选择等),每种类型提供对应的输入控件
问题修复
- 修复查询构建器中 CONTAINS_ALL 生成错误语法的问题
v0.25.0 (2026-02-07)
新功能
保存的查询
保存常用的任务搜索查询,方便随时快速复用。展开任务行可直接查看任务描述和备注,无需跳转到详情页。
侧边栏分组折叠
导航栏现在按功能分组,支持折叠和展开,让导航更整洁有序。
改进
- 更新应用图标
问题修复
- 修复看板视图中 Ctrl+Enter 导致重复创建任务的问题
- 修复保存的查询中自定义字段验证和自动填充的问题
v0.24.0 (2026-02-06)
新功能
看板任务创建自动匹配列条件
在特定列中创建任务时,任务会自动继承该列的筛选条件值。例如在「高优先级」列中新建任务,会自动设置为高优先级。
自定义字段命名空间系统
自定义字段名称现在支持中文等 Unicode 字符,让您可以用更自然的方式命名字段。
改进
- 看板列操作支持中英文多语言切换
- 系统看板增加编辑保护提示,防止误修改
- 看板列条件支持用户类型枚举字段
问题修复
- 修复任务详情面板中自定义字段前缀处理错误
- 修复共享看板在「添加到看板」弹窗中未显示的问题
- 修复用户候选项预取和缓存机制
v0.23.0 (2026-02-05)
新功能
看板高级过滤和查询
看板现在支持更强大的任务筛选功能,帮助你更精确地找到需要的任务。
- 字符串字段支持模糊匹配(LIKE、ILIKE)和空值检测(IS NULL、IS NOT NULL)
- 数字字段支持完整的比较运算符(等于、大于、小于等)
- 枚举字段支持 IN 运算符,可一次选择多个值进行匹配
- 新增 8 个可查询字段:状态、预定日期、截止日期、开始时间、暂停时间、完成时间、标签 ID、优先级
自定义字段改进
- 自定义字段的键名现在自动生成,无需手动输入
- 看板卡片现在显示任务状态
- 自定义字段下拉框现在显示用户名而不是用户 ID,更加清晰易读
命令面板增强
命令面板现在可以自动识别和查询实体 UUID,快速定位任务、预算等资源。
用户体验优化
- 斜杠菜单重新排序:任务列表放在最前面,文本格式化放在最后,符合使用频率
- 看板界面新增中文翻译支持
问题修复
- 修复看板用户字段下拉选项无法加载的问题
- 修复自定义字段在任务标签变更时未刷新的问题
- 修复看板查询字符串解析比较运算符的错误
- 修复看板 IN 运算符查询格式问题
- 修复字段名称的国际化翻译路径错误
- 修复切换语言时字段名称未更新的问题
改进
- 用户下拉框打开时自动刷新用户列表,确保数据最新
- 完善看板界面的中文翻译
v0.22.2 (2026-02-03)
新功能
回收站
删除的任务现在可以恢复了。
- 在新的「回收站」页面查看已删除的任务
- 一键恢复误删除的任务
- 看板侧边栏显示回收站小部件
改进
- 快捷键现在可通过命令面板访问
问题修复
- 修复看板列不必要显示加载动画的问题
- 修复待办列表删除任务时的短暂闪烁
- 改进删除任务时的状态处理
v0.22.1 (2026-02-03)
新功能
仪表盘快捷搜索
在仪表盘添加了命令面板快捷入口,点击即可快速搜索任务、支出和命令,无需记忆键盘快捷键。
看板标签筛选增强
- 支持"不包含"操作符,可以筛选不含特定标签的任务
- 条件配置界面更清晰显示"包含/不包含"选项
命令行工具改进
- 完成任务前需要确认,避免误操作
问题修复
- 修复看板标签查询的一致性问题
- 优化看板列配置表单的布局显示
- 修复空看板无法添加列的问题
v0.22.0 (2026-02-02)
新功能
看板卡片转移动作
当卡片在看板列之间移动时,现在可以自动触发预设动作:
- 支持配置列的退出动作(exitAction)
- 智能中断逻辑,避免重复触发
- 多个动作自动合并,提升执行效率
ud-cli 任务关联命令
新增 link 和 unlink 命令,可以关联和取消关联任务
改进
- 个人版用户现在可以看到专属功能入口
Bug 修复
- 修复了看板列动作在某些情况下无法正确保存的问题
- 修复了创建看板时默认列动作生成的问题
v0.21.11 (2026-02-02)
改进
看板列排序
创建看板列时可以设置排序顺序,更灵活地组织任务视图。
修复
- 修复 Markdown 编辑器斜杠菜单的键盘导航和 Enter 键问题
v0.21.10 (2026-02-01)
新功能
CLI Apply 命令
新增 kubectl 风格的 apply 命令,使用 YAML 文件管理任务:
ud task apply -f task.yaml
看板自定义字段排序
看板现在支持按自定义字段排序,根据字段类型智能显示排序方向标签。
修复
- 修复自定义字段排序时空值的处理方式
- 修复 CLI 状态值格式问题
- 修复私有看板所有者权限问题
- 改进看板权限相关的错误提示
v0.21.9 (2026-01-31)
改进
看板类型选择
创建看板时,现在可以选择看板类型(私有或共享),让您更灵活地组织任务。
私有看板简化
私有看板不再创建多余的分组,个人任务管理更加简洁清爽。
v0.21.8 (2026-01-31)
新功能
CLI 任务备注
通过命令行为任务添加备注、进度更新和评论,实现人机无缝协作。
# 添加进度备注
ud task note add abc123 "✓ 认证模块完成"
# 查看任务的所有备注
ud task note list abc123
# 删除备注
ud task note delete abc123 note-id
AI 助手可以记录工作进度,人类可以随时追踪和提供上下文信息。
v0.21.7 (2026-01-31)
新功能
自定义字段排序
任务列表现在支持按自定义字段排序,让您可以根据项目特定的字段来组织任务。
CLI 改进
- 短ID匹配:现在可以使用任务ID的前缀来快速选择任务,无需输入完整ID
- 批量更新命令:新增
task apply命令,支持从文件批量更新任务
# 使用短ID操作任务
ud task get abc # 匹配以 "abc" 开头的任务
# 从文件批量更新任务
ud task apply tasks.yaml
v0.21.6 (2026-01-31)
新功能
自然语言任务查询
在命令行中使用自然语言查询您的任务:
ud nlquery "显示本周到期的任务"
ud nlquery "我有哪些高优先级任务?"
v0.21.5 (2026-01-31)
新功能
CLI 多账户支持
现在可以使用 kubectl 风格的命令管理多个账户和 API 端点:
- 多上下文管理:轻松切换个人账户和工作账户
- 多服务器支持:配置开发、测试、生产等多个服务器
- 环境变量覆盖:支持 CI/CD 场景下的临时覆盖
常用命令:
ud config get-contexts- 列出所有配置的上下文ud config use-context work- 切换到工作账户ud login --context staging- 登录到指定上下文
文档
- 新增 CLI 多账户认证完整指南
v0.21.1 (2026-01-30)
改进
CLI 安装体验
- 版本验证:CLI 现在支持
ud --version命令,方便验证安装是否成功 - 一键安装:订阅页 CLI 下载区新增可复制的一键安装命令
v0.21.0 (2026-01-30)
新功能
命令行工具 (CLI)
全新的终端命令行工具,让您从终端管理任务:
-
TUI 交互模式:运行
ud进入可视化终端界面- Vim 风格快捷键(j/k 上下移动,gg/G 跳转,/ 搜索等)
- 任务列表和详情页浏览
- 直接创建、编辑、删除任务
-
文件选择器:按
f打开类似 fzf 的模糊搜索- 从当前目录选择文件创建任务
- 文件第一行作为标题,其余作为描述
- 自动跳过二进制文件
-
单次命令:适合脚本和自动化
ud task list- 列出任务ud task create "标题"- 创建任务ud task done <id>- 完成任务
-
AI 助手集成:让 Claude Code、Cursor 等 AI 工具访问您的任务
CLI 下载
- 订阅页新增 CLI 下载区:支持 macOS、Linux、Windows 多平台
- 完整使用文档:新增 CLI 文档页面,包含安装、配置和使用说明
v0.20.3 (2026-01-29)
改进
看板列表视图增强
- 列设置编辑:在列表视图中点击列标题旁的设置按钮,可以编辑列的筛选条件和排序方式
- 创建看板引导:点击「所有任务」系统看板的设置时,会弹出引导对话框,鼓励您创建自定义看板以获得更灵活的配置
v0.20.2 (2026-01-29)
新功能
看板列表视图
全新的看板列表视图模式,提供更灵活的任务浏览方式:
- 列表视图模式:在看板页面切换到列表视图,以表格形式查看任务
- 全部任务看板:新增系统级「全部任务」看板,方便查看所有私人任务
- 看板切换器:在列表页面头部快速切换不同看板
任务详情页改进
- 桌面端侧边栏固定:任务详情的侧边栏现在会固定在视窗中,滚动时保持可见
改进
- 导航优化:任务菜单现在直接跳转到看板列表视图
- 分段控件重设计:侧边栏头部改用分段控件,操作更直观
- 列排序支持:看板列现在支持配置 ORDER BY 排序规则
- 搜索预览:在列编辑对话框中添加了搜索预览链接
修复
- 任务详情侧边栏:修复了侧边栏固定位置的问题
- 看板翻译:修复了国际化翻译缺失的问题
- 费用日期格式:修复了日期更新时的格式问题
- 自定义字段查询:修复了看板中自定义字段的查询处理
v0.20.1 (2026-01-29)
新功能
看板智能拖拽
拖拽任务到新列时,系统会智能更新任务属性以匹配目标列的条件:
- 自动属性更新:任务移动时自动设置目标列需要的字段值
- 智能清理:自动清除只属于原列条件的属性
- 标签处理:标签会被智能添加或移除,而非覆盖
看板多列显示
- 任务可同时出现在多列:如果一个任务同时满足多个列的条件,它会在所有匹配的列中显示
- 独立卡片操作:每个列中的任务卡片可以独立拖拽
看板自定义字段筛选
- 支持自定义字段:列匹配条件现在支持使用自定义字段进行筛选
- 灵活的条件组合:可以组合状态、标签和自定义字段创建精确的任务视图
看板文档
- 新增看板使用文档:在看板信息弹窗中添加了文档链接,点击即可查看详细使用说明
改进
- 列设置对话框:点击列标题打开对话框,更方便地查看和编辑列的名称及匹配条件
v0.20.0 (2026-01-28)
新功能
看板编辑模式
全新的看板布局编辑功能,让您更灵活地管理任务视图:
-
布局编辑模式:点击"编辑布局"按钮进入编辑模式
- 内联编辑列名称,双击即可修改
- 直接编辑看板条件和列筛选条件
- 使用状态下拉菜单快速选择匹配条件
- 拖拽列进行重新排序
-
条件编辑器:在看板标题旁显示当前筛选条件
- 直接编辑原始查询字符串
- 点击跳转到搜索页面查看匹配结果
思维导图增强
- 状态颜色显示:任务节点现在可以根据状态显示不同颜色,一眼识别任务进度
任务视图排序
- 分组排序配置:为每个分组设置独立的排序规则
- 视图默认排序:创建视图时可预设排序配置
命令面板优化
- 快捷键提示:显示创建任务和选择任务的键盘快捷键
- 更清晰的快捷键显示:改进了快捷键的视觉呈现
改进
- 看板性能:列重排序使用乐观更新,操作更流畅
- 视图编辑:现在可以编辑根级筛选条件(带警告提示)
修复
- 思维导图稳定性:修复了工具提示显示问题
- 看板状态选择:修复了状态值匹配问题
v0.19.1 (2026-01-27)
文档改进
- AI 聊天功能说明:更清晰地说明了不同 AI 提供商的通信模式,帮助您更好地理解 AI 功能的工作方式
- 版本号说明:在发布记录中添加了版本号的解释,让您了解版本号的含义
- 迁移指南:为 v0.18.0 版本添加了数据迁移说明,帮助自部署用户平滑升级
- AI 辅助提示:在查询语法文档中添加了 AI 辅助使用技巧
- 快速访问更新日志:「什么是新的」按钮现在直接链接到完整的发布记录页面
v0.19.0 (2026-01-27)
新功能
思维导图
现在您可以用思维导图的方式可视化和整理任务了!
-
任务层级思维导图:在任务详情页面点击"思维导图"按钮,以思维导图的形式查看任务及其子任务
- 自动根据任务关系生成思维导图
- 点击节点直接跳转到对应任务
- 清晰展示任务的层级结构
-
思维导图编辑器:在任务中添加思维导图作为附件
- 在任务详情页的附件区域,点击"添加思维导图"
- 自由创建节点和连接关系
- 拖拽调整节点位置
- 双击编辑节点内容
- 导出为图片保存
v0.18.0 (2025-01-24)
新功能
资源管理增强
-
一对多资源关联:现在一个文件可以同时关联多个任务、预算或账户
- 例如:一份设计图可以同时关联到多个相关任务
- 在资源详情页查看所有关联的内容
-
快捷上传:在资源页面顶部新增上传按钮,上传文件更方便
改进
- 账户、预算、费用页面:加载速度更快,操作更流畅
- 附件管理:修复了附件删除和显示的一些问题
- 界面优化:简化了部分按钮样式,界面更简洁
升级说明(自部署用户)
如果您从旧版本升级到 v0.18.0,需要运行以下数据迁移脚本来迁移现有的资源关联关系:
-- 迁移脚本:将资源关联关系迁移到新的链接表
-- 此脚本将 resources 表中的 entity_type/entity_id 数据迁移到新的 resource_entity_links 表
-- 在 GORM AutoMigrate 创建新表后运行
-- 可安全重复运行(使用 INSERT OR IGNORE)
INSERT OR IGNORE INTO resource_entity_links (
id,
resource_id,
entity_type,
entity_id,
created_at,
created_by,
updated_at,
updated_by
)
SELECT
lower(hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-4' ||
substr(hex(randomblob(2)),2) || '-' ||
substr('89ab',abs(random()) % 4 + 1, 1) ||
substr(hex(randomblob(2)),2) || '-' || hex(randomblob(6))) as id,
r.id as resource_id,
r.entity_type,
r.entity_id,
COALESCE(r.created_at, datetime('now')) as created_at,
r.owner_id as created_by,
COALESCE(r.updated_at, datetime('now')) as updated_at,
r.owner_id as updated_by
FROM resources r
WHERE r.entity_type IS NOT NULL
AND r.entity_type != ''
AND r.entity_id IS NOT NULL
AND r.entity_id != ''
AND NOT EXISTS (
SELECT 1 FROM resource_entity_links rel
WHERE rel.resource_id = r.id
AND rel.entity_type = r.entity_type
AND rel.entity_id = r.entity_id
);
运行方法:
- 使用 SQLite 客户端连接到数据库文件
- 执行上述 SQL 脚本
- 重启应用
历史版本
更早的版本历史请参考项目的 Git 提交记录。