Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

مجموعة تطوير الإضافات (PDK) ​

PRX PDK عبارة عن Rust crate يوفّر الأنواع والـ traits والـ macros اللازمة لبناء إضافات PRX. وهو يتولى التسلسل، وربط وظائف المضيف، ودورة حياة الإضافة.

التثبيت ​

أضف إلى Cargo.toml:

toml
[dependencies]
prx-pdk = "0.1"

Traits الأساسية ​

Tool ​

يُستخدم Tool trait لتسجيل أدوات جديدة يمكن للوكيل استدعاؤها:

rust
use prx_pdk::prelude::*;

#[prx_tool(
    name = "weather",
    description = "Get current weather for a location"
)]
fn weather(location: String) -> Result<String, PluginError> {
    let resp = http_get(&format!("https://api.weather.com/{}", location))?;
    Ok(resp.body)
}

Channel ​

يضيف Channel trait قنوات مراسلة جديدة:

rust
use prx_pdk::prelude::*;

#[prx_channel(name = "my-chat")]
struct MyChatChannel;

impl Channel for MyChatChannel {
    fn send(&self, message: &str) -> Result<(), PluginError> { /* ... */ }
    fn receive(&self) -> Result<Option<String>, PluginError> { /* ... */ }
}

Filter ​

يعالج Filter trait الرسائل قبل أو بعد LLM:

rust
use prx_pdk::prelude::*;

#[prx_filter(stage = "pre")]
fn content_filter(message: &str) -> Result<FilterAction, PluginError> {
    // Return FilterAction::Pass or FilterAction::Block
}

الأنواع ​

يُصدّر PDK الأنواع الشائعة التالية: PluginError وFilterAction وToolResult وChannelMessage وPluginConfig.

صفحات ذات صلة ​

Released under the Apache-2.0 License.