أسرارك تعيش في سلسلة مفاتيح النظام،
لا في مطالبة ولا في مستودعك
يخزّن AgentsRoom مفاتيح API ورموز الوصول وكلمات مرور قواعد البيانات في خزنة محلية على جهازك، مشفَّرة عبر سلسلة مفاتيح نظام التشغيل. تشير إليها بالاسم، ويستبدلها التطبيق عند بدء أمر أو وكيل.
كفّ عن لصق رمز وصول في مطالبة لأنه أسرع طريقة لفكّ عقدة وكيل. سمِّ السر مرة واحدة، واستخدم {{secret:NAME}} في كل مكان آخر، ودع القيمة تبقى حيث يجب أن تكون.
كيف يُبقي AgentsRoom السر قابلًا للاستخدام من أوامرك وغير قابل للقراءة من الوكيل الذي يطلبه.
ينتهي كل مشروع بحفنة من القيم التي يجب ألا تُشارَك : مفتاح دفع، وكلمة مرور قاعدة بيانات، ورمز نشر، ومفتاح API لبيئة staging. وما إن يدخل وكلاء البرمجة بالذكاء الاصطناعي إلى الصورة حتى تبدأ هذه القيم بالتنقل بأسوأ طريقة ممكنة. تُلصَق في مطالبة لفكّ عقدة وكيل، أو تُكتب مباشرة داخل سكربت كتبه الوكيل، أو تسقط في ملف يُودَع في المستودع بعد ثلاثة إيداعات.
يمنحها مدير الأسرار في AgentsRoom مكانًا واحدًا تعيش فيه. السر اسم وقيمة : تضيفه مرة واحدة، ويشفّره AgentsRoom عبر سلسلة مفاتيح نظام التشغيل قبل أن يلمس القرص. الخزنة كلها ملف واحد في مجلد المنزل لديك، مكتوب بأذونات للمالك فقط، ولا يغادر أبدًا الجهاز الذي أُنشئ عليه.
بعد ذلك لن تتعامل مع القيمة مرة أخرى. تكتب {{secret:NAME}} في أمر تطوير أو في بيئة وكيل، ويستبدل AgentsRoom القيمة الحقيقية عند بدء ذلك الأمر أو ذلك الوكيل. يستطيع وكلاؤك سرد الأسماء وطلب حقن أحدها، وهذا يكفي لأداء عملهم، ولا يحصلون أبدًا على القيمة نفسها.
خزنة مصمَّمة لجهاز مليء بوكلاء الذكاء الاصطناعي
مشفَّرة بنظام التشغيل، مُشار إليها بالاسم، مُستبدَلة في آخر لحظة ممكنة.
مشفَّرة بسلسلة مفاتيح نظام التشغيل
تُشفَّر كل قيمة عبر Electron safeStorage، ما يعني أن مفتاح التشفير تحتفظ به سلسلة مفاتيح نظام التشغيل لا AgentsRoom. يخزّن التطبيق النص المشفَّر ويطلب من النظام فكّ تشفيره، تمامًا كبقية التطبيقات التي تأتمنها بالفعل على بيانات اعتمادك.
ملف خزنة واحد، للمالك فقط
تعيش كل أسرارك في خزنة واحدة في ~/.agentsroom/secrets.json، مكتوبة بأذونات للمالك فقط (0600) ومُستبدَلة بشكل ذرّي عند كل تغيير. لا ملف مكتوب نصفه بعد انهيار، ولا حساب مستخدم آخر على الجهاز يستطيع فتحه.
أشِر بالاسم، لا بالقيمة أبدًا
يُستخدم السر المحفوظ بصيغة {{secret:NAME}} : في سطر أوامر طرفية تطوير، وفي البيئة المُمنوحة لوكيل، وفي أي موضع كنت ستكتب فيه بيانات الاعتماد. ما تقرأه على الشاشة، وما يمكنك عرضه على زميل في الفريق، هو الاسم.
يُستبدَل عند الإطلاق، في العملية الرئيسية
يحدث الاستبدال عند بدء العملية، داخل عملية Electron الرئيسية. تذهب القيمة المستبدَلة إلى بيئة الأمر الجاري إطلاقه ولا مكان آخر : لا إلى سجل، ولا إلى الواجهة، ولا إلى ملف على القرص.
الوكلاء يرون الأسماء، لا القيم
يستطيع وكيل الذكاء الاصطناعي سرد أسماء أسرارك وطلب حقن أحدها في شيء يوشك على تشغيله. لا يوجد أي مسار في الشيفرة يعيد قيمة إلى وكيل أو إلى طبقة الواجهة أو عبر MCP. الوكيل يتعامل مع المرجع، والتطبيق يتعامل مع السر.
لا سلسلة مفاتيح، لا تخزين
إذا لم يستطع الجهاز توفير سلسلة مفاتيح نظام صالحة، يرفض AgentsRoom حفظ السر بدل الرجوع إلى النص الصريح. الخزنة التي تتدهور بصمت إلى ملف عادي أسوأ من غياب الخزنة، لذلك فإن هذا البديل غير موجود ببساطة.
محلية على الجهاز بحكم التصميم، لا بحكم إعداد افتراضي
لا تُرسَل أسرارك أبدًا إلى خوادم AgentsRoom. لا مفتاح مزامنة تتحقق منه، ولا خزنة سحابية تنسحب منها، ولا نسخة احتياطية من مفاتيحك في أي مكان سوى قرصك أنت. تُنشأ الخزنة على الجهاز، وتُشفَّر بمفتاح تحتفظ به سلسلة مفاتيح نظام التشغيل لذلك الجهاز، وتبقى هناك. نسخة من الملف بمفردها ليست شيئًا يستطيع جهاز آخر فتحه.
الفصل بين استخدام سرّ وقراءة سرّ مفروض في الشيفرة، لا بتعليمة مكتوبة في مطالبة. طبقة الواجهة وأدوات MCP وكل وكيل يتحدثون عن الأسرار بالاسم. وحدها عملية Electron الرئيسية تحوّل المرجع إلى قيمة، وفقط أثناء بنائها بيئة عملية طلبت أنت تشغيلها. أن تطلب من وكيل أن ينتبه لبيانات الاعتماد هو أمل. أن تنعدم دالة تُرجع بيانات الاعتماد هو ضمان.
هذا ما يجعل من المعقول أن تدع وكيلًا يعمل مقابل API مدفوع أو قاعدة بيانات حقيقية. يعرف الوكيل أن سرًّا اسمه STRIPE_SECRET_KEY موجود، ويستطيع طلب حقنه في الأمر الذي يريد تشغيله. لا يستطيع طباعته، ولا نسخه في ملف يكتبه، ولا تسريبه إلى محادثة مخزَّنة في مكان آخر.
من رمز وصول ملصوق إلى سرّ له اسم
ثلاث خطوات، ولا تظهر القيمة بعدها أبدًا.
أضف السر مرة واحدة
امنحه اسمًا والصق القيمة لآخر مرة. يشفّره AgentsRoom عبر سلسلة مفاتيح النظام ويكتبه في الخزنة في ~/.agentsroom/secrets.json، للمالك فقط وبشكل ذرّي. وإذا لم تكن على الجهاز سلسلة مفاتيح صالحة للاستخدام، يقول التطبيق ذلك ويرفض بدل كتابة نص صريح.
أشِر إليه بصيغة {{secret:NAME}}
استخدم المرجع في كل موضع كانت القيمة تذهب إليه : الأمر الذي يشغّل خادم التطوير لديك، أو بيئة وكيل يحتاج إلى رمز وصول لـ API. ما يُخزَّن في إعداداتك هو المرجع، ومن الآمن النظر إليه.
دع AgentsRoom يستبدله عند الإطلاق
عندما يبدأ الأمر أو الوكيل، تبدّل العملية الرئيسية المرجعَ بالقيمة الحقيقية في بيئة تلك العملية. تحصل أدواتك على ما تحتاجه، ويبقى الوكيل الذي يقودها عارفًا بالاسم وحده.
متى يتوقف مدير الأسرار عن كونه اختياريًا
المواقف التي تتحول فيها بيانات اعتماد ملصوقة إلى حادثة حقيقية.
خوادم تطوير تحتاج إلى مفاتيح حقيقية
لن يقلع خادم التطوير لديك دون مفتاح دفع وكلمة مرور قاعدة بيانات. ضع {{secret:NAME}} في أمر الإطلاق بدل بيانات الاعتماد، فيصبح الأمر شيئًا يمكنك تركه على الشاشة أثناء مكالمة دون لحظة ذعر.
وكلاء يستدعون API مدفوعًا
يحتاج وكيل إلى رمز وصول للوصول إلى API خارجي أثناء عمله. أضف السر إلى بيئته بالاسم : يحصل الوكيل على بيئة صالحة، ولا يكون الرمز في المطالبة، ولا في المحادثة، ولا في أي شيء يكتبه الوكيل بعد ذلك.
مفاتيح تكفّ عن الهبوط في المستودع
الحادث المعتاد هو بيانات اعتماد مكتوبة في ملف إعداد يجرفه إيداع لاحق. الإشارة إلى الأسرار بالاسم تعني أن الملف المتتبَّع في المستودع يحمل اسمًا، فلا شيء يتسرب عند دفع الفرع.
جهاز واحد، مشاريع كثيرة
خزنة واحدة، محمية بسلسلة مفاتيح نظامك ولا يقرأها سوى حساب المستخدم الخاص بك، تخدم كل مشروع تفتحه. يشير كل مشروع إلى الأسماء التي يحتاجها، ولا يحتفظ أي منها بنسخته المتناثرة من بيانات الاعتماد.
كيف يستطيع وكيل استخدام سرّ لا يقدر على قراءته؟
لأن استخدام بيانات الاعتماد وقراءتها عمليتان مختلفتان، وAgentsRoom ينفّذ الأولى وحدها للوكلاء. تُعرض الخزنة عبر MCP بأداة واحدة بالضبط، secrets_list، وهي تُرجع الأسماء. ومن هناك يكتب الوكيل {{secret:NAME}} في الأمر أو البيئة التي يحتاجها، ويتولى التطبيق الاستبدال، لا الوكيل.
ما ينقص عمدًا هو الاتجاه الآخر. لا تُرجع أي أداة MCP قيمة سرّ، ولا تتلقى طبقة الواجهة قيمة أبدًا، ولا يعرضها أي شيء داخل محادثة. تحويل المرجع إلى قيمة فعلية يحدث داخل عملية Electron الرئيسية، لحظة إطلاق عملية، وتذهب النتيجة إلى بيئة تلك العملية ولا مكان آخر.
الأثر العملي أن وكيلًا يستطيع تشغيل مجموعة اختباراتك مقابل قاعدة بيانات حقيقية، أو استدعاء API مدفوع، أو النشر إلى staging دون أن تدخل بيانات اعتماد واحدة إلى سياقه. لا شيء لتحجبه لاحقًا، لأن لا شيء كُشف أصلًا.
اكتشف AgentsRoom MCPالأسئلة الشائعة
أين تُخزَّن أسراري؟
في ملف خزنة واحد في ~/.agentsroom/secrets.json داخل مجلد المنزل لديك. تُشفَّر كل قيمة عبر Electron safeStorage، فيكون مفتاح التشفير بحوزة سلسلة مفاتيح نظام التشغيل. يُكتب الملف بأذونات للمالك فقط (0600) ويُستبدل بشكل ذرّي، فلا يتركه انهيار مكتوبًا نصفه أبدًا.
هل يستطيع وكيل الذكاء الاصطناعي قراءة أسراري؟
لا. يستطيع الوكيل سرد أسماء أسرارك وطلب حقن أحدها في أمر أو في بيئة، وهذا كل ما يحتاجه لإنجاز العمل. لا يوجد أي مسار في الشيفرة يُرجع قيمة إلى وكيل أو إلى طبقة الواجهة أو عبر MCP. يجري الاستبدال في عملية Electron الرئيسية وحدها.
هل تُزامَن أسراري مع خوادم AgentsRoom؟
أبدًا. الخزنة محلية على الجهاز بحكم التصميم. لا تُرسَل الأسرار إلى خوادم AgentsRoom، ولا تُنسخ احتياطيًا في سحابة، ولا تُنقَل إلى تطبيق الهاتف. تُنشأ على جهازك، وتُشفَّر لجهازك، وتبقى هناك.
كيف أستخدم سرًّا في أمر؟
اكتب {{secret:NAME}} حيث كانت القيمة ستذهب : في أمر طرفية تطوير، أو في بيئة وكيل. يستبدل AgentsRoom القيمة الحقيقية عند إطلاق تلك العملية، ويبقى المرجع هو ما يستقر في إعداداتك.
ماذا يحدث إذا لم تكن على جهازي سلسلة مفاتيح نظام؟
يرفض AgentsRoom تخزين السر. لا يوجد عمدًا أي بديل يكتب القيمة كنص صريح على القرص، لأن خزنة تتدهور بصمت إلى ملف عادي تمنحك ثقة التشفير دون التشفير.
هل يحل هذا محل ملفات البيئة في مشروعي؟
إنه يحل الجزء المؤلم من المشكلة ما إن يدخل وكلاء الذكاء الاصطناعي : إبقاء بيانات الاعتماد خارج الملفات والمطالبات والمحادثات. يحتفظ مشروعك بما يحتاجه وقت التشغيل، وتعيش القيمة نفسها في الخزنة وتُحقن عند الإطلاق بدل أن تجلس في ملف يستطيع وكيل قراءته ويستطيع إيداع أن يجرفه.
إذا نسخ أحدهم ملف الخزنة، هل يستطيع قراءته؟
ليس على جهاز آخر. القيم مشفَّرة بمفتاح تحتفظ به سلسلة مفاتيح نظام التشغيل لديك، فالملف بمفرده نص مشفَّر. وفوق ذلك، تُكتب الخزنة بأذونات للمالك فقط، فلا يستطيع حساب مستخدم آخر على الجهاز نفسه فتحها أيضًا.
أي أداة MCP يستخدمها وكلائي للأسرار؟
secrets_list، وهي الوحيدة. تُرجع أسماء الأسرار المخزَّنة على هذا الجهاز، فيستطيع الوكيل اكتشاف ما هو موجود ثم الإشارة إلى أحدها بصيغة {{secret:NAME}} في أمر تطوير أو في بيئة عملية يبدؤها. لا تُرجع أي أداة قيمة، فلا يبقى للوكيل شيء يطبعه أو ينسخه في ملف يكتبه أو يسرّبه إلى محادثة. وحين ينقص سرّ يحتاجه، يطلب منك إضافته في التطبيق بدل أن يطلب منك لصقه في المحادثة.
قد يعجبك أيضًا
اتصالات قواعد البيانات
احفظ اتصالات MySQL وMariaDB الخاصة بك، وصِل إلى قاعدة بيانات في شبكة فرعية خاصة عبر نفق SSH أو جلسة AWS SSM، ودع وكلاء الذكاء الاصطناعي يستعلمون عنها عبر MCP. للقراءة فقط افتراضيًا، وعبارة واحدة لكل استدعاء، ومجموعات نتائج محدودة، وكلمة المرور لا تصل إلى الوكيل أبدًا.
اتصالات SSH
احفظ اتصالات SSH الخاصة بك، وافتح طرفية SSH مدمجة، وشغّل Claude Code أو Codex أو Antigravity CLI مباشرة على خادمك البعيد أو VPS. المصادقة بمفتاح SSH أو كلمة مرور، وملفات اتصال لكل مشروع، دون الحاجة إلى عميل SSH منفصل.
طرفيات التطوير
مدير طرفيات ومشغّل عمليات لكل مشروع. شغّل الخادم الخلفي والواجهة الأمامية والعمال بنقرة واحدة، مع حقن أسرارك عند الإطلاق بدل كتابتها.
AgentsRoom MCP
خادم MCP الذي يتيح لوكلائك قيادة AgentsRoom نفسه : المشاريع والطرفيات وقائمة backlog والاتصالات، مع حواجز الحماية المرافقة له.
امنح وكلاءك الوصول، لا مفاتيحك
حمّل AgentsRoom، وانقل مفاتيح API وكلمات المرور إلى خزنة مشفَّرة بسلسلة مفاتيح نظامك، وأشِر إليها بالاسم في كل مكان آخر.
التطبيق المرافق: تابع وكلاءك أينما كنت
استخدم Claude أو Codex أو Antigravity CLI أو أي مزود AI آخر.
أرسل الأخطاء والطلبات مباشرة إلى قائمة المهام العامة.
لمحة عن AgentsRoom أثناء العمل.