العودة إلى التحديثات
New releaseAug 5, 2026

kin v0.5.0

نظام السجل المرجعي للبرمجيات المكتوبة بواسطة الذكاء الاصطناعي. رسم بياني دائم للكيانات والعلاقات والتغييرات وسلسلة المصدر، بحيث يرى البشر ووكلاء الذكاء الاصطناعي ما يؤثر فيه التغيير قبل دمجه. بجانب Git اليوم.

مشاركة

كين، نظام السجل الدلالي للبرمجيات المكتوبة بالذكاء الاصطناعي

الفرق (diff) ليس هو التغيير.

License: Apache-2.0 Latest release kinlab.ai

يمكن لوكلاء الذكاء الاصطناعي كتابة تغيير أسرع مما يستطيع الفريق تحديد ما يمسّه، وما إذا كان يعكس إصلاحًا سابقًا، ومدى وصول عواقبه. يسجّل Git الملفات وتاريخ الأسطر. يسجّل Kin البرمجيات نفسها كرسم بياني من الكيانات والعلاقات والتغييرات ومصادر البيانات (provenance)، ثم يمنح البشر والوكلاء سلطة دلالية واحدة للاستعلام والمراجعة. ما يمسّه التغيير يظهر قبل دمجه، ويعمل الوكلاء من سياق دقيق بدلًا من إعادة قراءة المستودع.

Kin هو نظام السجل الدلالي للبرمجيات المكتوبة بالذكاء الاصطناعي. وهو إصدار ألفا عام، قابل للاستخدام اليوم كواجهة سطر أوامر محلية (CLI)، وخدمة خلفية (daemon)، وخادم MCP، وسطح مراجعة، وإسقاط نظام ملفات مدعوم بالرسم البياني. وهو قبل الإصدار 1.0، لذا توقع حواف خشنة وتغييرات كاسرة. اطّلع على أحدث إصدار مستقر والقيود الحالية قبل اعتماده في سير عمل حرج.

شاهده على مستودع حقيقي

تغيير سطر توقيع واحد في ripgrep يبدو غير مؤذٍ في الفرق. اسأل kin impact عنه، قبل تشغيل أي مترجم، وسيحدد ما يصل إليه التعديل. المستدعون (callers) للتوقيع المغيَّر يأتون أولًا، ثم كل ما يسحبه هؤلاء المستدعون خلفهم.

تأثير kin على ripgrep يعرض 13 كيانًا متأثرًا ضمن 3 قفزات لتغيير سطر توقيع واحد

مُسجَّل على رسم بياني مُعدّ عند commit ripgrep e89fff89ac9af12e8d4ce9d5fd07beb408ca730f. 13 كيانًا متأثرًا ضمن 3 قفزات (hops)، بما في ذلك 3 مستدعين مباشرين للتوقيع المغيَّر. بُني الرسم البياني مسبقًا. لم يعمل أي مترجم. الأوامر الدقيقة: kinlab.ai/proof. دليل التشغيل الخام غير عام بعد، لذا هذه وصفة يمكنك إعادة تشغيلها، وليست أثرًا يمكنك تدقيقه.

يكشف Kin ما يمسّه التغيير. أما ما إذا كان التغيير صحيحًا فيبقى مع مترجمك واختباراتك ومراجعتك. يُبنى الرسم البياني مسبقًا بواسطة kin init، وبناؤه هو الجزء المكلف؛ بعد ذلك، تُجاب أسئلة التأثير من حقيقة الرسم البياني، لا من إعادة قراءة الشجرة.

البنية التقنية

Kin نظام واحد بعدة أسطح عامة واضحة:

