mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-10-29 18:16:06 +08:00
release: v1.7.0
This commit is contained in:
@@ -151,6 +151,7 @@
|
||||
- `cancel_media_task_artifact`
|
||||
|
||||
无论入口来自纯文本命令、slash scene 组合还是显式图片动作,最终都只允许写入当前项目根目录下的标准 `image_generate` task file,并写入 `session_id / project_id / content_id / entry_source / mode` 等上下文。若当前来源是文稿 inline 配图,还会继续写入 `usage=document-inline`,并以 `relationships.slot_id` 作为正文占位块与后续任务回填的正式绑定字段;payload 中的 `slot_id` 仅保留兼容读取。若前端已经能推断目标小节,还应继续把 `anchor_section_title` 写入 task payload;若还能识别用户当前选中的具体段落,还应继续把裁剪后的 `anchor_text` 一并写入,用于正文占位图与最终图片的 paragraph 级原位落位。聊天区动态占位、正文占位替换、结果回填、刷新恢复都必须继续以 `.lime/tasks` 为唯一事实源,不允许重新回到前端直连图片服务。
|
||||
|
||||
- `.lime/tasks/**/*.json` 本身是内部任务状态快照,不是面向用户的正式产物。聊天区 artifact 卡片、时间线 file artifact 与默认文件面板都应把这类 JSON 隐藏掉;它们只服务恢复、轮询、取消、重试和诊断,真正给用户看的应该是轻量结果卡、tool timeline 与右侧 viewer。
|
||||
|
||||
Workspace `Bash` 运行时在当前主链中应优先解析同名 `lime` 入口:开发态优先回落到 `cargo run -p lime-cli`,打包态优先使用随应用提供的 CLI 二进制。默认 skill 若已经切到 `Bash -> lime media ...`,仍应保留 compat tool 作为兜底,避免在 CLI 暂不可用时把用户流量打断。
|
||||
@@ -325,6 +326,24 @@ Lime 主应用会在本地维护 `ws://127.0.0.1:45554/companion/pet` 的桌宠
|
||||
|
||||
只看其中一侧都不够。只要能力仍然依赖命令边界,就至少要同时核对前端调用、Rust 注册、治理目录册、mock 集合这几面。
|
||||
|
||||
对于 `agent_runtime_*` 这一组运行时主命令,当前还额外有一份结构合同事实源:
|
||||
|
||||
- `src/lib/governance/agentRuntimeCommandSchema.json`
|
||||
|
||||
它负责定义 domain、lifecycle、mock 策略与文档归属,再由 `scripts/generate-agent-runtime-clients.mjs` 生成前端命令 manifest,并在 `npm run test:contracts` 中通过 `--check` 口径校验 schema、治理目录与生成产物没有漂移。
|
||||
|
||||
当前前端 runtime client 目录也已经固定为:
|
||||
|
||||
- `current`:`src/lib/api/agentRuntime/types.ts`、`src/lib/api/agentRuntime/index.ts` 与各分域 client
|
||||
- `compat`:`src/lib/api/agentRuntime.ts`
|
||||
|
||||
固定约束:
|
||||
|
||||
- `src/lib/api/agentRuntime/**/*.ts` 内部类型依赖只允许从 `./types` 读取,不要再回绕 `../agentRuntime`
|
||||
- 外部业务模块继续从 `@/lib/api/agentRuntime` 进入 compat barrel,不要直接跳进分域 client
|
||||
- `commandManifest.generated.ts` 只由生成器产出,不手工改命令名字符串
|
||||
- 新的 `agent_runtime_*` 命令如需落前端主链,优先补 schema / generator / 分域 client,而不是先往 compat 根文件里堆实现
|
||||
|
||||
## MCP 工具命名主链
|
||||
|
||||
MCP bridge 当前唯一继续演进的工具命名事实源是:
|
||||
@@ -495,6 +514,7 @@ npm run verify:local
|
||||
- **用户可见消息工具主链**:继续收敛到 `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` 作为唯一事实源
|
||||
- **运行时 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 打包成最小问题证据
|
||||
- **运行时 replay 样本主链**:继续收敛到 `agent_runtime_export_replay_case`,复用 handoff bundle + evidence pack 生成 `input / expected / grader / evidence-links`
|
||||
|
||||
@@ -416,6 +416,7 @@ npm run test:contracts
|
||||
3. 在两个话题之间来回切换
|
||||
4. 验证模型选择器恢复的是该话题最近一次 session runtime,而不是陈旧的 localStorage 默认值
|
||||
5. 如页面暴露运行时摘要条,再确认 provider/model 文案与选择器一致
|
||||
6. 如其中一个组合是 `ollama`,再补验证一组原生 tools 模型与一组非原生 tools 模型都能真实发出回复,而不是只拿到模型列表后在运行时卡成 `502 Bad Gateway`
|
||||
|
||||
### 话题权限恢复验证
|
||||
|
||||
|
||||
@@ -226,6 +226,7 @@ npm run bridge:health -- --timeout-ms 120000
|
||||
- 修改 `create_skill_scaffold_for_app`、技能草稿透传字段,或“聊天结果 -> Skill 脚手架”主链
|
||||
- 修改 `src/lib/api/document-export.ts`、`save_exported_document`,或把新的 GUI 导出入口接到本地文件保存主链
|
||||
- 修改 `agent_runtime_submit_turn.turn_config.approval_policy / sandbox_policy`
|
||||
- 修改 `agent_runtime_submit_turn.turn_config.provider_config.model_capabilities / tool_call_strategy / toolshim_model`
|
||||
- 修改 `agent_runtime_submit_turn.request_metadata.harness.team_memory_shadow`
|
||||
- 修改 `agent_runtime_spawn_subagent` 的 `name / teamName / cwd`、spawn 后 Team 成员写回,或 child `working_dir` / 父子上下文投影语义
|
||||
- 修改 team runtime tool surface、tool inventory、主线程用户消息工具或协作工具展示,例如 `SendUserMessage`、`Agent / TeamCreate / TeamDelete / SendMessage / ListPeers`
|
||||
@@ -507,6 +508,12 @@ npm run bridge:health -- --timeout-ms 120000
|
||||
- `src/lib/api/agent.test.ts` 一类的网关回归,确认仍走统一 `agent_runtime_*` 主命令
|
||||
- `HarnessStatusPanel.test.tsx` 一类的 UI 回归,确认导出入口、保存弹窗、状态与制品展示正常
|
||||
- 受影响 Rust 服务 / 命令的定向测试,确认 `.lime/harness/sessions/<session_id>/...` 一类制品仍能生成
|
||||
- 如果这次改动影响 `src/lib/api/agentRuntime/` 的 current 目录结构,例如 `types.ts`、分域 client、`commandManifest.generated.ts` 或 compat 根入口 `agentRuntime.ts`,最低应补:
|
||||
- `npm run typecheck`
|
||||
- `npx eslint "src/lib/api/agentRuntime.ts" "src/lib/api/agentRuntime/*.ts" --max-warnings 0`
|
||||
- `npm test -- src/lib/api/agent.test.ts src/components/agent/chat/hooks/agentRuntimeAdapter.test.ts`
|
||||
- `npm run test:contracts`
|
||||
同时确认目录内实现没有再从 `../agentRuntime` 或 `@/lib/api/agentRuntime` 回绕 compat barrel 取类型。
|
||||
|
||||
## CI 事实源
|
||||
|
||||
|
||||
@@ -23,6 +23,18 @@ Workspace 是 Lime 应用层的概念,用于组织和管理 AI Agent 的工作
|
||||
2. **最小有效 context** - 只传递必要的 context,避免 context pollution
|
||||
3. **Workspace = 边界** - 文件系统边界 + context 边界 + 配置边界
|
||||
|
||||
## 文件工作区优先规则
|
||||
|
||||
对 Lime 的通用工作区,真实文件是第一事实源,`artifact` 只作为增强层存在。
|
||||
|
||||
固定实施规则:
|
||||
|
||||
1. 用户显式打开项目文件、导出 Markdown、历史任务里的真实文件时,右侧预览必须直接消费真实文件内容,不得先合成 `artifact` 再打开。
|
||||
2. `artifact` 继续承担结构化增量写入、工具过程增强、viewer 能力增强,但不能反向定义“当前主稿是什么”。
|
||||
3. 当通用工作区正在预览一个具名真实文件时,默认 artifact 自动选中必须让位,避免画布漂移到 `*.artifact.json` 或其他包装稿。
|
||||
4. Markdown 预览要以当前文件路径作为基准解析相对图片路径,保证同目录 `images/` 等资源能直接渲染。
|
||||
5. 文件标题、默认预览、工作台下载/打开动作应尽量保留项目内相对路径;只有在实际读取磁盘时才解析绝对路径。
|
||||
|
||||
## 架构设计
|
||||
|
||||
### 层级关系
|
||||
|
||||
Reference in New Issue
Block a user