Skip to main content

Crate synaptic_lark

Crate synaptic_lark 

Source
Expand description

Feishu/Lark integration for the Synaptic framework.

This crate provides first-class integration with the Feishu (Lark) Open Platform:

  • LarkDocLoader — load documents and Wiki pages into Synaptic [Document]s
  • LarkMessageTool — send messages to chats and users as an Agent tool
  • LarkBitableTool — search, create, and update rows in Bitable (multi-dim tables)

§Quick start

[dependencies]
synaptic = { version = "0.2", features = ["lark"] }
use synaptic_lark::{LarkConfig, LarkDocLoader};
use synaptic_core::Loader;

let config = LarkConfig::new("cli_xxx", "app_secret_xxx");
let loader = LarkDocLoader::new(config)
    .with_doc_tokens(vec!["doxcnAbcXxx".to_string()]);
let docs = loader.load().await?;

Re-exports§

pub use events::listener::LarkEventListener;
pub use loaders::bitable::LarkBitableLoader;
pub use loaders::doc::LarkDocLoader;
pub use loaders::drive::LarkDriveLoader;
pub use loaders::spreadsheet::LarkSpreadsheetLoader;
pub use loaders::wiki::LarkWikiLoader;
pub use store::cache::LarkBitableLlmCache;
pub use store::checkpointer::LarkBitableCheckpointer;
pub use store::memory::LarkBitableMemoryStore;
pub use tools::asr::LarkAsrTool;
pub use tools::bitable::LarkBitableTool;
pub use tools::calendar::LarkCalendarTool;
pub use tools::chat::LarkChatTool;
pub use tools::contact::LarkContactTool;
pub use tools::doc_process::LarkDocProcessTool;
pub use tools::message::LarkMessageTool;
pub use tools::ocr::LarkOcrTool;
pub use tools::spreadsheet::LarkSpreadsheetTool;
pub use tools::task::LarkTaskTool;
pub use tools::translate::LarkTranslateTool;
pub use vector_store::LarkVectorStore;

Modules§

events
loaders
store
tools
vector_store

Structs§

LarkConfig
Configuration for the Lark Open Platform.

Traits§

Loader
Trait for loading documents from various sources.
Tool
Defines an executable tool that can be called by an AI model. Each tool has a name, description, JSON schema for parameters, and an async call() method.