wip chat sessions 2

This commit is contained in:
ZacharyZhang-NY committed 2026-10-05 14:24:42 -04:00
1 parent 1367525c12
commit 85b41f6435
92 files changed
+3692 -22

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
# 258 RegenerateMenu · 重新生成菜单
## 用途
重新生成回复:同模型重试、换模型重试,以及更长、更短等改写变体。
## 最小示例
```go
view := func(c *ui.Context) {
mujica.Use(c, mujica.Settings{})
if v := mujica.RegenerateMenu(c, mujica.RegenerateMenuOptions{Models: []string{"Opus", "Sonnet"}, Current: "Opus"}); v.Chosen {
log.Println("retry", v.Choice.Kind, v.Choice.Model, v.Choice.Variant)
}
}
ui.Render(view, 400, 300, 1)
```
## 参数
`func RegenerateMenu(c *ui.Context, opts RegenerateMenuOptions) RegenerateMenuView`。
| 字段 | 类型 | 默认值 | 含义 |
| --- | --- | --- | --- |
| `Models` | `[]string` | nil | 可换用的模型;为空或只有当前模型时子菜单禁用。 |
| `Current` | `string` | "" | 当前模型,不出现在子菜单中。 |
| `Variants` | `[]string` | nil(内置) | 替换内置的更长、更短、更简单、更详细。 |
| `Disabled` | `bool` | false | 禁用。 |
## 状态
触发按钮(刷新图标)、菜单打开、子菜单、分组标题、禁用项。
## 事件
`Chosen` 与 `Choice`:`Kind` 为 `RegenerateAgain`、`RegenerateModel`(`Model`)或 `RegenerateVariant`(`Variant`)。
## 键盘操作
- Enter、Space 或 ↓ 打开菜单;↑/↓ 移动;→ 打开子菜单,← 返回;Enter 选择;Escape 关闭。
## 限制
- 菜单在窗口内绘制(DropdownMenu),不使用系统菜单。