الواجهةوظيفتها
kinنظام السجل الدلالي: CLI، خدمة خلفية (daemon)، دورة حياة الرسم البياني، MCP، مراجعة، مصدر بيانات (provenance)، وتعايش مع Git.
kin-vfsيُسقط الملفات المملوكة للرسم البياني عبر استدعاءات نظام ملفات عادية لتتمكن الأدوات الحالية من مواصلة استخدام الملفات.
kin-editorوصول من VS Code إلى مستكشف الكيانات، والبحث الدلالي، والتتبع (trace)، والمراجعة، وأسطح إعادة التسمية.
Kin MCPأدوات رسم بياني مكتوبة (typed) لوكلاء الذكاء الاصطناعي، مضمّنة في kin وتُشغَّل بـ kin mcp start.
KinLabمنصة تعاون وتحكم مستضافة. اتصال المستودع العام ليس تدفق تشغيل أول (first-run) بعد.

كيف تتلاءم المكونات

Kin هو نظام السجل الدلالي للبرمجيات المكتوبة بالذكاء الاصطناعي، وكل شيء في الخريطة أدناه إما يصل إلى تلك السلطة أو يدعمها. يدخل البشر ووكلاء الذكاء الاصطناعي عبر CLI، أو خادم MCP المضمّن، أو إضافة VS Code. الثلاثة يسألون نفس الخدمة الخلفية، وتجيب الخدمة من سلطة الرسم البياني بدلًا من إعادة قراءة الشجرة. يُسقط kin-vfs نفس الرسم البياني عبر استدعاءات نظام ملفات عادية، فتبقى المحررات والمترجمات وأنظمة البناء ترى الملفات. يجلس Git بجانب الرسم البياني كحد استيراد وتصدير وليس كمسار إجابة، وKinLab هو الطبقة المستضافة فوق نفس السلطة.

flowchart TD
    people["Humans and AI agents"]

    subgraph surfaces["Access surfaces"]
        cli["kin CLI"]
        mcp["Kin MCP server"]
        editor["kin-editor for VS Code"]
    end

    daemon["kin daemon"]
    authority["Graph authority<br/>entities, relations, changes, provenance"]
    db["kin-db<br/>graph storage, snapshots,<br/>index, text and vector search"]
    prims["kin-model, kin-blobs, kin-search,<br/>kin-vector, kin-infer, kin-lsp"]
    vfs["kin-vfs<br/>transparent file projection"]
    tools["Editors, compilers, build systems"]
    git["Git<br/>import and export boundary"]
    kinlab["KinLab<br/>hosted collaboration and control plane"]

    people --> cli
    people --> mcp
    people --> editor
    cli --> daemon
    mcp --> daemon
    editor --> daemon
    daemon --> authority
    authority --> db
    db --> prims
    authority <-->|"kin init imports, kin git export"| git
    authority -->|"publish and sync"| kinlab
    authority --> vfs
    vfs --> tools

تحت تلك الأسطح توجد الطبقات التي يُبنى منها النظام:

الطبقةالدور
kin-dbتخزين الرسم البياني، اللقطات (snapshots)، الفهرسة، البحث النصي، والبحث المتجهي.
kin-modelالأنواع الأساسية ونماذج المجال المشتركة عبر البنية.
kin-blobsتخزين كتل (blobs) موجه بالمحتوى (content-addressable).
kin-searchأوليات بحث معجمي واسترجاع مرحلي (staged retrieval).
kin-vectorركيزة المتجهات وأقرب جار (nearest-neighbor).
kin-inferركيزة الاستدلال (inference) والتضمين (embedding).
kin-lspإثراء خادم اللغة الذي يغذي الطبقة الدلالية.

هذه طبقات تنفيذ لنظام واحد، وليست منتجات منفصلة يحتاج المستخدم الجديد إلى تجميعها. لا يُثبَّت أيٌّ منها بشكل منفصل.

المصدر المفتوح والنظام البيئي لـ Kin

نواة Kin مفتوحة المصدر بموجب Apache-2.0: kin، وkin-db، وkin-vfs، وkin-editor، بالإضافة إلى المكتبات الداعمة kin-model وkin-blobs وkin-search وkin-vector وkin-infer وkin-lsp وkin-actions.

KinLab منتج خاص (proprietary) مبني على هذه النواة المفتوحة: طبقة التعاون والتحكم المستضافة الموصوفة أعلاه.

