KeyLedger: مدیریت API Key های هوش مصنوعی از ترمینال
خلاصهٔ کاملتر
KeyLedger یه ابزار متنباز نوشتهشده با Go هست که یه داشبورد تمامصفحهی ترمینالی (TUI) برای مدیریت API Keyهای سرویسهای هوش مصنوعی ارائه میده. بهجای اینکه بری سراغ پنل هر سرویس جداگانه، KeyLedger همه چیز رو یکجا و توی یه رابط کاربری ساده جمع میکنه. این داشبورد با کتابخونهی Bubble Tea ساخته شده و پشتیبانی میکنه از: OpenAI، Anthropic، AWS IAM، Google Cloud IAM و Mistral.
یکی از مهمترین قابلیتهاش Health Scoring (امتیازدهی سلامت) هست — یعنی کلیدهایی که مدتهاست استفاده نشدن، خیلی قدیمیان یا اصلاً هیچوقت لمس نشدن رو با برچسب WARN یا CRIT علامتگذاری میکنه. این کمک میکنه کلیدهای فراموششده رو پیدا کنی و خطرات امنیتی رو کاهش بدی.
امنیت ذخیرهسازی هم جدی گرفته شده: تمام کردنشالها (API Keyها) با رمزنگاری AES-256-GCM داخل یه پایگاه داده SQLite ذخیره میشن. هیچ اطلاعاتی بهصورت متن خام روی دیسک نمینشینه و دفعهی اول که اجرا میکنی، ازت میخواد یه رمز عبور اصلی (master password) تعریف کنی.
برای محیطهای بدون رابط ترمینال مثل Docker یا سرورهای هدلس، Watch Mode وجود داره که میتونه بهصورت زمانبندیشده کلیدها رو جمعآوری کنه و اسنپشات JSON بسازه. در این حالت یه API محلی با TLS روی پورت 9876 بالا میاد که میشه از طریقش کردنشالها رو ارسال کرد:
curl -sk -X POST https://localhost:9876/v1/credentials \
-H 'Content-Type: application/json' \
-d '{"provider":"openai","field":"admin_key","value":"sk-..."}'فیلتر کردن کلیدها هم خیلی انعطافپذیره. مثلاً میشه فقط کلیدهایی رو دید که بیشتر از ۹۰ روز پیش ساخته شدن (age:>90)، یا کلیدهایی که هیچوقت استفاده نشدن (idle:never)، یا بر اساس مالک (owner:alice) جستجو کرد.
نصبش هم سادهست — فقط به Go 1.25 به بالا نیاز داره و CGO لازم نیست:
go install github.com/riptideslabs/keyledger@latestنکات کلیدی:
- داشبورد ترمینالی برای مدیریت یکپارچهی API Keyهای OpenAI، Anthropic، AWS، Google Cloud و Mistral
- سیستم امتیازدهی سلامت برای شناسایی کلیدهای قدیمی، بلااستفاده یا پرریسک
- رمزنگاری AES-256-GCM برای ذخیرهی امن کردنشالها در SQLite
- Watch Mode با API هدلس برای استقرار در Docker و محیطهای بدون ترمینال
- قابلیت اسنپشات و مقایسهی تفاوتها (Diff) بین دو وضعیت
- فیلتر پیشرفته بر اساس نام، سن کلید، وضعیت، ریسک و مالک




