mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
feat(release): a Studio version ships with notes of its own
The release body was one fixed template, so 2.0.0 would have published a first release that said nothing about what it is. A version's notes now live in release-notes/studio/<version>.md and the workflow appends the standing text about signing, installation and self-update to them. Publishing without that file still works — it warns and carries the standing text alone — because a missing note is not a reason to fail a build that is already signed and verified. 2.0.0's notes are this line's first, so they read as an introduction rather than a diff: what the workspace does, how models and accounts are named, what extensions may redraw, and the three limits that outlive the release.
This commit is contained in:
1 parent
4a037ce62c
commit
f1fdcf8d64
3 files changed
+64
-12
No files matched your search
@@ -264,25 +264,29 @@ jobs:
|
||||
TAG: ${{ needs.resolve.outputs.tag }}
|
||||
VERSION: ${{ needs.resolve.outputs.version }}
|
||||
run: |
|
||||
notes=$(cat <<EOF
|
||||
Reasonix Studio $VERSION — built from the \`studio\` branch and published as a
|
||||
prerelease, so it never takes the repository's "latest" from the CLI line.
|
||||
# A version's own notes live in release-notes/studio/<version>.md. The
|
||||
# release still publishes without one, carrying only the standing text.
|
||||
notes="$RUNNER_TEMP/release-notes.md"
|
||||
: > "$notes"
|
||||
if [ -f "release-notes/studio/$VERSION.md" ]; then
|
||||
cat "release-notes/studio/$VERSION.md" >> "$notes"
|
||||
printf '\n' >> "$notes"
|
||||
else
|
||||
echo "::warning::no release-notes/studio/$VERSION.md; publishing the standing text only"
|
||||
fi
|
||||
cat >> "$notes" <<'BODY'
|
||||
---
|
||||
|
||||
**macOS** is signed with a Developer ID and notarized: it opens without clearing
|
||||
quarantine. **Windows is unsigned** — Authenticode signing is bound to protected
|
||||
\`main-v2\`, which this branch is not, so SmartScreen will warn: choose "More info"
|
||||
then "Run anyway". **Linux** installs from the \`.deb\`.
|
||||
**macOS** 已用 Developer ID 签名并公证,打开时不需要清除隔离属性。**Windows 包未签名** —— Authenticode 签名绑定在受保护的 `main-v2` 上,本分支拿不到它,所以 SmartScreen 会告警:选「更多信息」,再选「仍要运行」。**Linux** 从 `.deb` 安装。
|
||||
|
||||
Self-update works on all three: Linux upgrades through its package, Windows runs
|
||||
the next installer, macOS replaces its own bundle.
|
||||
EOF
|
||||
)
|
||||
三个平台都能自更新:Linux 走自己的包,Windows 运行下一个安装器,macOS 替换自身 bundle。
|
||||
BODY
|
||||
if gh release view "$TAG" >/dev/null 2>&1; then
|
||||
gh release upload "$TAG" dist/* --clobber
|
||||
else
|
||||
gh release create "$TAG" dist/* \
|
||||
--title "Reasonix Studio $VERSION" \
|
||||
--notes "$notes" \
|
||||
--notes-file "$notes" \
|
||||
--prerelease \
|
||||
--latest=false
|
||||
fi
|
||||
|
||||
@@ -43,7 +43,13 @@ running builds will not see the new version.
|
||||
|
||||
## Cutting a release
|
||||
|
||||
Write the version's notes first. `release-studio.yml` reads
|
||||
`release-notes/studio/<version>.md` and appends the standing text about signing,
|
||||
installation and self-update; without that file it publishes the standing text
|
||||
alone and warns.
|
||||
|
||||
```bash
|
||||
$EDITOR release-notes/studio/2.0.0.md
|
||||
git checkout studio
|
||||
git tag studio-v2.0.0
|
||||
git push origin studio-v2.0.0
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
> Reasonix Studio 是重写的桌面端:新的工作区、可扩展的面板、三平台原生安装与自更新。这是 Studio 线的第一个发布。
|
||||
|
||||
## 工作区
|
||||
|
||||
- **按可用空间折叠的布局** —— 侧轨可以拖动改宽,折叠状态看得见;布局按它实际拥有的空间折叠,而不是按窗口尺寸猜。界面缩放也不再停在 1080p 窗口够用的那个上限。
|
||||
- **回到你说过的话** —— 右侧导航轨取代滚动条,列出这次对话里你的每一次发言,点一下就跳回去;模型说过的话可以删掉。
|
||||
- **轨迹** —— 一个回合里发生了什么按活动逐条展开,模型轮次只是其中一种活动;轨迹可以离开主窗口单独放。
|
||||
- **输出读得懂** —— 数学公式、emoji 和富文本都会正常渲染;长文件读取折叠成行数,shell 命令显示退出状态。
|
||||
- **压缩不再是一分钟的沉默** —— 折叠时能看见摘要正在写入,事后能看到这次折叠花了多少、摘要保留了什么。
|
||||
- **@ 和 / 背后是同一个补全引擎**,两者行为一致。
|
||||
|
||||
## 模型与账户
|
||||
|
||||
- **粘贴一个 URL 和一个密钥就能加模型源**;源可以改名和编辑,名字在别处也认得出。
|
||||
- **模型选择器按账户和「门」分组**,同一个账户开第二扇门会复用它的密钥。
|
||||
- **能力是声明出来的** —— 哪些模型能读图、谁负责哪种任务、web search 挂在真正支持它的门上。
|
||||
- **连接会自己说还能不能用**;首次连接不再默认你用的是 DeepSeek。
|
||||
|
||||
## 扩展与主题
|
||||
|
||||
- **插件包、扩展视图槽位与主题令牌** —— 扩展可以在侧轨占一个固定位置,可以重绘卡片,也可以替换面板的解释器。
|
||||
- **外观是装上去的,不是编译进去的** —— 主题作为包安装,自带配图。
|
||||
- **MCP 服务器和技能可以从任意前端开关**;服务器按它文档给的任意形式安装,也能卸掉。
|
||||
|
||||
## 少操心的地方
|
||||
|
||||
- 一个回合没做完的事会自己做完,**不用再打「继续」**。
|
||||
- 网络断了会说清是哪一层断的,而不是在对话里干等超时。
|
||||
- 记忆存下的那一刻就能看见,**并且带着撤回**;上一回合真正用到了哪些记忆也会标出来。
|
||||
- 机器上没有 git 也能安装,并且会告诉你为什么某些功能不可用。
|
||||
|
||||
## 安装与更新
|
||||
|
||||
- macOS 的 `.dmg`、Windows 的安装器、Linux 的 `.deb` —— 三平台给的都是装得上的包。
|
||||
- **三平台都能自更新**:Linux 走自己的包,Windows 运行下一个安装器,macOS 替换自身 bundle。
|
||||
- 版本面板可以**回滚到上一个版本**。
|
||||
|
||||
## 已知限制
|
||||
|
||||
- **Windows 包未签名**,安装时会看到 SmartScreen 警告。
|
||||
- 没有 windows/arm64 构建。
|
||||
- 已经装了 1.x 桌面版的用户读的是另一份版本目录,不会自动升级到 Studio,需要手动下载。
|
||||
Reference in new issue
Block a user