ينطبق نفس الحد على كيفية مشاركة أعمال القياس (benchmark). مواصفات القياس ومُتحقّق حزم مستقل خالٍ من التبعيات عامّان، بحيث يمكن التحقق من ادعاء دون الوصول إلى النظام الذي أنتجه. ويبقى المُشغِّل (runner) والبنية التحتية للإثبات التي تنتج حزم الأدلة المختومة (التنسيق، وبوابة إثبات الإصدار المثبَّت، وبيئة القياس المستضافة) خاصة في الوقت الحالي. المواصفة والمُتحقّق ينفتحان أولًا؛ ويمكن أن ينفتح المُشغِّل لاحقًا.

أقصر مسار مدعوم بالرسم البياني

1. ثبّت Kin وهيئه

على macOS أو Linux:

curl -fsSL https://get.kinlab.dev/install | sh
exec "$SHELL" -l
kin setup --intent agent

يُحل المُثبِّت أحدث إصدار مستقر، ويتحقق من مجموع SHA-256 المنشور، ويثبّت الثنائيات المُدارة تحت ~/.kin، ويشغّل الإعداد. تشغيل intent الصريح agent يهيئ خادم MCP المضمّن للعملاء المدعومين المكتشفين. استخدم --intent local لاستخدام CLI ونظام الملفات دون إعداد MCP، أو --intent editor لمسار VS Code.

لإزالة تكاملات الإعداد المُدارة فقط، شغّل kin setup uninstall. بالنسبة للجذر المُدار الافتراضي (~/.kin)، فإن kin setup uninstall --all يوقف أيضًا جميع خدمات Kin الخلفية (daemons)، ويزيل كتل PATH القديمة الدقيقة للمُثبِّت، ويحذف التثبيت المُدار بشكل متكرر (--dry-run يعاينه مسبقًا). لا يُحذف KIN_HOME المخصص بشكل متكرر أبدًا: شغّل أولًا إلغاء التثبيت المقيّد بالسجل (ledger-scoped)، ثم راجع ذلك الدليل واحذفه صراحةً. الشرائح المعدَّلة المملوكة للإعداد تمنع الإزالة الكاملة ما لم تضف --force، لذلك لا يستبدل إلغاء التثبيت أبدًا تكوين عميل أو shell معدَّل من المستخدم بصمت. على Windows، يجدول CLI حذف دليل التثبيت المقفل فور خروج العملية الجارية. يحتفظ Windows عمدًا بملف جانبي (sidecar) خامل واحد لسلطة الإخوة (sibling authority) خاص بالمستخدم الحالي فقط؛ إبقاء هوية القفل تلك مستقرة يمنع تعطلًا أو تثبيتًا مستقبليًا متزامنًا من إنشاء سلطتي تعديل مستقلتين. يكشف CLI ونتيجة JSON عن بيانات التنسيق المحتجزة هذه بدلًا من الادعاء بعدد صفري من البايتات المتبقية.

للتثبيت اليدوي، يُنشر كل أرشيف وملف .sha256 الخاص به تحت https://github.com/firelock-ai/kin/releases/latest/download/. أسماء الأصول المتحركة هي kin-macos-aarch64، وkin-macos-x86_64، وkin-linux-aarch64، وkin-linux-x86_64، وkin-windows-x86_64؛ استخدم لاحقة .tar.gz لنظام Unix أو .zip لنظام Windows الموضحة على صفحة أحدث إصدار.

نقطة دخول npm تحل نفس قناة الإصدار العامة:

npm install -g @kinlab/kin@latest

يتتبع tap في Homebrew نفس قناة الإصدار:

brew install firelock-ai/kin/kin

صيغة الـ tap مولَّدة وليست مكتوبة يدويًا. إصدارها ومجاميع SHA-256 حسب المنصة يُعاد توليدها من كل إصدار Kin بواسطة update-formula.yml في مستودع الـ tap، عند إرسال (dispatch) يرسله الإصدار نفسه، مع مزامنة كل ست ساعات تشفي ذاتيًا ما فات. لهذا فإن المجموع الذي يتحقق منه Homebrew هو المنشور بجانب الأرشيف وليس نسخة منسوخة منه بشكل منفصل. أكّد ما ثبّتته بـ kin --version، كما ينبغي أن تفعل في أي مسار تثبيت.

