chore: prepare v1.13.0 release

This commit is contained in:
coso
2026-04-18 02:43:24 +08:00
parent 0c22408595
commit ce8590d8be
280 changed files with 16494 additions and 16868 deletions
-1
View File
@@ -49,7 +49,6 @@
- `services.md` - Rust 服务层
- `server.md` - HTTP Server 与接口边界
- `mcp.md` - MCP 服务器与工具管理
- `terminal.md` - 内置终端与 PTY
- `plugins.md` - 插件系统
- `aster-integration.md` - Aster Agent 集成
+6 -1
View File
@@ -102,6 +102,7 @@
- `sceneapp_list_catalog`
- `sceneapp_get_descriptor`
- `sceneapp_plan_launch`
- `sceneapp_save_context_baseline`
- `sceneapp_create_automation_job`
- `sceneapp_list_runs`
- `sceneapp_get_run_summary`
@@ -110,6 +111,8 @@
固定约束:
- `SceneApp` 命令当前属于目录查询、运行前规划与治理摘要主链,不应在页面组件里直接裸 `invoke`
- `sceneapp_plan_launch` 只负责 preview 当前 planning,并读取已有项目级 Context Snapshot;不要再把它当成自动落盘命令
- 显式把当前灵感对象、输入摘要与风格基线写回项目目录时,只能走 `sceneapp_save_context_baseline`
- 新的 SceneApp UI 先消费 `SceneAppDescriptor / SceneAppPlanResult / SceneAppScorecard`,不要重新从 `serviceSkills.ts`、`skillCatalog.ts`、卡片配置和 selector 里各自拼语义
- 真正的执行仍应通过 runtime adapter 继续挂回现有 `agent turn / browser_assist / automation_job / cloud_scene` 主链;`sceneapp_*` 不用于重新发明第二套 runtime taxonomy
@@ -530,7 +533,9 @@ npm run verify:local
- **Team runtime 工具主链**:当前协作工具面继续收敛到 `Agent / TeamCreate / TeamDelete / SendMessage / ListPeers`;不要把已删除的 `SubAgentTask` compat 工具重新接回新的多代理主路径
- **用户可见消息工具主链**:继续收敛到 `SendUserMessage`,用于把回复、进度同步、主动提醒和附件送到用户主可见消息面;不要再把这类能力拆到其它平行工具名或旁路协议里
- **会话状态回写主链**:继续收敛到 `agent_runtime_update_session`,用于名称、执行策略、session provider/model、`recent_access_mode`、`recent_preferences` 以及 `recent_team_selection` 的轻量持久化回写
- **会话权限主链**:`agent_runtime_submit_turn.turn_config.approval_policy / sandbox_policy` 是正式 turn context 权限协议;`getSession` 返回的 `execution_runtime.recent_access_mode` 负责承接会话最近一次 accessMode。当前端已命中同一 steady-state 权限时,不应继续依赖 `harness.access_mode` 作为唯一事实源
- **会话权限主链**:`agent_runtime_submit_turn.turn_config.approval_policy / sandbox_policy` 是正式 turn context 权限协议;`getSession` 返回的 `execution_runtime.recent_access_mode` 负责承接会话最近一次 accessMode。当前端已命中同一 steady-state 权限时,不应继续依赖 `harness.access_mode` 作为唯一事实源;聊天发送主路径默认也不再主动发这个 compat 字段
- **会话权限默认值**:当前默认 accessMode 固定收敛到 `full-access -> never + danger-full-access`;`current -> on-request + workspace-write` 与 `read-only -> on-request + read-only` 只允许来自用户显式切换、会话恢复或边界层迁移,不允许把 formal policy 留空后再让工具层自行猜默认;provider / thread-start 适配层也不得私自回退为 `workspace-write`
- **自动化 `agent_turn` 权限主链**:自动化任务 payload 也应直接写 `approval_policy / sandbox_policy`;`request_metadata.harness.access_mode` 只允许作为 legacy / compat 输入兜底,不应继续由新的自动化编辑入口主动写回
- **运行时 Provider 能力快照主链**:`agent_runtime_submit_turn.turn_config.provider_config` 允许携带 `model_capabilities / tool_call_strategy / toolshim_model` 这组三个运行时字段;后端会在真正发起 turn 前刷新它们,尤其是 `ollama` 会根据当前模型真实能力在原生 tools 与 `tool_shim` 之间做最终决策。前端不得把模型目录里的静态 tools 标记当作唯一真相
- **运行时交接导出主链**:继续收敛到 `agent_runtime_export_handoff_bundle`;前端统一通过 `src/lib/api/agentRuntime.ts` 网关进入,当前 GUI 入口位于 `HarnessStatusPanel`
- **运行时证据导出主链**:继续收敛到 `agent_runtime_export_evidence_pack`,用于把 runtime / timeline / artifacts 打包成最小问题证据
+1 -1
View File
@@ -12,7 +12,7 @@ src/components/
├── provider-pool/ # 凭证池管理
├── flow-monitor/ # 流量监控
├── general-chat/ # 兼容画布桥接(非对话主入口)
├── terminal/ # 内置终端
├── terminal/ # 已移除的历史终端页面路径(不要恢复)
├── mcp/ # MCP 服务器
├── settings/ # 设置页面
└── AppSidebar.tsx # 全局侧边栏
+2 -3
View File
@@ -70,7 +70,7 @@ lime/
| 模块 | 说明 |
|------|------|
| `src/features/browser-runtime/` | 浏览器协助运行时与调试工作区 |
| `src-tauri/src/terminal/` | 内置终端与 PTY 会话 |
| `终端能力(已移除)` | 不属于当前能力层;仅在治理文档中保留退役说明与历史检索语义 |
| `src-tauri/src/services/automation_service/` + `src-tauri/src/app/scheduler_service.rs` | 自动化任务、后台轮询与兼容调度触发壳 |
| `src-tauri/src/plugin/` | 插件系统 |
| `src-tauri/src/services/mcp_service.rs` | MCP 服务器与工具管理 |
@@ -103,7 +103,7 @@ lime/
| `services/` | 心跳、OpenClaw、浏览器窗口、MCP 等业务服务 |
| `converter/` | 协议兼容与转换 |
| `server/` | HTTP Server 与 REST 能力 |
| `terminal/` | 终端与 PTY |
| `terminal/` | 已移除;不要恢复旧终端/PTTY 模块 |
| `plugin/` | 插件加载与运行时 |
| `voice/` | 语音输入输出与 ASR 流程 |
@@ -228,7 +228,6 @@ lime/
- [state-history-telemetry.md](state-history-telemetry.md) - session/thread/request/evidence/history 的状态读模型主链
- [skill-standard.md](skill-standard.md) - 统一技能标准、目录与运行边界
- [../../src-tauri/src/skills/README.md](../../src-tauri/src/skills/README.md) - Skills 标准与集成
- [terminal.md](terminal.md) - 终端能力
- [mcp.md](mcp.md) - MCP 服务器
- [plugins.md](plugins.md) - 插件系统
- [aster-integration.md](aster-integration.md) - Agent Runtime 集成
+26 -58
View File
@@ -1,73 +1,41 @@
# 终端底层能力
# 终端能力归档说明(已移除)
本页仅用于治理归档与历史检索,不作为 current 模块入口。
## 概述
Lime 仍保留终端底层能力,用于复用运行时、诊断与会话管理;独立前端 `terminal / sysinfo / files / web` 页面已经下线,旧 `src/components/terminal/` 页面模块与 `src/lib/terminal/` 状态侧链都已删除。
`lime-terminal` 已从当前仓库移除,Lime 不再提供内置 PTY / SSH / WSL 终端会话能力。独立前端 `terminal / sysinfo / files / web` 页面更早已下线;本轮收口后,旧 `src-tauri/src/terminal/`、`terminal_cmd`、`connection_cmd` 与 `src/lib/api/terminal.ts` 也不再作为 current surface 保留。
## 目录结构
## 当前结论
```
src-tauri/src/terminal/
├── mod.rs # 模块入口
├── pty.rs # PTY 管理
├── session.rs # 会话管理
└── commands.rs # 终端命令
当前与“terminal”仍相关的能力只剩:
src/lib/api/terminal.ts
```
- Windows 启动诊断里的默认 shell 判定
- Aster runtime 中的 `SessionType::Terminal` 会话类型与相关读模型语义
- 与 Agent / 执行工作区相关的 `latest_terminal / recent_terminals` 运行结果摘要字段
- 文档与治理目录册中的历史痕迹扫描
## PTY 管理
这些都不是内置终端产品面,不应再被扩展回 PTY 会话、连接管理或终端页面。
```rust
pub struct PtyManager {
sessions: HashMap<String, PtySession>,
}
## 治理分类
pub struct PtySession {
id: String,
master: PtyMaster,
child: Child,
}
- `dead`
- `src-tauri/src/terminal/*`
- `src-tauri/src/commands/terminal_cmd.rs`
- `src-tauri/src/commands/connection_cmd.rs`
- `src/lib/api/terminal.ts`
- `current`
- `src/lib/api/serverRuntime.ts`、`crashDiagnostic.ts` 等非终端产品面的运行时诊断入口
- Aster runtime 会话读模型里的 `SessionType::Terminal`
- 执行工作区中的 `latest_terminal / recent_terminals` 运行结果摘要
impl PtyManager {
/// 创建新会话
pub fn create_session(&mut self, shell: &str) -> Result<String>;
/// 写入数据
pub fn write(&self, session_id: &str, data: &[u8]) -> Result<()>;
/// 读取输出
pub fn read(&self, session_id: &str) -> Result<Vec<u8>>;
/// 调整大小
pub fn resize(&self, session_id: &str, cols: u16, rows: u16) -> Result<()>;
/// 关闭会话
pub fn close_session(&mut self, session_id: &str) -> Result<()>;
}
```
## 约束
## 前端边界
前端当前只允许通过 `src/lib/api/terminal.ts` 复用终端会话与事件能力;旧 `src/lib/terminal/*` 状态、VDOM、贴纸侧链已删除,不再恢复。
## Tauri 命令
```rust
#[tauri::command]
async fn terminal_create(shell: Option<String>) -> Result<String, String>;
#[tauri::command]
async fn terminal_write(session_id: String, data: String) -> Result<(), String>;
#[tauri::command]
async fn terminal_resize(session_id: String, cols: u16, rows: u16) -> Result<(), String>;
#[tauri::command]
async fn terminal_close(session_id: String) -> Result<(), String>;
```
- 不再新增任何 `terminal_*` / `connection_*` Tauri 命令
- 不再恢复终端页面、终端 API 网关或 PTY 管理层
- 如未来确有需求,必须重新定义新的 current surface,而不是复活旧 crate / 旧命令 / 旧页面
## 相关文档
- [commands.md](commands.md) - Tauri 命令
- [components.md](components.md) - 组件系统
- [governance.md](governance.md) - 治理判断