نمای کلی معماری
Triggerfish یک پلتفرم عامل هوش مصنوعی امن و چندکاناله با یک ثابت اصلی واحد است:
امنیت امنیت قطعی و زیرلایه LLM است. هر تصمیم امنیتی توسط کد خالص گرفته میشود که LLM نمیتواند آن را دور بزند، لغو کند یا بر آن تأثیر بگذارد. LLM هیچ اختیاری ندارد — اقدامات را درخواست میکند؛ لایه سیاست تصمیم میگیرد. :::
این صفحه تصویر کلی نحوه کار Triggerfish را ارائه میدهد. هر مؤلفه اصلی به یک صفحه تفصیلی اختصاصی لینک دارد.
معماری سیستم
جریان داده
هر پیام این مسیر را از طریق سیستم دنبال میکند:
در هر نقطه اعمال، تصمیم قطعی است — ورودی یکسان همیشه نتیجه یکسان تولید میکند.
مؤلفههای اصلی
سیستم طبقهبندی
دادهها از طریق چهار سطح مرتب جریان مییابند: RESTRICTED > CONFIDENTIAL > INTERNAL > PUBLIC. قانون اصلی عدم نوشتن به پایین است: دادهها فقط میتوانند به طبقهبندی مساوی یا بالاتر جریان یابند.
درباره سیستم طبقهبندی بیشتر بخوانید.
موتور سیاست و Hookها
هشت Hook اعمال قطعی هر اقدام را در نقاط بحرانی جریان داده رهگیری میکنند. Hookها توابع خالص هستند: همزمان، ثبتشده و غیرقابل جعل.
درباره موتور سیاست بیشتر بخوانید.
نشستها و Taint
هر مکالمه یک نشست با ردیابی مستقل Taint است. وقتی نشست به دادههای طبقهبندیشده دسترسی پیدا میکند، Taint آن به آن سطح بالا میرود و هرگز نمیتواند در نشست کاهش یابد.
درباره نشستها و Taint بیشتر بخوانید.
Gateway
Gateway صفحه کنترل مرکزی است — یک سرویس محلی طولانیمدت که نشستها، کانالها، ابزارها، رویدادها و فرآیندهای عامل را از طریق نقطه پایانی WebSocket JSON-RPC مدیریت میکند.
ذخیرهسازی
تمام دادههای وضعیتدار از طریق تجرید یکپارچه StorageProvider جریان مییابند. پیشفرض SQLite WAL در ~/.triggerfish/data/triggerfish.db است.
درباره ذخیرهسازی بیشتر بخوانید.
دفاع در عمق
امنیت در ۱۳ مکانیزم مستقل لایهبندی شده است. هیچ لایه واحدی به تنهایی کافی نیست؛ با هم دفاعی تشکیل میدهند که حتی اگر یک لایه به خطر بیفتد، بهخوبی تنزل مییابد.
درباره دفاع در عمق بیشتر بخوانید.
اصول طراحی
| اصل | معنی |
|---|---|
| اعمال قطعی | Hookهای سیاست از توابع خالص استفاده میکنند. بدون فراخوانی LLM، بدون تصادف. |
| انتشار Taint | تمام دادهها متادیتای طبقهبندی حمل میکنند. Taint نشست فقط میتواند بالا برود. |
| عدم نوشتن به پایین | دادهها نمیتوانند به سطح طبقهبندی پایینتر جریان یابند. هرگز. |
| بازرسی همه چیز | تمام تصمیمات سیاست با زمینه کامل ثبت میشوند. |
| Hookهای غیرقابل جعل | LLM نمیتواند تصمیمات Hook سیاست را دور بزند یا بر آنها تأثیر بگذارد. |
| جداسازی نشست | هر نشست Taint را بهصورت مستقل ردیابی میکند. |
| تجرید ذخیرهسازی | هیچ ماژولی ذخیرهسازی خود را ایجاد نمیکند. |
پشته فناوری
| مؤلفه | فناوری |
|---|---|
| محیط اجرا | Deno 2.x (TypeScript strict mode) |
| pluginهای Python | Pyodide (WASM) |
| آزمایش | اجراکننده آزمایش داخلی Deno |
| کانالها | Baileys (WhatsApp)، grammY (Telegram)، Bolt (Slack)، discord.js (Discord) |
| اتوماسیون مرورگر | puppeteer-core (CDP) |
| صدا | Whisper (STT محلی)، ElevenLabs/OpenAI (TTS) |
| ذخیرهسازی | SQLite WAL (پیشفرض)، بکاندهای سازمانی (Postgres، S3) |
| رمزها | کلیدزنجیر سیستمعامل (شخصی)، یکپارچهسازی vault (سازمانی) |
Triggerfish به هیچ ابزار ساخت خارجی، Docker یا وابستگی ابری نیاز ندارد. بهصورت محلی اجرا میشود و حاکمیت کامل بر دادهها را به کاربر میدهد. :::