على Windows، شغّل irm https://get.kinlab.dev/install.ps1 | iex في PowerShell. دعم Windows x86_64 الأصلي مبكر. قبول المستودع يعمل: يستورد kin init مستودع Git وينشر سلطة الرسم البياني، وتُجاب الاستعلامات الرسومية والمعجمية والمدعومة بالخدمة الخلفية بشكل أصلي. إسقاط نظام الملفات الشفاف غير مُشحَن على Windows، وإثبات التثبيت الشامل لا يغطي سير عمل MCP أو المراجعة هناك بعد، لذا يبقى WSL2 المسار الموصى به لتجربة Kin الكاملة. اقرأ المنصة والنضج أدناه قبل اختيار مسار تثبيت Windows.

2. اقبل مستودعًا حاليًا كحقيقة رسم بياني

cd /path/to/your/repository
kin init .

في مستودع Git نظيف، يقبل kin init بشكل ذرّي التاريخ الكامل القابل للوصول، والمراجع (refs)، والكائنات الخام، وشجرة العمل الدقيقة، وسياسة القبول في سلطة الرسم البياني repository-v6. لا يستبدل أبدًا لقطة HEAD دقيقة أو إعادة بناء دلالية لنظام ملفات خام. عناوين URL للمستودع المحلي المدعومة، وrefspecs، وتتبع الفروع، وافتراضيات الدفع تُختَم في تكوين تعايش Kin مع Git؛ إعدادات النقل غير الآمنة أو الغامضة أو غير المدعومة تنغلق تلقائيًا (fail closed) قبل النشر.

يشتق القبول أيضًا طبقة الكيان والعلاقة الدلالية لكل ملف مصدر كيان مدعوم في ذلك التاريخ، ويُبلغ kin init عن العدّادات الدائمة المربوطة بالجيل التي التزمها. يُبلغ kin status عن عرض سلطة المستودع تلك؛ ويُبلغ kin graph status بشكل منفصل عن رسم الاستعلام الحي القابل للتغيير للخدمة الخلفية، والذي قد يتضمن إثراءً مشتقًا لاحقًا. تستهلك أسطح الاستعلام الإثراء المملوك للرسم البياني عندما يوجد وتُبلغ عن غيابه بدلًا من إخفاء الفجوة خلف بحث ملفات خام.

أي الملفات تصبح كيانات

"ملف مصدر كيان مدعوم" يعني ملفًا يطالبه أحد محولات اللغة في Kin. سجل المحولات هو المجموعة الكاملة، وكل ملف في مستودع يُحل عبره:

اللغةالامتدادات
TypeScript.ts, .tsx
JavaScript.js, .jsx, .mjs, .cjs
Python.py, .pyi
Go.go
Java.java
Rust.rs
C.c, .h
C++.cpp, .hpp, .cc, .cxx
C#.cs
Ruby.rb
PHP.php
Swift.swift
Kotlin.kt, .kts
HCL / Terraform.tf, .tfvars

يُقرأ ملف رأس .h كـ C++ عندما تقول محتوياته ذلك، لذلك لا يفقد مشروع C++ مساحات الأسماء (namespaces) والقوالب (templates) لمحل C.

كل شيء آخر يُقبل كمحتوى ويبقى قابلًا للاستعلام كتاريخ ونص، لكنه لا يُحلَّل إلى كيانات وعلاقات. يشمل ذلك Markdown وHTML وCSS وSQL وYAML وJSON وTOML وسكربتات shell وObjective-C وScala وElixir وDart وLua وR وZig وHaskell وNix. إذا كانت لغتك على تلك القائمة، فلن يجد locate وrefs رموزًا فيها.

3. اسأل الرسم البياني سؤالًا حقيقيًا

