mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-24 23:10:56 +08:00
7.8 KiB
7.8 KiB
Aster 框架集成
集成状态 ✅
Lime 已完整集成 aster-rust 框架,包括凭证池桥接。
当前事实源
Aster thread / turn / item runtime是运行态事实源。- Aster shared runtime store 与全局 session store 必须在 Lime bootstrap 启动期显式初始化;启动恢复时由 runtime support 统一完成 legacy queue 迁移与 queued session 枚举。
- 运行时命令与 service 只允许读取已准备好的 shared store / shared queue service,不再在热路径偷偷 fallback 到默认路径。
- Lime 只负责事件映射、数据库投影和 UI 派生,不再伪造核心 runtime item。
- 会话删除统一收口到存储边界;命令层和 Dev Bridge 不应直接调用
AgentDao::delete_session。 - 需要恢复运行态时,优先从 Aster runtime 恢复,再映射到 Lime timeline。
后端模块 (src-tauri/src/agent/):
aster_state.rs- Agent 状态管理aster_agent.rs- Agent 包装器event_converter.rs- 事件转换器credential_bridge.rs- 凭证池桥接
Tauri 命令 (src-tauri/src/commands/aster_agent_cmd.rs):
aster_agent_init- 初始化 Agentaster_agent_configure_provider- 手动配置 Provideraster_agent_configure_from_pool- 从凭证池配置 Provider(推荐)aster_agent_status- 获取状态agent_runtime_submit_turn- 统一提交 turnagent_runtime_interrupt_turn- 统一中断 turnagent_runtime_create/list/get/update/delete_session- 统一会话管理agent_runtime_respond_action- 统一响应工具确认 / ask / elicitation
架构
┌─────────────────────────────────────────────────────────────────┐
│ 前端 (React) │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ useAsterAgentChat / agentRuntime.ts / configureAsterProvider ││
│ └─────────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Tauri Commands │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ aster_agent_cmd.rs ││
│ └─────────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Agent 模块 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ aster_state │ │ credential │ │ event_converter │ │
│ │ (状态管理) │ │ _bridge │ │ (事件转换) │ │
│ └──────┬──────┘ └──────┬──────┘ └─────────────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ Lime 凭证池 │ │
│ │ - ProviderPoolService │ │
│ │ - ApiKeyProviderService │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Aster 框架 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ Agent │ │ Provider │ │ Session │ │
│ │ (核心) │ │ (多种) │ │ (会话) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
凭证池桥接
支持的凭证类型映射
| Lime 凭证类型 | Aster Provider |
|---|---|
| OpenAIKey | openai |
| ClaudeKey / AnthropicKey | anthropic |
| KiroOAuth | bedrock |
| GeminiOAuth / GeminiApiKey | |
| VertexKey | gcpvertexai |
| CodexOAuth | codex |
| ClaudeOAuth | anthropic |
| AntigravityOAuth |
使用方式
治理约定:前端业务层不要直接
invoke('aster_*'),统一通过src/lib/api/agentRuntime.ts调用现役 Aster API。历史src/lib/api/agentCompat.ts已删除。删除治理约定:会话删除统一走
agent_runtime_delete_session,不要再暴露旧 Aster/Dev Bridge 删除边界。
import {
createAgentRuntimeSession,
configureAsterProvider,
submitAgentRuntimeTurn,
} from "@/lib/api/agentRuntime";
const sessionId = await createAgentRuntimeSession("workspace-id");
// 配置 Provider
const status = await configureAsterProvider(
{
provider_name: "openai",
model_name: "gpt-4",
},
sessionId,
);
// 流式对话
await submitAgentRuntimeTurn({
message: "Hello",
session_id: sessionId,
event_name: "agent_stream",
workspace_id: "workspace-id",
});
相关文档
- overview.md - 项目架构
- providers.md - Provider 系统
- credential-pool.md - 凭证池管理