Files
zclaw_openfang/desktop/src-tauri/src/embedding_adapter.rs
iven 0d4fa96b82
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
refactor: 统一项目名称从OpenFang到ZCLAW
重构所有代码和文档中的项目名称,将OpenFang统一更新为ZCLAW。包括:
- 配置文件中的项目名称
- 代码注释和文档引用
- 环境变量和路径
- 类型定义和接口名称
- 测试用例和模拟数据

同时优化部分代码结构,移除未使用的模块,并更新相关依赖项。
2026-03-27 07:36:03 +08:00

33 lines
922 B
Rust

//! Embedding Adapter - Bridges Tauri LLM EmbeddingClient to Growth System trait
//!
//! Implements zclaw_growth::retrieval::semantic::EmbeddingClient
//! by wrapping the concrete llm::EmbeddingClient.
use std::sync::Arc;
use zclaw_growth::retrieval::semantic::EmbeddingClient;
/// Adapter wrapping Tauri's llm::EmbeddingClient to implement the growth trait
pub struct TauriEmbeddingAdapter {
inner: Arc<crate::llm::EmbeddingClient>,
}
impl TauriEmbeddingAdapter {
pub fn new(client: crate::llm::EmbeddingClient) -> Self {
Self {
inner: Arc::new(client),
}
}
}
#[async_trait::async_trait]
impl EmbeddingClient for TauriEmbeddingAdapter {
async fn embed(&self, text: &str) -> Result<Vec<f32>, String> {
let response = self.inner.embed(text).await?;
Ok(response.embedding)
}
fn is_available(&self) -> bool {
self.inner.is_configured()
}
}