kin locate "where are webhook retries handled"
kin refs ExactEntityName
kin trace ExactEntityName

استبدل ExactEntityName برمز يعيده locate. يجد locate الكيانات ذات الصلة بنيّة (intent) ما، ويعرض refs المستدعين/المستوردين والمراجع المملوكة للرسم البياني، ويعيد trace الكيان المحوري (focal entity) بالإضافة إلى سياق دلالي قريب. بمجرد اكتمال التضمينات (embeddings)، يمكن لوكيل الذكاء الاصطناعي المهيأ استخدام أداة semantic_locate المدعومة بالمتجهات؛ وتكشف get_context_pack وfind_references وtrace_data_flow عن جوار الرسم البياني مباشرة.

يشتق القبول الكيانات الدلالية، وليس متجهاتها. شغّل kin embed لإضافة تشابه متجهي محلي فوقها، وتأكد من التغطية بـ kin graph status.

مراجعة تغيير مكتوب بالذكاء الاصطناعي

الذكاء الاصطناعي يكتب الكود. Kin يثبت ما تغيّر.

شغّل kin init على الفرع الذي تريد مراجعته بحيث يكون تاريخ Git ذو الصلة في الرسم البياني، ثم مرر SHA صريحة للـ commit إلى بوابة الظل (shadow gate) المخصصة للتقرير فقط:

kin review shadow "$(git rev-parse main)..$(git rev-parse HEAD)"

النتيجة هي PASS أو NEEDS ATTENTION أو WOULD BLOCK، وتأتي مع التأثير الذي اشتقه Kin من الرسم البياني، والسياق اللازم لإصلاحه، والأدلة وراء كليهما. التأليف مُعلَن وليس مُتحققًا. لن يمنع الأمر دمجك أو يغيّر حالة الرسم البياني. يسلّم الأدلة إلى إنسان أو سياسة CI ويتوقف عند ذلك.

كيف يرتبط Kin بـ Git

بجانب Git اليوم. سلطة مستودع عبر الزمن. أثناء التبني في الأنظمة القائمة (brownfield)، يبقى Git حد تعايش صريحًا للاستيراد/التصدير؛ ولا يجيب أبدًا على استعلامات Kin وقت التشغيل أو يصلح حقيقة رسم بياني مفقودة.

  • يستورد kin init تاريخ Git الكامل القابل للوصول وحواف الوالدين (parent edges) الدقيقة. لا يملك Kin عمدًا وضع تهيئة بتاريخ جزئي أو لقطات فقط.
  • بعد الاستيراد، يمتلك رسم Kin البياني هوية المستودع، وحالة الشجرة، والتاريخ، والمراجع، والعلاقات الدلالية. طرق عرض نظام الملفات وGit هي إسقاطات.
  • يكتب kin git export --output ../repo.git إسقاط Git عاريًا (bare) جديدًا من جيل سلطة واحد مملوك للرسم البياني. لا يطّلع على ملفات العمل أو مخزن كائنات .git/ محيط، ويرفض وجهة موجودة أو داخل المستودع. تُفرَّغ الكائنات والمراجع والدلائل قبل الإقرار بنشر الوجهة بدون استبدال (no-replace). النشر المثبّت بالقدرات (capability-anchored) متاح حاليًا على مضيفات Unix؛ وترفض المضيفات الأخرى قبل إنشاء التصدير.

هذا يتيح للفريق ترحيل مستودع موجود دون التخلي عن محرره أو مترجمه أو نظام بنائه أو تعاونه مع Git بينما يصبح Kin سلطة.

المنصة والنضج

لوقت التشغيل الأساسي وإسقاط نظام الملفات حدود دعم مختلفة:

