mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-24 23:10:56 +08:00
chore: prepare v1.13.0 release
This commit is contained in:
@@ -49,7 +49,6 @@
|
||||
- `services.md` - Rust 服务层
|
||||
- `server.md` - HTTP Server 与接口边界
|
||||
- `mcp.md` - MCP 服务器与工具管理
|
||||
- `terminal.md` - 内置终端与 PTY
|
||||
- `plugins.md` - 插件系统
|
||||
- `aster-integration.md` - Aster Agent 集成
|
||||
|
||||
|
||||
@@ -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 打包成最小问题证据
|
||||
|
||||
@@ -12,7 +12,7 @@ src/components/
|
||||
├── provider-pool/ # 凭证池管理
|
||||
├── flow-monitor/ # 流量监控
|
||||
├── general-chat/ # 兼容画布桥接(非对话主入口)
|
||||
├── terminal/ # 内置终端
|
||||
├── terminal/ # 已移除的历史终端页面路径(不要恢复)
|
||||
├── mcp/ # MCP 服务器
|
||||
├── settings/ # 设置页面
|
||||
└── AppSidebar.tsx # 全局侧边栏
|
||||
|
||||
@@ -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
@@ -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) - 治理判断
|
||||
|
||||
Reference in New Issue
Block a user