المنصةوقت تشغيل Kin الأساسيإسقاط kin-vfs
macOS، Apple Silicon وIntelأصلي: أسطح الرسم البياني والمتجهات والخدمة الخلفية والإعداد وMCP والمراجعة تُشحن في أرشيف الإصدار.مُشحَن ومُختبر على المعماريتين. يستخدم DYLD_INSERT_LIBRARIES؛ قد ترفض البرامج المحمية بـ SIP أو المحصّنة (hardened) الحقن.
Linux x86_64 وarm64kin وkin-daemon هما بنيتا musl ثابتتان مصممتان للعمل على توزيعات glibc وmusl.الملف التنفيذي العام لـ VFS والـ shim هما بنيتا GNU/glibc، وليستا بنيتي musl. الأصول الحالية تتطلب glibc 2.39؛ توزيعات Alpine/musl وتوزيعات glibc الأقدم غير مدعومة كمضيفات إسقاط. إثبات إصدار arm64 يعمل على Ubuntu 24.04.
Windows x86_64 أصليدعم مبكر: المستودعات تُقبل وتُجاب الاستعلامات الرسومية والمعجمية بشكل أصلي، لكن سير عمل MCP والمراجعة غير مغطاة بعد بالكامل بإثبات التثبيت. يبقى WSL2 المسار الموصى به لـ Kin الكامل.غير مُشحَن. استخدم WSL2 مع توزيع Linux يفي بحد glibc للإسقاط.

الفهرسة الأولى تقرأ تاريخ Git الكامل القابل للوصول، لذا يستغرق kin init على مستودع كبير أو طويل العمر دقائق لا ثوانٍ، قبل أن يبدأ التضمين. بعد أن يعيد init، تواصل الخدمة الخلفية التحضير في الخلفية، وقد تستغرق أول استدعاءات الوكيل على مستودع كبير وقتًا أطول بشكل ملحوظ للإجابة.

وجد اختبار arm64 المحدود أن مسار الرسم البياني والمعجمي الأساسي قابل للاستخدام عند 512 ميجابايت، لكن تنزيل التضمين الكامل يسحب نموذجًا بحوالي 522 ميجابايت ويحتاج حاليًا 2 جيجابايت كأرضية تشغيل آمنة؛ 1 جيجابايت حافة غير آمنة و512 ميجابايت يمكن أن تنتهي أثناء التضمين. هذه قيود ألفا مرصودة، وليست وعود أبعاد عامة.

نجاح kin --version يثبت فقط أن الثنائي الأساسي يعمل. لا يثبت توافق VFS أو إسقاطًا حيًا مدعومًا بالرسم البياني. على مضيف Unix مدعوم، استخدم kin setup status وkin-vfs status --workspace . وإطلاقًا حقيقيًا kin-vfs exec --workspace . -- <command>. يتضمن مُشغِّل VFS طائر كناري (canary) للاعتراض (interposition) ويُبلغ عندما يجرّد نظام التشغيل الـ shim. يحتوي README kin-vfs على الحدود الكاملة.

أصول الإصدار منشورة بمجاميع اختبارية، وسير عمل الإصدار يشغّل فحوصات تثبيت مجهول (anonymous)، وخدمة خلفية/MCP، وتضمين، وإسقاط VFS حقيقي مدعوم بالرسم البياني عبر مصفوفة التشغيل (runner matrix) المدعومة. سير العمل نفسه عام: إثبات التثبيت. إصدار أخضر يثبت تلك الأصول والبيئات بالضبط؛ وهو ليس ادعاءً بأن كل توزيع أو أداة أو شكل مستودع مغطى بالفعل.

موقف الإثبات

حزمة إثبات Multi-SWE-Bench Go المسجلة مسبقًا (preregistered) والمنشورة مثبتة على بناء أقدم، وليس على أحدث إصدار متحرك، ولا تثبت ادعاءً واسعًا بالسرعة أو توفير الرموز (token-savings) أو الفوز بالفئة. النتائج المقارنة محجوبة هنا بانتظار تحقق مستقل.

اقرأ المنهجية، ومجموعة المهام، وهوية البناء، والأصول في حزمة الإثبات العامة. عامل الادعاءات خارج ذلك النطاق المُقاس كفرضيات حتى يكون لها إثبات قابل للتكرار خاص بها.

تعلّم وساهم

الترخيص

Apache-2.0.

برمجيات تتذكر نفسها.

الفئات