From 124a5bd700c269fb3c572ceabeb8635a4b832adb Mon Sep 17 00:00:00 2001 From: HynLcc Date: Mon, 14 Sep 2026 12:03:59 +0800 Subject: [PATCH] docs: routines, chat management, Composio connections, and schema integrity Add the Routine page (scheduled agent runs as a base resource) and the admin Schema integrity page, and cover chat pin/rename/archive/ordering, Composio-managed connections, and the corrected global search field scope on the existing pages. All 11 locales. Co-Authored-By: Claude Opus 5 --- ar/basic/admin-panel/overview.mdx | 1 + ar/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ ar/basic/ai/ai-chat.mdx | 16 ++++ ar/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ ar/basic/credential.mdx | 9 +- ar/basic/table.mdx | 2 +- de/basic/admin-panel/overview.mdx | 1 + de/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ de/basic/ai/ai-chat.mdx | 16 ++++ de/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ de/basic/credential.mdx | 9 +- de/basic/table.mdx | 2 +- docs.json | 22 +++++ en/basic/admin-panel/overview.mdx | 1 + en/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ en/basic/ai/ai-chat.mdx | 16 ++++ en/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ en/basic/credential.mdx | 9 +- en/basic/table.mdx | 2 +- es/basic/admin-panel/overview.mdx | 1 + es/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ es/basic/ai/ai-chat.mdx | 16 ++++ es/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ es/basic/credential.mdx | 9 +- es/basic/table.mdx | 2 +- fr/basic/admin-panel/overview.mdx | 1 + fr/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ fr/basic/ai/ai-chat.mdx | 16 ++++ fr/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ fr/basic/credential.mdx | 9 +- fr/basic/table.mdx | 2 +- it/basic/admin-panel/overview.mdx | 1 + it/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ it/basic/ai/ai-chat.mdx | 16 ++++ it/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ it/basic/credential.mdx | 9 +- it/basic/table.mdx | 2 +- ja/basic/admin-panel/overview.mdx | 1 + ja/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ ja/basic/ai/ai-chat.mdx | 16 ++++ ja/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ ja/basic/credential.mdx | 9 +- ja/basic/table.mdx | 2 +- ru/basic/admin-panel/overview.mdx | 1 + ru/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ ru/basic/ai/ai-chat.mdx | 16 ++++ ru/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ ru/basic/credential.mdx | 9 +- ru/basic/table.mdx | 2 +- tr/basic/admin-panel/overview.mdx | 1 + tr/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ tr/basic/ai/ai-chat.mdx | 16 ++++ tr/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ tr/basic/credential.mdx | 9 +- tr/basic/table.mdx | 2 +- uk/basic/admin-panel/overview.mdx | 1 + uk/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ uk/basic/ai/ai-chat.mdx | 16 ++++ uk/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ uk/basic/credential.mdx | 9 +- uk/basic/table.mdx | 2 +- zh/basic/admin-panel/overview.mdx | 1 + zh/basic/admin-panel/schema-integrity.mdx | 41 ++++++++ zh/basic/ai/ai-chat.mdx | 16 ++++ zh/basic/ai/routine.mdx | 112 ++++++++++++++++++++++ zh/basic/credential.mdx | 9 +- zh/basic/table.mdx | 2 +- 67 files changed, 1980 insertions(+), 33 deletions(-) create mode 100644 ar/basic/admin-panel/schema-integrity.mdx create mode 100644 ar/basic/ai/routine.mdx create mode 100644 de/basic/admin-panel/schema-integrity.mdx create mode 100644 de/basic/ai/routine.mdx create mode 100644 en/basic/admin-panel/schema-integrity.mdx create mode 100644 en/basic/ai/routine.mdx create mode 100644 es/basic/admin-panel/schema-integrity.mdx create mode 100644 es/basic/ai/routine.mdx create mode 100644 fr/basic/admin-panel/schema-integrity.mdx create mode 100644 fr/basic/ai/routine.mdx create mode 100644 it/basic/admin-panel/schema-integrity.mdx create mode 100644 it/basic/ai/routine.mdx create mode 100644 ja/basic/admin-panel/schema-integrity.mdx create mode 100644 ja/basic/ai/routine.mdx create mode 100644 ru/basic/admin-panel/schema-integrity.mdx create mode 100644 ru/basic/ai/routine.mdx create mode 100644 tr/basic/admin-panel/schema-integrity.mdx create mode 100644 tr/basic/ai/routine.mdx create mode 100644 uk/basic/admin-panel/schema-integrity.mdx create mode 100644 uk/basic/ai/routine.mdx create mode 100644 zh/basic/admin-panel/schema-integrity.mdx create mode 100644 zh/basic/ai/routine.mdx diff --git a/ar/basic/admin-panel/overview.mdx b/ar/basic/admin-panel/overview.mdx index 929c3762..9f451ac3 100644 --- a/ar/basic/admin-panel/overview.mdx +++ b/ar/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ description: "تُستخدم لوحة إدارة Teable ذاتية الاستض - **[صندوق المهام المحسوبة](/ar/basic/admin-panel/computed-outbox)**: مراقبة تسليم المهام المحسوبة وسلامة قائمة الانتظار وتراكم قاعدة البيانات - **[قائمة انتظار توليد الذكاء الاصطناعي](/ar/basic/admin-panel/ai-generation-queue)**: مراجعة حالة توليد حقول الذكاء الاصطناعي في النسخة ذاتية الاستضافة الحالية - **[وكيل البيئة المعزولة](/ar/basic/admin-panel/sandbox-agent)**: تهيئة وكيل البيئة المعزولة وإدارته +- **[Schema integrity](/ar/basic/admin-panel/schema-integrity)**: شغّل فحوص المخطط على أي قاعدة وأصلح ما تكشفه - **[سجل التدقيق](/ar/basic/admin-panel/audit-log)**: مراجعة نشاط النسخة الأخير وتفاصيل العمليات ## أذونات المسؤول diff --git a/ar/basic/admin-panel/schema-integrity.mdx b/ar/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..a88b7dfe --- /dev/null +++ b/ar/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "تقصّي التباين بين تعريفات حقول القاعدة وبنية قاعدة بياناتها وإصلاحه." +--- + +متاح للاستضافة الذاتية بخطة Business فما فوق + +المسار: لوحة الإدارة ← Schema integrity + +يُفترض أن تتطابق تعريفات الحقول التي يحتفظ بها Teable مع البنية الفعلية في قاعدة البيانات. وحين يتباعد الاثنان، يرى المستخدمون حقولًا لا تُفتح، وحقول ربط لا تُرجع شيئًا، أو جدولًا يتعثّر فيه القراءة والكتابة باستمرار من دون سبب ظاهر. ويتولّى **Schema integrity** تحديد هذا النوع من المشكلات وإصلاحه. + +يستطيع مسؤول النسخة فحص أي قاعدة في النسخة من دون الانضمام إلى مساحتها أولًا، بما في ذلك المستأجرون الذين يديرون قاعدة بياناتهم بأنفسهم (BYODB). + +## تشغيل الفحص + +ابحث عن القاعدة من مربّع البحث، بالقاعدة أو المساحة أو معرّف الجدول أو الاسم. تعرض قائمة النتائج المساحة (**Space**) التي تنتمي إليها، وقاعدة البيانات المستخدمة (**Data DB**: الافتراضية أو BYODB)، وبيئة التشغيل (**Runtime**: v1 أو v2)، وبها تتأكّد أنك أمام القاعدة الصحيحة. فتكرار اسم القاعدة نفسه في مساحات مختلفة أمر شائع. + +انقر **Check** في ذلك الصف، ثم **تشغيل الفحص** في نافذة **سلامة المخطط**. + +## قراءة النتائج + +تُعرض النتائج لكل حقل وقاعدة، في أربع حالات: + +| الحالة | المعنى | ما العمل | +| --- | --- | --- | +| **خطأ** | لم يعد هدف ربط الحقل موجودًا، أو أن إعدادات الحقل لا تطابق البنية الفعلية في قاعدة البيانات | هذا هو السبب المباشر لتعثّر القراءة والكتابة، ويحتاج إلى إصلاح | +| **تحذير** | يحيد عن البنية المتوقّعة، لكن القراءة والكتابة ما زالتا سليمتين | أصلحه، أو دوّنه وراقبه | +| **تم التخطي** | القاعدة لا تنطبق على هذا الحقل ولم تُصدر حكمًا | لا شيء للعمل عليه | +| **ناجح** | مطابق للمتوقّع | لا شيء للعمل عليه | + +ابدأ بحالة **خطأ**: فالعطل الذي يُبلّغ عنه المستخدمون يقع في هذه الفئة في الغالب. أما **تحذير** فلا يفسّر العطل الحالي، لكنه قد يتحوّل إلى خطأ مع استمرار تغيّر بنية الحقول، ولذلك يستحق المعالجة بعد الفراغ من الأخطاء. + +## الإصلاح + +يمكنك **إصلاح** قاعدة تلو الأخرى، أو العمل دفعةً واحدة عبر **إصلاح التحذيرات فقط** أو **إصلاح التحذيرات والأخطاء**. وما دمت تتعقّب عطلًا قائمًا، أصلح الأخطاء واحدًا واحدًا وتأكّد من زوال العطل قبل الانتقال إلى التحذيرات، حتى تبقى أي مشكلة جديدة منسوبة إلى تغيير واحد بعينه. + +لا يغيّر الإصلاح سوى بنية الجدول، ولا يمسّ محتوى السجلات. وقبل تنفيذه، استعن بالمعاينة المجاورة لزر الإصلاح: تعرض نافذة **تأكيد تفاصيل الإصلاح** المسوّغ وجملة SQL الناتجة عن التشغيل التجريبي، ولا يُنفَّذ شيء قبل تأكيدك. + +بعض القواعد لا تُصلَح تلقائيًا وتعرض **يدوي** بدلًا من ذلك، وعندها تشرح النافذة سبب حاجة المشكلة إلى تدخّل بشري. وإذا لم يُرجع التشغيل التجريبي جملة SQL قابلة للتنفيذ، تصرّح النافذة بذلك، وهذه الحالة تحتاج إلى تدخّل بشري أيضًا. + +بعد الإصلاح، انقر **إعادة الفحص** للتأكّد من زوال المشكلة. diff --git a/ar/basic/ai/ai-chat.mdx b/ar/basic/ai/ai-chat.mdx index c4d3fe04..35c96807 100644 --- a/ar/basic/ai/ai-chat.mdx +++ b/ar/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ description: تفاعل مع بياناتك باللغة الطبيعية لتح - **إدارة الملفات**: افتح **+** ← **المزيد** ← **إدارة الملفات** لعرض الملفات في بيئة المحادثة المعزولة الحالية. يمكنك معاينة الملفات المدعومة أو تنزيلها أو حذف الملفات والمجلدات التي لم تعد بحاجة إليها. يجب أن تكون هناك محادثة قبل أن تتمكن من إدارة ملفاتها. - **قائمة انتظار الرسائل**: لا يؤدي إرسال رسالة أخرى أثناء عمل الذكاء الاصطناعي إلى مقاطعته. تنتظر الرسالة في قائمة أعلى مربع الإدخال وتُرسل عند انتهاء التشغيل الحالي. تحتفظ العناصر الموجودة في قائمة الانتظار بشارات الجدول وطريقة العرض والمرفقات والتحديد نفسها الموجودة في إدخال المحادثة؛ يؤدي **إزالة** إلى حذف عنصر، ويعيده **...** ← **تحرير الرسالة** إلى مربع الإدخال، كما يتيح العنصر النصي فقط خيار **توجيه** لتمرير نصه إلى الدور الجاري بدلاً من الانتظار. +## إدارة المحادثات + +انقر **السجل** أعلى يسار لوحة المحادثة لعرض محادثاتك في القاعدة الحالية والبحث فيها بالاسم. + +تشير النقطة بجوار اسم المحادثة إلى المحادثات التي تنتظرك. فـ**بانتظار ردّك** تعني أن الدور توقّف عند نقطة تحتاج إليك: سؤال من الوكيل، أو تصريح، أو جدول تختاره، أو طلب بيانات اعتماد؛ ولن يتابع قبل أن تردّ. و**فشل الرد** تعني أن الرد الأخير لم ينتهِ على نحو سليم، فافتح المحادثة واسأل من جديد. أما **جارٍ التوليد…** ونقطة غير المقروء فتفيدان بالتقدّم وبوجود ردود جديدة فقط، ولا تتطلّبان منك شيئًا. + +تتيح قائمة **...** في المحادثة خيارات **تثبيت** و**إعادة تسمية** و**أرشفة** والحذف. ويزيل الحذف كل رسائلها كذلك، ولا يمكن التراجع عنه. + +يعرض السجل أحدث 100 محادثة. ثبّت ما تستخدمه كثيرًا: فالمحادثة المثبّتة تتصدّر القائمة وتُستثنى من هذا الحد، فلا تُزاح مع تراكم المحادثات الجديدة. ويمكنك أيضًا سحب المحادثة لتغيير موضعها. + +أما محادثات منشئ التطبيقات فتحمل اسم تطبيقها ولا يمكن أرشفتها. + +### المحادثات المؤرشفة + +تُخرِج الأرشفة المحادثة من قائمة السجل من دون حذف أي شيء. افتح صورتك الرمزية أسفل اليسار ← **الإعدادات** ← **المحادثات المؤرشفة** لعرض ما أرشفته من محادثات في مختلف القواعد. ويعيد **استعادة** المحادثة إلى سجل قاعدتها، كما يمكنك حذفها من هنا متى تيقّنت أنك لم تعد بحاجة إليها. + ## الاستخدامات الشائعة diff --git a/ar/basic/ai/routine.mdx b/ar/basic/ai/routine.mdx new file mode 100644 index 00000000..3f35fbd3 --- /dev/null +++ b/ar/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: روتين +description: دع Cuppy ينفّذ مطالبة وفق جدول زمني، وراجع نتيجة كل تشغيل في سجل التشغيل. +--- + +متاح في جميع خطط السحابة؛ أما النسخة المستضافة ذاتيًا فتتطلب خطة Business أو أعلى. + +يسلّم الروتين مطالبة إلى Cuppy ويكررها وفق جدول زمني، وهو ما يناسب الأعمال التي لا ينبغي لأحد أن يبدأها يدويًا: تقرير يومي، تنظيف دوري للسجلات المنتهية، ملخّص أسبوعي. كل تشغيل هو محادثة ذكاء اصطناعي كاملة، لذا يستطيع الروتين كل ما تستطيعه المحادثة، بما في ذلك قراءة الجداول والكتابة فيها واستدعاء المهارات وإنشاء الملفات. + +الروتين مورد داخل القاعدة، ويظهر في الشريط الجانبي الأيمن إلى جانب الجداول والتطبيقات والأتمتة. + +تُستثار الأتمتة بحدث، مثل تغيّر سجل أو إرسال نموذج أو Webhook، وتنفّذ الخطوات التي أعددتها مسبقًا. أما الروتين فيُستثار بالوقت وحده، وينفّذ مطالبة يفسّرها الوكيل بنفسه. اختر الأتمتة حين تحتاج إلى خطوات ثابتة ونتيجة متوقّعة، واختر الروتين حين تريد أن يقرّر الوكيل في كل مرة ما يفعله بالبيانات الحالية. + +## إنشاء روتين + + + + في الشريط الجانبي، انقر **+** واختر **روتين جديد**. + + + صِف في **المطالبة** ما ينبغي أن يفعله كل تشغيل. المطالبة هي التعليمات الكاملة للتشغيل الواحد، لذا اذكر مصدر البيانات وطريقة المعالجة ووجهة النتيجة. مثال: «لخّص السجلات المضافة أمس إلى جدول المهام، وجمّعها حسب المسؤول، واكتب الملخّص في جدول التقرير اليومي». + + + اختر تكرارًا ضمن **الجدولة**، واضبط **البداية** و**النهاية (اختياري)** عند الحاجة. + + + انقر **تفعيل**. يجب أن تكون الإعدادات محفوظة مسبقًا، وأن يتضمّن الجدول موعدًا قادمًا. + + + +## الإعدادات + +إلى جانب المطالبة والجدولة، يتضمّن النموذج هذه الإعدادات: + +| الإعداد | الوصف | +| --- | --- | +| **النموذج** | النموذج ومستوى الذكاء اللذان يعمل بهما هذا الروتين. اترك **النموذج الافتراضي** لاستخدام نموذج المحادثة الافتراضي للمساحة | +| **الحد الأقصى لمدة التشغيل (بالدقائق)** | يُوقف التشغيل الذي يتجاوز هذا الحد ويُسجَّل فاشلًا. من 5 إلى 120 دقيقة، والافتراضي 30 | +| **المحادثة** | **محادثة جديدة لكل تشغيل** تُبقي عمليات التشغيل مستقلّة بعضها عن بعض؛ و**متابعة محادثة التشغيل السابق** تنقل سياق عمليات التشغيل السابقة، وهو ما يناسب العمل الذي يحتاج إلى الرجوع إلى النتيجة السابقة | +| **البداية** / **النهاية (اختياري)** | حدود الجدول. من دون وقت انتهاء يستمر الروتين بلا أجل | + +يُسجَّل النموذج ومستوى الذكاء عند الحفظ، ولذلك يُظهر سجل التشغيل ما عمل به كل تشغيل فعليًا. + +### الجدولة + +اختر التكرار من الإعدادات الجاهزة: **كل ساعة** عند دقيقة محدّدة، و**يوميًا** و**أيام العمل** عند وقت محدّد، و**أسبوعيًا** في يوم من الأسبوع ووقت، و**شهريًا** في يوم ووقت. + +لما هو أدقّ من ذلك، اختر **مخصص (RRULE)** واكتب قاعدة وفق RFC 5545، مثل `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. وللقاعدة المخصّصة هذه الحدود: + +- يجب أن يكون التكرار `HOURLY` أو `DAILY` أو `WEEKLY` أو `MONTHLY` أو `YEARLY`، وأن يفصل بين تشغيلين ساعة واحدة على الأقل. +- يمكن استخدام `INTERVAL` و`COUNT` و`BYDAY` و`BYMONTHDAY` و`BYMONTH`، إضافةً إلى `BYMINUTE` واحد و`BYHOUR` واحد. الحد الأقصى لـ `COUNT` هو 1000، ويتطلّب `COUNT` أو `INTERVAL` ضبط وقت **البداية**. +- المنطقة الزمنية والحدود تأتي من النموذج، ولذلك تُرفض `TZID` و`DTSTART` و`UNTIL` و`BYSECOND`. + +أما الجدول الذي يعمل مرة واحدة فيُكتب بقاعدة مخصّصة مع `COUNT=1`. + +يُحتسب الجدول بالمنطقة الزمنية لمن أنشأ الروتين، ولا يتبع من يطّلع عليه. أما الوقت المعروض في **التشغيل التالي** فقد حُوِّل بالفعل إلى توقيتك المحلي. + +## المسودّة والتحديث والتشغيل الفوري + +الروتين الجديد مسودّة، ولا يعمل وفق الجدول حتى تفعّله. وعند تعديل روتين مفعَّل تُحفظ التغييرات كمسودّة أيضًا، بينما تواصل النسخة العاملة التشغيل بالإعدادات القديمة: انقر **تحديث** لتطبيقها، أو **تجاهل التغييرات** للتخلّص منها. + +يُنفّذ **تشغيل الآن** مرة واحدة من دون انتظار الجدول، وهو مفيد للتحقّق من المطالبة. ولا يمكن تشغيل الروتين يدويًا مرة أخرى قبل انتهاء تشغيله السابق. + +أوقف المفتاح لتعطيله؛ عندها يتوقّف الجدول عن الاستثارة، ويبقى سجل التشغيل الحالي كما هو. + +## سجل التشغيل + +افتح الروتين وانتقل إلى **سجل التشغيل**. يمكن تصفية القائمة حسب الحالة والنطاق الزمني، وهو ما يساعد على تحديد إخفاق بعينه؛ وعند اختيار تشغيل تظهر أوقات التخطيط والبدء والانتهاء والمدة، إضافةً إلى محادثة ذلك التشغيل كاملة. + +تُعرض حالات التشغيل كالآتي: **في قائمة الانتظار**، **قيد التشغيل**، **مكتمل**، **فشل**، **ملغى**. وتظهر **ملغى** حين يقاطع أحدهم ذلك التشغيل، أو حين يكون الروتين أو قاعدته قد حُذف. + +يذكر التشغيل الذي انتهى بـ**فشل** سببه، ولكل سبب استجابة مختلفة: + +| الرسالة | المعنى | ما العمل | +| --- | --- | --- | +| **فشل التشغيل** | بدأ التشغيل لكنه اصطدم بخطأ | افتح محادثة ذلك التشغيل، واستدلّ من موضع الخطأ على ما إذا كان السبب في المطالبة أم في البيانات | +| **انتهت مهلة التشغيل** | تجاوز التشغيل **الحد الأقصى لمدة التشغيل** فأُوقف | ارفع **الحد الأقصى لمدة التشغيل**، أو قسّم المطالبة إلى وحدات عمل أصغر | +| **تم التخطي: الأرصدة غير كافية** | نفدت الأرصدة فلم يبدأ التشغيل | اشحن أرصدة المساحة | +| **تم التخطي: كان التشغيل السابق لا يزال جاريًا** | لم ينتهِ التشغيل السابق، فتُخطّي هذا الموعد | اخفض التكرار، أو قلّل حجم ما يعالجه التشغيل الواحد | +| **تم التخطي: انتهت مهلة الانتظار في قائمة الانتظار** | انتظر التشغيل طويلًا في الطابور فتُخطّي | الحالة المتفرّقة لا تستدعي شيئًا؛ أما تكرارها فيعني ازدحام الجدولة في وقت واحد، ففرّق بين المواعيد | + +محادثة التشغيل للقراءة فقط. ويستطيع الأعضاء الذين يملكون تعديل الروتين متابعتها في آخرها لتتبّع كيف جرى تشغيل بعينه. + +يتطلّب الاطلاع على سجل التشغيل صلاحية تعديل الروتين. ويستطيع مالك القاعدة ومنشئها إنشاء الروتينات وتعديلها وحذفها، بينما يملك بقية المتعاونين صلاحية الاطلاع فقط. + +## تنبيهات الإخفاق والتعطيل التلقائي + +يرسل Teable إشعارًا عند إخفاق تشغيل أو نفاد الأرصدة. ويصل الإشعار إلى العضو الذي حدّث الروتين آخر مرة، ويظهر اسمه أعلى سجل التشغيل عند **ستُرسل الإشعارات إلى**. ولا تُرسل إشعارات الإخفاق في كل مرة، حتى لا تُغرق سلسلةٌ طويلة من الإخفاقات من يتلقّاها. + +بعد 5 إخفاقات متتالية يُعطَّل الروتين تلقائيًا، ويصل إشعار منفصل بذلك. أعِد تشغيل المفتاح بعد معالجة السبب؛ ويُصفَّر العدّاد بعد أول تشغيل ناجح. + +ولا يُحتسب كل تشغيل غير ناجح ضمن هذا العدد: فالتشغيل الذي تُخطّي لأن السابق كان لا يزال جاريًا أو لانتهاء مهلة الانتظار في الطابور، وكذلك التشغيل **ملغى**، لا يُعدّ إخفاقًا ولا يُنتج إشعارًا. أما نقص الأرصدة فيُحتسب، ولذلك يؤدّي تركها من دون شحن إلى التعطيل في النهاية. + +## أسئلة شائعة + + + + نعم. كل تشغيل محادثة ذكاء اصطناعي، ويُحتسب على أرصدة المساحة حسب الاستخدام الفعلي، ويظهر في **ملخص استخدام الأرصدة** في صفحة الفوترة تحت النوع **روتين**. وعند نفاد الأرصدة يُتخطّى التشغيل ويُرسل إشعار، ويؤدّي تكرار التخطي إلى التعطيل. + + + + لا. يُحفظ التعديل كمسودّة، ولا يصل إلى النسخة العاملة إلا عند النقر على **تحديث**. أما التشغيل الجاري فيُكمل بالإعدادات التي بدأ بها. + + + + نعم. بعد تثبيت القالب تُفعَّل روتيناته كما تُفعَّل مسارات العمل فيه. أما الجدول الذي لا موعد قادم له فيبقى مسودّة. + + + + حين يقترب السياق من حدّه يضغط Teable المحادثة، فلا ينقطع التشغيل لهذا السبب. واختر **محادثة جديدة لكل تشغيل** إذا أردت أن يبدأ كل تشغيل بسياق نظيف. + + diff --git a/ar/basic/credential.mdx b/ar/basic/credential.mdx index 3a330fc5..0704dc70 100644 --- a/ar/basic/credential.mdx +++ b/ar/basic/credential.mdx @@ -7,7 +7,7 @@ description: أدر اتصالاتك وأسرارك وامنحها للتطبي عندما يستدعي تطبيق أو أتمتة خدمة خارجية، فإنه يستخدم **بيانات اعتمادك أنت**. بيانات الاعتماد ملك لك لا للتطبيق أو الأتمتة، وهي على نوعين: -- **الاتصالات**: حسابات لدى جهات خارجية تمنح Teable حق الوصول إليها عبر OAuth، مثل Slack أو Airtable أو Google Sheets. +- **الاتصالات**: حسابات لدى جهات خارجية تمنح Teable حق الوصول إليها، مثل Slack أو Airtable أو Google Sheets. - **الأسرار**: سلاسل نصية تحفظها بنفسك، مثل مفتاح API أو رمز وصول. تُدار بيانات الاعتماد في **الإعدادات** ← **التكاملات**، ومنها تمنحها لتطبيق أو أتمتة بعينها. وبعد المنح، يستخدم كل من يشغّل ذلك التطبيق أو تلك الأتمتة بيانات اعتماد الشخص الذي منحها. ولا تُعرض القيمة لأحد، كما تُخفى في نتائج اختبار الأتمتة. @@ -24,7 +24,11 @@ description: أدر اتصالاتك وأسرارك وامنحها للتطبي | **القيمة** | مخصصة للكتابة فقط بعد الحفظ؛ أدخل قيمة جديدة لاستبدالها | | **الوصف** | اختياري، لتوضيح الغرض من السرّ | -يُضاف الاتصال عبر **ربط حساب جديد**. وعند انتهاء صلاحية التصريح، يظهر في الاتصال زر **إعادة الربط**. +يُضاف الاتصال عبر **ربط حساب جديد**. اكتب اسم الخدمة في مربّع البحث: تتصدّر القائمة الخدمات التي يتكامل معها Teable بنفسه، وتحتها تجمع مجموعة **مُدارة بواسطة Composio** مئات الخدمات الأخرى التي يصرّح لها Composio. ويُمنح النوعان للتطبيقات والأتمتة بالطريقة نفسها، ولا يكشف أيٌّ منهما قيمته؛ والفارق الوحيد هو كيفية قراءة شيفرة التطبيق لهما، كما هو مبيّن في «قراءة بيانات الاعتماد في الشيفرة» أدناه. + +تُنجَز معظم الخدمات بجولة OAuth واحدة. أما الخدمة التي تحمل وسم **يتصل عبر مفتاح API** فتفتح نافذة ربط وتطلب المفتاح الذي أصدرته لك تلك الخدمة؛ ويحتفظ Composio بهذه القيمة ويوقّع بها كل طلب، ولا يخزّنها Teable. + +وعند انتهاء صلاحية التصريح، يظهر في الاتصال زر **إعادة الربط**. يبيّن كل عنصر عدد الموارد التي تستخدمه حاليًا. ويفتح زر **عرض** قائمة التطبيقات والأتمتة، مع وقت منح التفويض لكل عنصر، حيث يمكنك **إزالة التفويض** عن أي عنصر منها. @@ -53,6 +57,7 @@ description: أدر اتصالاتك وأسرارك وامنحها للتطبي | حقول الإدخال في الأتمتة | انقر على **إدراج سرّ** بجوار الحقل واختر سرًّا مفوَّضًا | | الأسرار داخل التطبيق | تقرأ الشيفرة من جانب الخادم `process.env.MY_API_KEY` | | الاتصالات داخل التطبيق | تستدعي الشيفرة من جانب الخادم `getConnectionToken('ALIAS')` للحصول على رمز وصول | +| الاتصالات المُدارة بواسطة Composio داخل التطبيق | لا رمز وصول لها يمكن استبداله؛ فتستدعي الشيفرة من جانب الخادم `callConnection('ALIAS', { ... })` بدلًا من ذلك، ويتولّى Composio توقيع الطلب على الخادم | عند لصق قيمة تشبه المفتاح في أحد حقول الأتمتة، يحفظها Teable بوصفها سرًّا لك ويترك مكانها مرجعًا، فلا يصل النص الصريح إلى إعدادات سير العمل. وإذا أردت إبقاء النص كما هو، فانقر على **تراجع** في التنبيه. diff --git a/ar/basic/table.mdx b/ar/basic/table.mdx index 9b03e052..ef30b2c8 100644 --- a/ar/basic/table.mdx +++ b/ar/basic/table.mdx @@ -136,7 +136,7 @@ description: "أنشئ الجداول واستوردها وشاركها وأدر /> - فعّل **حقل البحث** لاختيار الحقول المطلوب البحث فيها. يدعم هذا الوضع حقول التاريخ بالإضافة إلى الحقول النصية. -- عطّل **حقل البحث** لإجراء بحث تقريبي عبر جميع الحقول المدعومة. لا يشمل البحث العام حقول التاريخ أو مربعات الاختيار أو الأزرار. وقد تحد نسختك أيضًا من عدد الحقول التي يمكن للبحث العام تغطيتها. +- عطّل **حقل البحث** لإجراء بحث تقريبي عبر الحقول الظاهرة في العرض الحالي؛ أما الحقول المخفية في ذلك العرض فلا تدخل في المطابقة. لا يشمل البحث العام حقول التاريخ أو مربعات الاختيار أو الأزرار. وقد تحد نسختك أيضًا من عدد الحقول التي يمكن للبحث العام تغطيتها. - فعّل **إخفاء الصفوف غير المطابقة** لإظهار السجلات المطابقة فقط. وعطّله لإبقاء جميع الصفوف ظاهرة وتمييز المطابقات. - بالنسبة إلى الجداول الكبيرة، يمكن للمحررين تمكين **الفهرس** لتحسين سرعة البحث. وقد يؤثر إنشاء الفهرس أو تحديثه مؤقتًا في أداء القراءة والكتابة. diff --git a/de/basic/admin-panel/overview.mdx b/de/basic/admin-panel/overview.mdx index 9bb8fc87..4a48cc22 100644 --- a/de/basic/admin-panel/overview.mdx +++ b/de/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ Das Admin-Panel gruppiert seine Seiten nach Zweck: - **[Computed Outbox](/de/basic/admin-panel/computed-outbox)**: Zustellung berechneter Aufgaben, Warteschlangenzustand und Datenbankrückstau überwachen - **[KI-Generierungswarteschlange](/de/basic/admin-panel/ai-generation-queue)**: Status der KI-Feldgenerierung in der aktuellen selbst gehosteten Instanz prüfen - **[Sandbox-Agent](/de/basic/admin-panel/sandbox-agent)**: Sandbox-Agent konfigurieren und verwalten +- **[Schema integrity](/de/basic/admin-panel/schema-integrity)**: Schema-Prüfungen für jede Base ausführen und Gefundenes reparieren - **[Audit-Protokoll](/de/basic/admin-panel/audit-log)**: Aktuelle Instanzaktivitäten und Operationsdetails prüfen ## Administratorberechtigungen diff --git a/de/basic/admin-panel/schema-integrity.mdx b/de/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..0ddfe1d2 --- /dev/null +++ b/de/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Abweichungen zwischen den Felddefinitionen einer Base und ihrer Datenbankstruktur untersuchen und beheben." +--- + +Verfügbar ab dem selbst gehosteten Business-Plan + +Pfad: Administrationsbereich → Schema integrity + +Die Felddefinitionen, die Teable führt, und die tatsächliche Struktur in der Datenbank sollen einander entsprechen. Laufen sie auseinander, sehen Nutzende Felder, die sich nicht öffnen lassen, Verknüpfungsfelder ohne Werte oder eine Tabelle, deren Lese- und Schreibvorgänge fortlaufend fehlschlagen, ohne erkennbare Ursache. **Schema integrity** findet solche Probleme und behebt sie. + +Ein Instanz-Admin kann jede Base der Instanz prüfen, ohne vorher deren Space beizutreten, Mandanten mit kundeneigener Datenbank (BYODB) eingeschlossen. + +## Prüfung ausführen + +Suchen Sie die Base über das Suchfeld, nach Base, Space, Tabellen-ID oder Name. Die Trefferliste zeigt den zugehörigen **Space**, die verwendete **Data DB** (Standard oder BYODB) und die **Runtime** (v1 oder v2); daran erkennen Sie, dass Sie die richtige erwischt haben. Derselbe Base-Name in verschiedenen Spaces ist häufig. + +Klicken Sie in dieser Zeile auf **Check** und im Dialog **Schema-Integrität** auf **Prüfung starten**. + +## Ergebnisse lesen + +Die Ergebnisse stehen pro Feld und Regel in vier Zuständen: + +| Zustand | Bedeutung | Was zu tun ist | +| --- | --- | --- | +| **Fehler** | Das Verknüpfungsziel des Felds gibt es nicht mehr, oder die Feldkonfiguration passt nicht zur tatsächlichen Struktur in der Datenbank | Das ist die direkte Ursache fehlschlagender Lese- und Schreibvorgänge und muss behoben werden | +| **Warnung** | Weicht von der erwarteten Struktur ab, liest und schreibt aber weiterhin korrekt | Beheben, oder notieren und beobachten | +| **Übersprungen** | Die Regel gilt für dieses Feld nicht und hat nichts beurteilt | Nichts zu tun | +| **Erfolg** | Entspricht der Erwartung | Nichts zu tun | + +Beginnen Sie mit **Fehler**: Eine von Nutzenden gemeldete Störung fällt fast immer in diese Kategorie. Eine **Warnung** erklärt die aktuelle Störung nicht, kann sich aber mit weiteren Änderungen an der Feldstruktur zu einem Fehler entwickeln und lohnt sich deshalb, sobald die Fehler erledigt sind. + +## Reparieren + +Sie können Regel für Regel **Reparieren** oder mit **Nur Warnungen reparieren** beziehungsweise **Warnungen und Fehler reparieren** in einem Zug arbeiten. Während Sie einer laufenden Störung nachgehen, beheben Sie die Fehler einzeln und prüfen, ob die Störung weg ist, bevor Sie sich den Warnungen zuwenden. So lässt sich ein neues Problem auf eine einzelne Änderung zurückführen. + +Eine Reparatur ändert nur die Tabellenstruktur, nicht den Inhalt der Datensätze. Nutzen Sie vorher die Vorschau neben der Reparaturschaltfläche: **Reparaturdetails bestätigen** zeigt die Begründung und das SQL aus dem Probelauf, und nichts wird ausgeführt, bevor Sie bestätigen. + +Manche Regeln lassen sich nicht automatisch reparieren und zeigen stattdessen **Manuell**; der Dialog erklärt dann, warum das Problem eine Person braucht. Liefert der Probelauf kein ausführbares SQL, sagt der Dialog das ausdrücklich, und auch dieser Fall braucht eine Person. + +Klicken Sie nach der Reparatur auf **Erneut prüfen**, um zu bestätigen, dass das Problem weg ist. diff --git a/de/basic/ai/ai-chat.mdx b/de/basic/ai/ai-chat.mdx index 4b6c6b59..86ba5f4c 100644 --- a/de/basic/ai/ai-chat.mdx +++ b/de/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ Wenn Sie einen langen Block mit Klartext einfügen, wandelt Teable ihn in einen - **Dateien verwalten**: Öffnen Sie **+** → **Mehr** → **Dateien verwalten**, um Dateien in der Sandbox des aktuellen Chats anzuzeigen. Sie können unterstützte Dateien in der Vorschau anzeigen, Dateien herunterladen oder nicht mehr benötigte Dateien und Ordner löschen. Eine Unterhaltung muss bestehen, bevor ihre Dateien verwaltet werden können. - **Nachrichtenwarteschlange**: Das Senden einer weiteren Nachricht, während die KI arbeitet, unterbricht sie nicht. Die Nachricht wartet in einer Warteschlange über dem Eingabefeld und wird gesendet, wenn der aktuelle Durchlauf endet. Elemente in der Warteschlange behalten dieselben Chips für Tabelle, Ansicht, Anhang und Auswahl wie die Chat-Eingabe; **Entfernen** verwirft eines, **...** → **Nachricht bearbeiten** legt es zurück in das Eingabefeld, und ein reines Textelement bietet zusätzlich **Steuern**, um seinen Text an den laufenden Durchlauf zu übergeben, statt zu warten. +## Chats verwalten + +Über **Verlauf** oben rechts im Chatbereich sehen Sie Ihre Chats in der aktuellen Base und können sie nach Namen durchsuchen. + +Der Punkt neben einem Chatnamen zeigt, welche Chats Sie brauchen. **Wartet auf Ihre Antwort** bedeutet, dass der Durchlauf an einer Stelle steht, die Sie braucht: eine Rückfrage des Agenten, eine Autorisierung, eine Tabellenauswahl oder eine Anfrage nach Anmeldedaten. Vor Ihrer Antwort geht es nicht weiter. **Antwort fehlgeschlagen** heißt, dass die letzte Antwort nicht sauber beendet wurde; öffnen Sie den Chat und fragen Sie erneut. **Wird generiert …** und der Ungelesen-Punkt melden nur Fortschritt und neue Antworten und verlangen nichts von Ihnen. + +Das Menü **...** eines Chats bietet **Anheften**, **Umbenennen**, **Archivieren** und Löschen. Löschen entfernt auch alle Nachrichten und lässt sich nicht rückgängig machen. + +Der Verlauf zeigt die 100 neuesten Chats. Heften Sie an, was Sie häufig brauchen: Ein angehefteter Chat steht vorn und ist von dieser Grenze ausgenommen, wird also nicht verdrängt, wenn neue Chats dazukommen. Sie können einen Chat auch per Ziehen umsortieren. + +Chats des App-Builders sind nach ihrer App benannt und lassen sich nicht archivieren. + +### Archivierte Chats + +Archivieren nimmt einen Chat aus dem Verlauf, ohne etwas zu löschen. Über Ihr Profilbild unten links → **Einstellungen** → **Archivierte Chats** sehen Sie die Chats, die Sie in verschiedenen Bases archiviert haben. **Wiederherstellen** bringt einen Chat in den Verlauf seiner Base zurück; hier können Sie ihn auch löschen, sobald Sie sicher sind, dass Sie ihn nicht mehr brauchen. + ## Häufige Anwendungen diff --git a/de/basic/ai/routine.mdx b/de/basic/ai/routine.mdx new file mode 100644 index 00000000..1074b51c --- /dev/null +++ b/de/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: Routine +description: Cuppy führt einen Prompt nach Zeitplan aus; das Ergebnis jedes Laufs steht im Ausführungsverlauf. +--- + +In allen Cloud-Plänen verfügbar; Self-Hosted erfordert Business oder höher. + +Eine Routine übergibt Cuppy einen Prompt und wiederholt ihn nach Zeitplan. Das eignet sich für Arbeit, die niemand von Hand anstoßen soll: ein täglicher Bericht, das regelmäßige Aufräumen abgelaufener Datensätze, eine wöchentliche Auswertung. Jeder Lauf ist ein vollständiger KI-Chat, eine Routine kann also alles, was der KI-Chat kann, einschließlich Lesen und Schreiben von Tabellen, Aufrufen von Skills und Erzeugen von Dateien. + +Eine Routine ist eine Ressource innerhalb einer Base und steht in der linken Seitenleiste neben Tabellen, Apps und Automatisierungen. + +Eine Automatisierung wird durch ein Ereignis ausgelöst, etwa eine Datensatzänderung, ein Formular oder einen Webhook, und führt die Schritte aus, die Sie vorher konfiguriert haben. Eine Routine wird nur durch die Zeit ausgelöst und führt einen Prompt aus, den der Agent selbst auslegt. Nehmen Sie eine Automatisierung, wenn Sie feste Schritte und ein vorhersagbares Ergebnis brauchen; nehmen Sie eine Routine, wenn der Agent jedes Mal selbst entscheiden soll, was mit den aktuellen Daten zu tun ist. + +## Routine erstellen + + + + Klicken Sie in der linken Seitenleiste auf **+** und wählen Sie **Neue Routine**. + + + Beschreiben Sie unter **Prompt**, was jeder Lauf tun soll. Der Prompt ist die vollständige Anweisung für einen Lauf, nennen Sie also die Datenquelle, die Verarbeitung und das Ziel des Ergebnisses. Zum Beispiel: „Werte die Datensätze aus, die gestern in der Tabelle Aufgaben angelegt wurden, gruppiere sie nach zuständiger Person und schreibe die Auswertung in die Tabelle Tagesbericht.“ + + + Wählen Sie unter **Zeitplan** eine Frequenz und setzen Sie bei Bedarf **Beginn** und **Ende (optional)**. + + + Klicken Sie auf **Aktivieren**. Die Konfiguration muss gespeichert sein, und der Zeitplan muss einen künftigen Termin enthalten. + + + +## Einstellungen + +Neben Prompt und Zeitplan enthält das Formular diese Einstellungen: + +| Einstellung | Beschreibung | +| --- | --- | +| **Modell** | Modell und Denkstufe dieser Routine. Bei **Standardmodell** gilt das Standard-Chatmodell des Space | +| **Maximale Laufzeit (Minuten)** | Ein Lauf über diesem Limit wird abgebrochen und als fehlgeschlagen gewertet. 5–120 Minuten, Standard 30 | +| **Chat** | **Neuer Chat für jeden Lauf** hält die Läufe voneinander unabhängig; **Chat des vorherigen Laufs fortsetzen** trägt den Kontext früherer Läufe weiter und eignet sich für Aufgaben, die auf das letzte Ergebnis Bezug nehmen | +| **Beginn** / **Ende (optional)** | Die Grenzen des Zeitplans. Ohne Endzeit läuft die Routine unbegrenzt weiter | + +Modell und Denkstufe werden beim Speichern mit festgehalten, deshalb zeigt der Ausführungsverlauf, womit ein Lauf tatsächlich gelaufen ist. + +### Zeitplan + +Wählen Sie eine Frequenz aus den Vorlagen: **Stündlich** zu einer bestimmten Minute, **Täglich** und **Werktags** zu einer bestimmten Uhrzeit, **Wöchentlich** an einem Wochentag mit Uhrzeit, **Monatlich** an einem Tag mit Uhrzeit. + +Für alles Genauere wählen Sie **Benutzerdefiniert (RRULE)** und schreiben eine RFC-5545-Regel, etwa `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. Für eigene Regeln gelten diese Grenzen: + +- Die Frequenz muss `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY` oder `YEARLY` sein, und zwischen zwei Läufen muss mindestens 1 Stunde liegen. +- Erlaubt sind `INTERVAL`, `COUNT`, `BYDAY`, `BYMONTHDAY`, `BYMONTH` sowie je ein `BYMINUTE` und `BYHOUR`. `COUNT` reicht bis 1000, und `COUNT` oder `INTERVAL` setzt einen **Beginn** voraus. +- Zeitzone und Grenzen kommen aus dem Formular, deshalb werden `TZID`, `DTSTART`, `UNTIL` und `BYSECOND` abgelehnt. + +Einen Zeitplan, der nur einmal läuft, schreiben Sie als eigene Regel mit `COUNT=1`. + +Ein Zeitplan wird in der Zeitzone der Person ausgewertet, die die Routine angelegt hat, und richtet sich nicht nach der betrachtenden Person. Die angezeigte Zeit unter **Nächster Lauf** ist bereits in Ihre lokale Zeit umgerechnet. + +## Entwurf, Aktualisierung und sofortige Ausführung + +Eine neue Routine ist ein Entwurf und läuft erst nach dem Aktivieren nach Zeitplan. Bearbeiten Sie eine aktive Routine, wird die Änderung ebenfalls als Entwurf gespeichert, während die aktive Fassung weiter mit der alten Konfiguration läuft: Mit **Aktualisieren** übernehmen Sie sie, mit **Änderungen verwerfen** verwerfen Sie sie. + +**Jetzt ausführen** führt einmal aus, ohne auf den Zeitplan zu warten; das eignet sich zum Prüfen eines Prompts. Solange der vorherige Lauf nicht beendet ist, lässt sich eine Routine nicht erneut von Hand starten. + +Zum Deaktivieren schalten Sie den Schalter aus. Der Zeitplan löst dann nicht mehr aus, der bestehende Ausführungsverlauf bleibt erhalten. + +## Ausführungsverlauf + +Öffnen Sie die Routine und wechseln Sie zu **Ausführungsverlauf**. Die Liste lässt sich nach Status und Zeitraum filtern, was das Auffinden eines bestimmten Fehlschlags erleichtert; zu einem ausgewählten Lauf sehen Sie geplante, gestartete und beendete Zeit, die Dauer sowie den vollständigen Chat dieses Laufs. + +Läufe werden als **In der Warteschlange**, **Läuft**, **Abgeschlossen**, **Fehlgeschlagen** oder **Abgebrochen** ausgewiesen. **Abgebrochen** erscheint, wenn jemand den Lauf unterbrochen hat oder wenn die Routine oder ihre Base gelöscht wurde. + +Ein Lauf mit **Fehlgeschlagen** nennt seinen Grund, und jeder Grund verlangt eine andere Reaktion: + +| Meldung | Bedeutung | Was zu tun ist | +| --- | --- | --- | +| **Ausführung fehlgeschlagen** | Der Lauf hat begonnen, ist aber auf einen Fehler gestoßen | Öffnen Sie den Chat dieses Laufs und beurteilen Sie an der Fehlerstelle, ob der Prompt oder die Daten die Ursache sind | +| **Zeitüberschreitung bei der Ausführung** | Der Lauf hat die **Maximale Laufzeit** überschritten und wurde abgebrochen | Erhöhen Sie die **Maximale Laufzeit** oder teilen Sie den Prompt in kleinere Arbeitsschritte | +| **Übersprungen: nicht genügend Guthaben** | Das Guthaben war aufgebraucht, der Lauf hat nicht begonnen | Guthaben des Space aufstocken | +| **Übersprungen: die vorherige Ausführung lief noch** | Der vorherige Lauf war nicht fertig, dieser Termin wurde übersprungen | Frequenz senken oder das Arbeitspensum eines Laufs verkleinern | +| **Übersprungen: Zeitüberschreitung beim Warten in der Warteschlange** | Der Lauf hat zu lange in der Warteschlange gewartet und wurde übersprungen | Einzelfälle brauchen keine Reaktion; tritt es wiederholt auf, ist zu viel gleichzeitig geplant, verteilen Sie die Zeitpläne | + +Der Chat eines Laufs ist schreibgeschützt. Mitglieder, die die Routine bearbeiten dürfen, können am Ende weiterfragen, um nachzuvollziehen, wie ein bestimmter Lauf vorgegangen ist. + +Der Ausführungsverlauf setzt die Berechtigung zum Bearbeiten der Routine voraus. Besitzer und Ersteller einer Base können Routinen anlegen, bearbeiten und löschen; andere Mitarbeitende haben Lesezugriff. + +## Fehlerbenachrichtigung und automatische Deaktivierung + +Teable benachrichtigt, wenn ein Lauf fehlschlägt oder das Guthaben nicht reicht. Die Benachrichtigung geht an das Mitglied, das die Routine zuletzt aktualisiert hat; oben im Ausführungsverlauf steht unter **Benachrichtigungen werden gesendet an**, wer das ist. Fehlerbenachrichtigungen gehen nicht bei jedem einzelnen Fehlschlag raus, damit eine längere Fehlerserie niemanden überschwemmt. + +Nach 5 Fehlschlägen in Folge wird die Routine automatisch deaktiviert, dazu geht eine eigene Benachrichtigung raus. Schalten Sie den Schalter wieder ein, sobald das Problem behoben ist; der Zähler wird nach dem nächsten erfolgreichen Lauf zurückgesetzt. + +Nicht jeder erfolglose Lauf zählt dabei mit: Läufe, die übersprungen wurden, weil der vorherige noch lief oder weil die Wartezeit in der Warteschlange abgelaufen ist, sowie **Abgebrochen**-Läufe gelten nicht als Fehlschlag und lösen keine Benachrichtigung aus. Fehlendes Guthaben zählt mit, deshalb führt dauerhaft nicht aufgestocktes Guthaben zur Deaktivierung. + +## Häufige Fragen + + + + Ja. Jeder Lauf ist ein KI-Chat und wird nach tatsächlichem Verbrauch dem Guthaben des Space belastet; auf der Abrechnungsseite steht er in der **Guthabenübersicht** unter dem Typ **Routine**. Reicht das Guthaben nicht, wird der Lauf übersprungen und eine Benachrichtigung verschickt; wiederholtes Überspringen führt zur Deaktivierung. + + + + Nein. Die Änderung wird als Entwurf gespeichert und erreicht die aktive Fassung erst mit **Aktualisieren**. Ein bereits laufender Lauf behält die Konfiguration, mit der er gestartet ist. + + + + Ja. Nach der Installation einer Vorlage werden deren Routinen ebenso eingeschaltet wie deren Workflows. Ein Zeitplan ohne künftigen Termin bleibt ein Entwurf. + + + + Nähert sich der Kontext seiner Grenze, verdichtet Teable den Chat; Läufe brechen deswegen nicht ab. Wählen Sie **Neuer Chat für jeden Lauf**, wenn jeder Lauf mit einem sauberen Kontext beginnen soll. + + diff --git a/de/basic/credential.mdx b/de/basic/credential.mdx index 3ad05d03..d5bf9ec0 100644 --- a/de/basic/credential.mdx +++ b/de/basic/credential.mdx @@ -7,7 +7,7 @@ description: Verwalten Sie Ihre Verbindungen und Secrets und geben Sie sie für Ruft eine App oder eine Automatisierung einen externen Dienst auf, verwendet sie **Ihre Zugangsdaten**. Zugangsdaten gehören Ihnen und nicht der App oder der Automatisierung. Es gibt zwei Arten: -- **Verbindungen**: Konten von Drittanbietern, die Sie Teable per OAuth freigeben, etwa Slack, Airtable oder Google Sheets. +- **Verbindungen**: Konten von Drittanbietern, die Sie für Teable freigeben, etwa Slack, Airtable oder Google Sheets. - **Secrets**: Zeichenfolgen, die Sie selbst hinterlegen, etwa ein API-Schlüssel oder ein Zugriffstoken. Verwaltet werden Zugangsdaten unter **Einstellungen** → **Integrationen**; von dort geben Sie sie für einzelne Apps und Automatisierungen frei. Nach der Freigabe verwenden alle, die diese App oder Automatisierung ausführen, die Zugangsdaten der freigebenden Person. Der Wert wird niemandem angezeigt, und Testergebnisse einer Automatisierung maskieren ihn. @@ -24,7 +24,11 @@ Klicken Sie unten links auf Ihr Profilbild und öffnen Sie **Einstellungen** → | **Wert** | Nach dem Speichern nur schreibbar; geben Sie einen neuen Wert ein, um ihn zu ersetzen | | **Beschreibung** | Optional, um festzuhalten, wofür das Secret dient | -Eine Verbindung fügen Sie über **Neues Konto verbinden** hinzu. Läuft eine Autorisierung ab, bietet die Verbindung **Neu verbinden** an. +Eine Verbindung fügen Sie über **Neues Konto verbinden** hinzu. Tippen Sie einen Dienstnamen in das Suchfeld: Oben stehen die Dienste, die Teable selbst anbindet, darunter hält die Gruppe **Von Composio verwaltet** mehrere hundert weitere bereit, die Composio autorisiert. Beide Arten werden auf dieselbe Weise an Apps und Automatisierungen vergeben, und keine gibt ihren Wert preis; sie unterscheiden sich nur darin, wie App-Code sie liest. Siehe dazu „Anmeldedaten im Code lesen“ weiter unten. + +Die meisten Dienste brauchen nur einen OAuth-Durchlauf. Ein Dienst mit dem Hinweis **Verbindung über einen API-Schlüssel** öffnet stattdessen einen Verbindungsdialog und fragt nach dem Schlüssel, den dieser Dienst Ihnen ausgestellt hat; Composio verwahrt diesen Wert und signiert damit jede Anfrage, Teable speichert ihn nicht. + +Läuft eine Autorisierung ab, bietet die Verbindung **Neu verbinden** an. Bei jedem Eintrag steht, wie viele Ressourcen ihn derzeit verwenden. **Anzeigen** öffnet die Liste der Apps und Automatisierungen, jeweils mit dem Zeitpunkt der Freigabe, in der Sie für einzelne Einträge die **Freigabe entfernen** können. @@ -53,6 +57,7 @@ Gehören die Zugangsdaten hinter einem Alias jemand anderem, übernehmen Sie ihn | Eingabefelder in Automatisierungen | Neben dem Feld auf **Secret einfügen** klicken und ein freigegebenes Secret wählen | | Secrets in einer App | Serverseitiger Code liest `process.env.MY_API_KEY` | | Verbindungen in einer App | Serverseitiger Code ruft `getConnectionToken('ALIAS')` für ein Zugriffstoken auf | +| Von Composio verwaltete Verbindungen in einer App | Diese haben kein Zugriffstoken zum Eintauschen; serverseitiger Code ruft stattdessen `callConnection('ALIAS', { ... })` auf, und Composio signiert die Anfrage serverseitig | Fügen Sie in ein Eingabefeld einer Automatisierung etwas ein, das wie ein Schlüssel aussieht, speichert Teable es als Ihr Secret und lässt an der Stelle einen Verweis stehen, sodass der Klartext nicht in der Workflow-Konfiguration landet. Soll der Text so bleiben, wie Sie ihn eingefügt haben, klicken Sie im Hinweis auf **Rückgängig**. diff --git a/de/basic/table.mdx b/de/basic/table.mdx index 78a6487c..45953eaf 100644 --- a/de/basic/table.mdx +++ b/de/basic/table.mdx @@ -136,7 +136,7 @@ Tabellen verwenden standardmäßig eine [Rasteransicht](/de/basic/view/grid) und /> - Aktivieren Sie **Suchfeld**, um die zu durchsuchenden Felder auszuwählen. Dieser Modus unterstützt zusätzlich zu Textfeldern auch Datumsfelder. -- Deaktivieren Sie **Suchfeld**, um eine unscharfe Suche über alle unterstützten Felder auszuführen. Die globale Suche umfasst keine Datums-, Kontrollkästchen- oder Schaltflächenfelder. Ihre Instanz kann außerdem die Anzahl der Felder begrenzen, die von der globalen Suche abgedeckt werden. +- Deaktivieren Sie **Suchfeld**, um eine unscharfe Suche über die in der aktuellen Ansicht sichtbaren Felder auszuführen; in dieser Ansicht ausgeblendete Felder werden nicht berücksichtigt. Die globale Suche umfasst keine Datums-, Kontrollkästchen- oder Schaltflächenfelder. Ihre Instanz kann außerdem die Anzahl der Felder begrenzen, die von der globalen Suche abgedeckt werden. - Aktivieren Sie **Nicht übereinstimmende Zeilen ausblenden**, um nur passende Datensätze anzuzeigen. Deaktivieren Sie die Option, damit alle Zeilen sichtbar bleiben und Übereinstimmungen hervorgehoben werden. - Bei großen Tabellen können Bearbeiter **Index** aktivieren, um die Suchgeschwindigkeit zu verbessern. Das Erstellen oder Aktualisieren des Index kann die Lese- und Schreibleistung vorübergehend beeinträchtigen. diff --git a/docs.json b/docs.json index a2b13eef..122b43bd 100644 --- a/docs.json +++ b/docs.json @@ -544,6 +544,7 @@ "pages": [ "en/basic/ai/overview", "en/basic/ai/ai-chat", + "en/basic/ai/routine", { "group": "App Builder", "pages": [ @@ -812,6 +813,7 @@ "en/basic/admin-panel/table-query-ops", "en/basic/admin-panel/computed-outbox", "en/basic/admin-panel/ai-generation-queue", + "en/basic/admin-panel/schema-integrity", "en/basic/admin-panel/audit-log", "en/basic/admin-panel/announcements", "en/basic/admin-panel/sandbox-agent" @@ -918,6 +920,7 @@ "pages": [ "zh/basic/ai/overview", "zh/basic/ai/ai-chat", + "zh/basic/ai/routine", { "group": "应用构建器", "pages": [ @@ -1188,6 +1191,7 @@ "zh/basic/admin-panel/table-query-ops", "zh/basic/admin-panel/computed-outbox", "zh/basic/admin-panel/ai-generation-queue", + "zh/basic/admin-panel/schema-integrity", "zh/basic/admin-panel/audit-log", "zh/basic/admin-panel/announcements", "zh/basic/admin-panel/sandbox-agent" @@ -1294,6 +1298,7 @@ "pages": [ "ru/basic/ai/overview", "ru/basic/ai/ai-chat", + "ru/basic/ai/routine", { "group": "Конструктор приложений", "pages": [ @@ -1562,6 +1567,7 @@ "ru/basic/admin-panel/table-query-ops", "ru/basic/admin-panel/computed-outbox", "ru/basic/admin-panel/ai-generation-queue", + "ru/basic/admin-panel/schema-integrity", "ru/basic/admin-panel/audit-log", "ru/basic/admin-panel/announcements", "ru/basic/admin-panel/sandbox-agent" @@ -1668,6 +1674,7 @@ "pages": [ "de/basic/ai/overview", "de/basic/ai/ai-chat", + "de/basic/ai/routine", { "group": "App-Builder", "pages": [ @@ -1936,6 +1943,7 @@ "de/basic/admin-panel/table-query-ops", "de/basic/admin-panel/computed-outbox", "de/basic/admin-panel/ai-generation-queue", + "de/basic/admin-panel/schema-integrity", "de/basic/admin-panel/audit-log", "de/basic/admin-panel/announcements", "de/basic/admin-panel/sandbox-agent" @@ -2042,6 +2050,7 @@ "pages": [ "fr/basic/ai/overview", "fr/basic/ai/ai-chat", + "fr/basic/ai/routine", { "group": "Créateur d’applications", "pages": [ @@ -2310,6 +2319,7 @@ "fr/basic/admin-panel/table-query-ops", "fr/basic/admin-panel/computed-outbox", "fr/basic/admin-panel/ai-generation-queue", + "fr/basic/admin-panel/schema-integrity", "fr/basic/admin-panel/audit-log", "fr/basic/admin-panel/announcements", "fr/basic/admin-panel/sandbox-agent" @@ -2416,6 +2426,7 @@ "pages": [ "es/basic/ai/overview", "es/basic/ai/ai-chat", + "es/basic/ai/routine", { "group": "App Builder", "pages": [ @@ -2684,6 +2695,7 @@ "es/basic/admin-panel/table-query-ops", "es/basic/admin-panel/computed-outbox", "es/basic/admin-panel/ai-generation-queue", + "es/basic/admin-panel/schema-integrity", "es/basic/admin-panel/audit-log", "es/basic/admin-panel/announcements", "es/basic/admin-panel/sandbox-agent" @@ -2790,6 +2802,7 @@ "pages": [ "it/basic/ai/overview", "it/basic/ai/ai-chat", + "it/basic/ai/routine", { "group": "App Builder", "pages": [ @@ -3058,6 +3071,7 @@ "it/basic/admin-panel/table-query-ops", "it/basic/admin-panel/computed-outbox", "it/basic/admin-panel/ai-generation-queue", + "it/basic/admin-panel/schema-integrity", "it/basic/admin-panel/audit-log", "it/basic/admin-panel/announcements", "it/basic/admin-panel/sandbox-agent" @@ -3164,6 +3178,7 @@ "pages": [ "ja/basic/ai/overview", "ja/basic/ai/ai-chat", + "ja/basic/ai/routine", { "group": "App Builder", "pages": [ @@ -3432,6 +3447,7 @@ "ja/basic/admin-panel/table-query-ops", "ja/basic/admin-panel/computed-outbox", "ja/basic/admin-panel/ai-generation-queue", + "ja/basic/admin-panel/schema-integrity", "ja/basic/admin-panel/audit-log", "ja/basic/admin-panel/announcements", "ja/basic/admin-panel/sandbox-agent" @@ -3538,6 +3554,7 @@ "pages": [ "tr/basic/ai/overview", "tr/basic/ai/ai-chat", + "tr/basic/ai/routine", { "group": "App Builder", "pages": [ @@ -3806,6 +3823,7 @@ "tr/basic/admin-panel/table-query-ops", "tr/basic/admin-panel/computed-outbox", "tr/basic/admin-panel/ai-generation-queue", + "tr/basic/admin-panel/schema-integrity", "tr/basic/admin-panel/audit-log", "tr/basic/admin-panel/announcements", "tr/basic/admin-panel/sandbox-agent" @@ -3912,6 +3930,7 @@ "pages": [ "uk/basic/ai/overview", "uk/basic/ai/ai-chat", + "uk/basic/ai/routine", { "group": "App Builder", "pages": [ @@ -4180,6 +4199,7 @@ "uk/basic/admin-panel/table-query-ops", "uk/basic/admin-panel/computed-outbox", "uk/basic/admin-panel/ai-generation-queue", + "uk/basic/admin-panel/schema-integrity", "uk/basic/admin-panel/audit-log", "uk/basic/admin-panel/announcements", "uk/basic/admin-panel/sandbox-agent" @@ -4286,6 +4306,7 @@ "pages": [ "ar/basic/ai/overview", "ar/basic/ai/ai-chat", + "ar/basic/ai/routine", { "group": "منشئ التطبيقات", "pages": [ @@ -4554,6 +4575,7 @@ "ar/basic/admin-panel/table-query-ops", "ar/basic/admin-panel/computed-outbox", "ar/basic/admin-panel/ai-generation-queue", + "ar/basic/admin-panel/schema-integrity", "ar/basic/admin-panel/audit-log", "ar/basic/admin-panel/announcements", "ar/basic/admin-panel/sandbox-agent" diff --git a/en/basic/admin-panel/overview.mdx b/en/basic/admin-panel/overview.mdx index 0c57cd35..8a6e1e0c 100644 --- a/en/basic/admin-panel/overview.mdx +++ b/en/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ The Admin Panel groups its pages by purpose: - **[Computed Outbox](/en/basic/admin-panel/computed-outbox)**: Monitor computed task delivery, queue health, and database backlog - **[AI generation queue](/en/basic/admin-panel/ai-generation-queue)**: Review AI field generation status in the current self-hosted instance - **[Sandbox Agent](/en/basic/admin-panel/sandbox-agent)**: Configure and manage Sandbox Agent +- **[Schema integrity](/en/basic/admin-panel/schema-integrity)**: Run schema checks on any base and repair what they find - **[Audit log](/en/basic/admin-panel/audit-log)**: Review recent instance activity and operation details ## Administrator Permissions diff --git a/en/basic/admin-panel/schema-integrity.mdx b/en/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..5282913a --- /dev/null +++ b/en/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Investigate and repair mismatches between a base's field definitions and its database structure." +--- + +Available for self-hosted Business plan and above + +Path: Admin Panel → Schema integrity + +The field definitions Teable holds and the actual structure in the database are meant to match one another. When they drift apart, users see fields that will not open, link fields that return nothing, or a table whose reads and writes keep failing, with no visible cause. **Schema integrity** locates problems of this kind and repairs them. + +An instance admin can check any base in the instance without joining its space first, tenants on a customer-managed database (BYODB) included. + +## Run a Check + +Find the base with the search box, by base, space, table id, or name. The result list shows the **Space** it belongs to, the **Data DB** it uses (default or BYODB), and its **Runtime** (v1 or v2), which is how you confirm you have the right one. The same base name in different spaces is common. + +Click **Check** on that row, then **Run Check** in the **Schema Integrity** dialog. + +## Read the Results + +Results are listed per field and rule, in four states: + +| State | Meaning | What to do | +| --- | --- | --- | +| **Error** | The field's link target no longer exists, or the field configuration does not match the actual structure in the database | This is the direct cause of failing reads and writes, and needs repair | +| **Warning** | It deviates from the expected structure but still reads and writes correctly | Repair it, or note it and watch | +| **Skipped** | The rule does not apply to this field and made no judgement | Nothing to do | +| **Success** | It matches what is expected | Nothing to do | + +Start with **Error**: a fault a user reported almost always lands in this category. A **Warning** does not explain the current fault, but it can turn into an error as the field structure keeps changing, so it is worth clearing once the errors are handled. + +## Repair + +You can **Repair** rule by rule, or work in bulk with **Repair warnings only** or **Repair warnings and errors**. While chasing a live fault, repair the errors one at a time and confirm the fault is gone before handling warnings, so that a new problem can be traced to a single change. + +A repair changes the table structure only; it does not change record content. Before running one, use the preview next to the repair button: **Confirm repair details** shows the reasoning and the SQL the dry run produced, and nothing is executed until you confirm. + +Some rules cannot be repaired automatically and show **Manual** instead; the dialog then explains why the problem needs a person. When the dry run returns no executable SQL, the dialog says so explicitly, and that case needs a person too. + +After repairing, click **Re-check** to confirm the problem is gone. diff --git a/en/basic/ai/ai-chat.mdx b/en/basic/ai/ai-chat.mdx index 8c7c3373..11aaf049 100644 --- a/en/basic/ai/ai-chat.mdx +++ b/en/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ When you paste a long block of plain text, Teable converts it to a Markdown atta - **Manage files**: Open **+** → **More** → **Manage files** to view files in the current chat sandbox. You can preview supported files, download files, or delete files and folders you no longer need. A conversation must exist before its files can be managed. - **Message queue**: Sending another message while AI is working does not interrupt it. The message waits in a queue above the input box and goes out when the current run ends. Queued items keep the same table, view, attachment, and selection chips as the chat input; **Remove** drops one, **...** → **Edit message** puts it back in the input box, and a text-only item also offers **Steer** to hand its text to the running turn instead of waiting. +## Manage Chats + +Click **History** at the top right of the chat panel to see your chats in the current base, and search them by name. + +The dot next to a chat name marks which chats need you. **Waiting for your reply** means the turn has stopped at a point that needs you: a question from the agent, an authorization, a table to pick, or a credential request. It will not continue until you answer. **Reply failed** means the last reply did not finish properly; open it and ask again. **Generating…** and the unread dot only report progress and new replies, and need nothing from you. + +The **...** menu on a chat offers **Pin**, **Rename**, **Archive**, and delete. Deleting also removes all of its messages and cannot be undone. + +History shows the 100 most recent chats. Pin the ones you use often: a pinned chat leads the list and is exempt from that limit, so it is never pushed out as new chats pile up. You can also drag a chat to reposition it. + +App Builder chats are named after their app and cannot be archived. + +### Archived Chats + +Archiving takes a chat out of the history list without deleting anything. Open your avatar at the bottom left → **Settings** → **Archived chats** to see chats you archived across bases. **Restore** brings one back to its base's chat history, and you can delete it here once you are sure you no longer need it. + ## Common Uses diff --git a/en/basic/ai/routine.mdx b/en/basic/ai/routine.mdx new file mode 100644 index 00000000..bff44a7c --- /dev/null +++ b/en/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: Routine +description: Let Cuppy run a prompt on a schedule and review the result of every run. +--- + +Available on all Cloud plans; Self-Hosted requires Business or higher. + +A routine hands a prompt to Cuppy and repeats it on a schedule, which suits work that nobody needs to trigger by hand: a daily report, a periodic cleanup of expired records, a weekly roll-up. Every run is a full AI chat, so a routine can do everything AI chat can, including reading and writing tables, calling skills, and producing files. + +A routine is a resource inside a base and sits in the left sidebar next to tables, apps, and automations. + +An automation fires on an event such as a record change, a form submission, or a webhook, and runs the steps you configured in advance. A routine fires only on time, and runs a prompt the agent interprets itself. Use an automation when you need fixed steps and predictable output; use a routine when you want the agent to decide what to do with the current data each time. + +## Create a Routine + + + + In the left sidebar, click **+** and choose **New routine**. + + + Describe what each run should do in **Prompt**. The prompt is the entire instruction for a run, so state where the data comes from, how to process it, and where the result goes. For example, "Summarize records added to the Tasks table yesterday, group them by owner, and write the summary to the Daily Report table." + + + Choose a frequency under **Schedule**, and set **Starting** and **Ending (optional)** as needed. + + + Click **Activate**. The configuration must be saved first, and the schedule must have a future occurrence. + + + +## Settings + +Besides the prompt and the schedule, the form carries these settings: + +| Setting | Description | +| --- | --- | +| **Model** | The model and effort level this routine runs on. Leave **Default model** to use the space's default chat model | +| **Max run time (minutes)** | A run past this limit is stopped and marked failed. 5–120 minutes; default 30 | +| **Chat** | **New chat for every run** keeps runs independent of each other; **Continue the previous run's chat** carries the context of earlier runs forward, which suits work that needs to refer to the last result | +| **Starting** / **Ending (optional)** | The bounds of the schedule. Without an end time the routine keeps running indefinitely | + +The model and effort level are recorded when you save, so run history shows what each run actually used. + +### Schedule + +Pick a frequency from the presets: **Hourly** at a given minute, **Daily** and **Weekdays** at a given time, **Weekly** on a weekday and time, **Monthly** on a day and time. + +For anything more specific, choose **Custom (RRULE)** and write an RFC 5545 rule, such as `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. A custom rule has these limits: + +- The frequency must be `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY`, or `YEARLY`, and two runs must be at least 1 hour apart. +- You can use `INTERVAL`, `COUNT`, `BYDAY`, `BYMONTHDAY`, `BYMONTH`, plus one `BYMINUTE` and one `BYHOUR`. `COUNT` tops out at 1000, and `COUNT` or `INTERVAL` requires a **Starting** time. +- The timezone and the bounds come from the form, so `TZID`, `DTSTART`, `UNTIL`, and `BYSECOND` are rejected. + +For a schedule that runs only once, use a custom rule with `COUNT=1`. + +A schedule is evaluated in the timezone of whoever created the routine and does not follow the viewer. The **Next run** time shown in the interface is already converted to your local time. + +## Drafts, Updates, and Running Now + +A new routine is a draft and does not run on schedule until you activate it. When you edit an active routine, the change is also saved as a draft while the live version keeps running on the old configuration: click **Update** to apply it, or **Discard changes** to drop it. + +**Run now** executes once without waiting for the schedule, which is useful for checking a prompt. A routine cannot be run by hand again until its previous run has finished. + +Turn the switch off to deactivate. The schedule stops firing, and existing run history is kept. + +## Run History + +Open the routine and switch to **Run history**. The run list can be filtered by status and time range, which helps locate a particular failure; selecting a run shows its planned, started, and finished times, its duration, and the full conversation of that run. + +Runs are reported as **Queued**, **Running**, **Completed**, **Failed**, or **Canceled**. **Canceled** appears when someone interrupted that run, or when the routine or its base has been deleted. + +A **Failed** run states its reason, and each reason calls for a different response: + +| Message | Meaning | What to do | +| --- | --- | --- | +| **Run failed** | The run started but hit an error | Open the conversation for that run and judge from the failure point whether the prompt or the data is at fault | +| **Run timed out** | The run passed **Max run time** and was stopped | Raise **Max run time**, or split the prompt into smaller units of work | +| **Skipped: not enough credits** | Credits ran out, so the run never started | Top up the space's credits | +| **Skipped: the previous run was still in progress** | The previous run had not finished, so this occurrence was skipped | Lower the frequency, or reduce how much one run processes | +| **Skipped: timed out waiting in the queue** | The run waited too long in the queue and was skipped | Occasional occurrences need no action; a recurring one means too much is scheduled at the same time, so stagger the schedules | + +The conversation of a run is read-only. Members who can edit the routine may continue it at the end to investigate how a particular run proceeded. + +Run history requires permission to edit the routine. A base's owner and creator can create, edit, and delete routines; other collaborators have read access. + +## Failure Alerts and Automatic Deactivation + +Teable sends a notification when a run fails or credits run out. It goes to the member who last updated the routine, named under **Notifications will be sent to** at the top of run history. Failure notifications are not sent every single time, so that a long run of failures does not flood the recipient. + +After 5 consecutive failures the routine is deactivated automatically and a separate notification goes out. Turn the switch back on once the problem is fixed; the count resets after the next successful run. + +Not every unsuccessful run counts toward that total: runs skipped because the previous run was still in progress or because they timed out in the queue, along with **Canceled** runs, are not failures and produce no notification. A credit shortfall does count, so leaving credits unfunded eventually deactivates the routine. + +## FAQ + + + + Yes. Every run is an AI chat and is billed against the space's credits by actual usage, listed under type **Routine** in **Credit usage summary** on the billing page. When credits run out the run is skipped and a notification is sent, and repeated skips eventually deactivate the routine. + + + + No. The change is saved as a draft and only reaches the live version when you click **Update**. A run already under way keeps the configuration it started with. + + + + Yes. After a template install its routines are switched on the way its workflows are. A schedule with no future occurrence stays a draft. + + + + When the context approaches its limit, Teable compacts the conversation, so runs are not interrupted by it. Choose **New chat for every run** when each run should start from a clean context. + + diff --git a/en/basic/credential.mdx b/en/basic/credential.mdx index e0cd9cb2..9328b298 100644 --- a/en/basic/credential.mdx +++ b/en/basic/credential.mdx @@ -7,7 +7,7 @@ description: Manage your connections and secrets, and grant them to the apps and When an app or an automation calls an external service, it uses **your credential**. Credentials belong to you, not to the app or automation, and come in two kinds: -- **Connections**: third-party accounts you authorize to Teable over OAuth, such as Slack, Airtable, or Google Sheets. +- **Connections**: third-party accounts you authorize to Teable, such as Slack, Airtable, or Google Sheets. - **Secrets**: strings you store yourself, such as an API key or an access token. You manage credentials in **Settings** → **Integrations** and grant them to individual apps and automations. Once granted, everyone who runs that app or automation uses the granting person's credential. The value is never shown to anyone, and automation test results mask it. @@ -24,7 +24,11 @@ Click your avatar in the lower left, then open **Settings** → **Integrations** | **Value** | Write-only after saving; enter a new value to replace it | | **Description** | Optional, to record what the secret is for | -Add a connection with **Connect new account**. When an authorization expires, the connection offers **Reconnect**. +Add a connection with **Connect new account**. Type a service name in the search box: the services Teable integrates itself are pinned at the top, and the **Managed by Composio** group below holds several hundred more that Composio authorizes. Both kinds are granted to apps and automations the same way, and neither exposes its value; they differ only in how app code reads them, covered under "Read a Credential in Code" below. + +Most services take a single OAuth round trip. A service marked **Connects with an API key** opens a connect dialog instead and asks for the key that service issued you; Composio keeps that value and signs each request with it, and Teable never stores it. + +When an authorization expires, the connection offers **Reconnect**. Each credential shows how many resources currently use it. Click **View** for the list of apps and automations, each marked with when the grant was made, where you can **Remove grant** for any single one. @@ -53,6 +57,7 @@ When an alias currently holds someone else's credential, **Replace with mine** t | Automation input fields | Click **Insert secret** beside the field and pick a granted secret | | Secrets in an app | Server-side code reads `process.env.MY_API_KEY` | | Connections in an app | Server-side code calls `getConnectionToken('ALIAS')` for an access token | +| Composio-managed connections in an app | These have no access token to exchange; server-side code calls `callConnection('ALIAS', { ... })` instead, and Composio signs the request server-side | Paste something that looks like a key into an automation input field and Teable stores it as your secret, leaving a reference in place, so the plaintext never lands in the workflow configuration. Click **Undo** in the notice if you would rather keep the text as typed. diff --git a/en/basic/table.mdx b/en/basic/table.mdx index 66a5996f..7b253f1c 100644 --- a/en/basic/table.mdx +++ b/en/basic/table.mdx @@ -136,7 +136,7 @@ Tables default to a [Grid view](/en/basic/view/grid) and are also accessible via /> - Turn on **Search field** to choose which fields to search. This mode supports date fields in addition to text fields. -- Turn off **Search field** to run a fuzzy search across all supported fields. Global search does not include date, checkbox, or button fields. Your instance may also limit how many fields global search can cover. +- Turn off **Search field** to run a fuzzy search across the fields visible in the current view; fields hidden in that view are not matched. Global search does not include date, checkbox, or button fields. Your instance may also limit how many fields global search can cover. - Turn on **Hide not match row** to show only matching records. Turn it off to keep all rows visible and highlight matches. - For large tables, editors can turn on **Index** to improve search speed. Building or updating the index can temporarily affect read and write performance. diff --git a/es/basic/admin-panel/overview.mdx b/es/basic/admin-panel/overview.mdx index 70d69bb9..4f4eee06 100644 --- a/es/basic/admin-panel/overview.mdx +++ b/es/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ Administración del sistema agrupa sus páginas según su finalidad: - **[Bandeja de salida de cálculos](/es/basic/admin-panel/computed-outbox)**: Supervisa la entrega de tareas calculadas, el estado de la cola y la acumulación de trabajo de la base de datos - **[Cola de generación de IA](/es/basic/admin-panel/ai-generation-queue)**: Consulta el estado de generación de los Campos de IA en la instancia autoalojada actual - **[Agente de entorno aislado](/es/basic/admin-panel/sandbox-agent)**: Configura y administra el Agente de entorno aislado +- **[Schema integrity](/es/basic/admin-panel/schema-integrity)**: Ejecuta comprobaciones de esquema en cualquier base y repara lo que encuentren - **[Registro de auditoría](/es/basic/admin-panel/audit-log)**: Consulta la actividad reciente de la instancia y los detalles de las operaciones ## Permisos de administrador diff --git a/es/basic/admin-panel/schema-integrity.mdx b/es/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..38b4f160 --- /dev/null +++ b/es/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Investiga y repara los desajustes entre las definiciones de Campo de una base y su estructura de base de datos." +--- + +Disponible para el plan Business autoalojado y los planes superiores + +Ruta: Panel de administración → Schema integrity + +Las definiciones de Campo que guarda Teable y la estructura real de la base de datos deben corresponderse. Cuando se separan, los usuarios ven Campos que no se abren, Campos de vínculo que no devuelven nada o una tabla cuyas lecturas y escrituras fallan sin causa visible. **Schema integrity** localiza problemas de este tipo y los repara. + +Un administrador de la instancia puede comprobar cualquier base de la instancia sin unirse antes a su espacio, incluidos los inquilinos con base de datos gestionada por el cliente (BYODB). + +## Ejecutar una comprobación + +Localiza la base con el buscador, por base, espacio, ID de tabla o nombre. La lista de resultados muestra el **Space** al que pertenece, la **Data DB** que usa (predeterminada o BYODB) y su **Runtime** (v1 o v2), que es como confirmas que has dado con la correcta. El mismo nombre de base en espacios distintos es habitual. + +Haz clic en **Check** en esa fila y luego en **Iniciar comprobación** dentro del diálogo **Integridad del esquema**. + +## Leer los resultados + +Los resultados se listan por Campo y regla, en cuatro estados: + +| Estado | Significado | Qué hacer | +| --- | --- | --- | +| **Error** | El destino del vínculo del Campo ya no existe, o la configuración del Campo no coincide con la estructura real de la base de datos | Es la causa directa de las lecturas y escrituras que fallan, y hay que repararlo | +| **Advertencia** | Se desvía de la estructura esperada, pero sigue leyendo y escribiendo correctamente | Repárala, o anótala y vigílala | +| **Omitido** | La regla no se aplica a este Campo y no ha emitido juicio | Nada que hacer | +| **Correcto** | Coincide con lo esperado | Nada que hacer | + +Empieza por **Error**: una avería notificada por un usuario cae casi siempre en esta categoría. Una **Advertencia** no explica la avería actual, pero puede convertirse en error a medida que la estructura del Campo sigue cambiando, así que conviene resolverla una vez atendidos los errores. + +## Reparar + +Puedes **Reparar** regla por regla, o trabajar en bloque con **Reparar solo advertencias** o **Reparar advertencias y errores**. Mientras persigues una avería en curso, repara los errores de uno en uno y confirma que la avería ha desaparecido antes de atender las advertencias, así un problema nuevo se puede atribuir a un único cambio. + +Una reparación cambia solo la estructura de la tabla; no cambia el contenido de los registros. Antes de ejecutarla, usa la vista previa junto al botón de reparación: **Confirmar los detalles de la reparación** muestra el razonamiento y el SQL que produjo la simulación, y no se ejecuta nada hasta que confirmas. + +Algunas reglas no se pueden reparar automáticamente y muestran **Manual**; el diálogo explica entonces por qué el problema necesita a una persona. Cuando la simulación no devuelve SQL ejecutable, el diálogo lo dice de forma explícita, y ese caso también necesita a una persona. + +Después de reparar, haz clic en **Volver a comprobar** para confirmar que el problema ya no está. diff --git a/es/basic/ai/ai-chat.mdx b/es/basic/ai/ai-chat.mdx index d35b49e7..be0eaa07 100644 --- a/es/basic/ai/ai-chat.mdx +++ b/es/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ Cuando pegas un bloque largo de texto sin formato, Teable lo convierte en un arc - **Administrar archivos**: Abre **+** → **Más** → **Administrar archivos** para consultar los archivos del entorno aislado del chat actual. Puedes obtener una vista previa de los archivos compatibles, descargarlos o eliminar los archivos y carpetas que ya no necesites. Debe existir una conversación para poder administrar sus archivos. - **Cola de mensajes**: Enviar otro mensaje mientras la IA está trabajando no la interrumpe. El mensaje espera en una cola sobre el cuadro de entrada y se envía cuando termina la ejecución actual. Los elementos en cola conservan las mismas etiquetas de Tabla, Vista, archivo adjunto y selección que la entrada del chat; **Eliminar** descarta uno, **...** → **Editar mensaje** lo devuelve al cuadro de entrada y los elementos que solo contienen texto también ofrecen **Redirigir** para entregar el texto al turno en ejecución en lugar de esperar. +## Gestionar los chats + +Haz clic en **Historial**, arriba a la derecha del panel de chat, para ver tus chats de la base actual y buscarlos por nombre. + +El punto junto al nombre de un chat señala cuáles te necesitan. **Esperando tu respuesta** indica que el turno se ha detenido en un punto que te requiere: una pregunta del agente, una autorización, una tabla que elegir o una solicitud de credencial. No continuará hasta que respondas. **La respuesta falló** significa que la última respuesta no terminó correctamente; ábrela y vuelve a preguntar. **Generando…** y el punto de no leído solo informan del progreso y de las respuestas nuevas, y no requieren nada de ti. + +El menú **...** de un chat ofrece **Fijar**, **Renombrar**, **Archivar** y eliminar. Eliminar borra también todos sus mensajes y no se puede deshacer. + +El historial muestra los 100 chats más recientes. Fija los que uses a menudo: un chat fijado encabeza la lista y queda fuera de ese límite, así que no lo desplazan los chats nuevos. También puedes arrastrar un chat para cambiarlo de sitio. + +Los chats del Constructor de aplicaciones llevan el nombre de su aplicación y no se pueden archivar. + +### Chats archivados + +Archivar saca un chat del historial sin borrar nada. Abre tu avatar de la esquina inferior izquierda → **Configuración** → **Chats archivados** para ver los chats que archivaste en distintas bases. **Restaurar** devuelve uno al historial de su base, y aquí también puedes eliminarlo cuando tengas claro que ya no lo necesitas. + ## Usos habituales diff --git a/es/basic/ai/routine.mdx b/es/basic/ai/routine.mdx new file mode 100644 index 00000000..02178701 --- /dev/null +++ b/es/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: Rutina +description: Deja que Cuppy ejecute un prompt según una programación y revisa el resultado de cada ejecución. +--- + +Disponible en todos los planes de Cloud; la versión autoalojada requiere el plan Business o uno superior. + +Una rutina entrega un prompt a Cuppy y lo repite según una programación, lo que encaja con el trabajo que nadie debería lanzar a mano: un informe diario, una limpieza periódica de registros caducados, un resumen semanal. Cada ejecución es un chat de IA completo, así que una rutina puede hacer todo lo que hace el chat de IA, incluido leer y escribir tablas, invocar habilidades y generar archivos. + +Una rutina es un recurso dentro de una base y aparece en la barra lateral izquierda junto a las tablas, las aplicaciones y las automatizaciones. + +Una automatización se dispara con un evento, como un cambio en un registro, el envío de un formulario o un webhook, y ejecuta los pasos que configuraste de antemano. Una rutina se dispara solo con el tiempo y ejecuta un prompt que el agente interpreta por su cuenta. Usa una automatización cuando necesites pasos fijos y un resultado previsible; usa una rutina cuando quieras que el agente decida cada vez qué hacer con los datos actuales. + +## Crear una rutina + + + + En la barra lateral izquierda, haz clic en **+** y elige **Nueva rutina**. + + + Describe en **Prompt** lo que debe hacer cada ejecución. El prompt es la instrucción completa de una ejecución, así que indica de dónde salen los datos, cómo procesarlos y dónde va el resultado. Por ejemplo: «Resume los registros añadidos ayer a la tabla Tareas, agrúpalos por responsable y escribe el resumen en la tabla Informe diario». + + + Elige una frecuencia en **Programación** y define **Inicio** y **Fin (opcional)** si lo necesitas. + + + Haz clic en **Activar**. La configuración debe estar guardada y la programación debe tener alguna ocurrencia futura. + + + +## Ajustes + +Además del prompt y la programación, el formulario incluye estos ajustes: + +| Ajuste | Descripción | +| --- | --- | +| **Modelo** | El modelo y el nivel de inteligencia con los que se ejecuta esta rutina. Deja **Modelo predeterminado** para usar el modelo de chat predeterminado del espacio | +| **Tiempo máximo de ejecución (minutos)** | Una ejecución que supere este límite se detiene y se marca como fallida. De 5 a 120 minutos; 30 por defecto | +| **Chat** | **Nuevo chat en cada ejecución** mantiene las ejecuciones independientes entre sí; **Continuar el chat de la ejecución anterior** arrastra el contexto de las ejecuciones previas, lo que encaja con el trabajo que necesita consultar el resultado anterior | +| **Inicio** / **Fin (opcional)** | Los límites de la programación. Sin hora de fin, la rutina sigue ejecutándose de forma indefinida | + +El modelo y el nivel de inteligencia quedan registrados al guardar, por eso el historial de ejecuciones muestra con qué se ejecutó realmente cada una. + +### Programación + +Elige una frecuencia entre los ajustes preestablecidos: **Cada hora** en un minuto concreto, **Cada día** y **Días laborables** a una hora concreta, **Cada semana** en un día de la semana y una hora, **Cada mes** en un día y una hora. + +Para algo más específico, elige **Personalizada (RRULE)** y escribe una regla RFC 5545, como `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. Una regla personalizada tiene estos límites: + +- La frecuencia debe ser `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY` o `YEARLY`, y entre dos ejecuciones debe haber al menos 1 hora. +- Puedes usar `INTERVAL`, `COUNT`, `BYDAY`, `BYMONTHDAY`, `BYMONTH`, más un `BYMINUTE` y un `BYHOUR`. `COUNT` llega como máximo a 1000, y `COUNT` o `INTERVAL` exigen una hora de **Inicio**. +- La zona horaria y los límites vienen del formulario, así que `TZID`, `DTSTART`, `UNTIL` y `BYSECOND` se rechazan. + +Para una programación que se ejecute una sola vez, usa una regla personalizada con `COUNT=1`. + +Una programación se evalúa en la zona horaria de quien creó la rutina y no sigue a quien la consulta. La hora que aparece en **Próxima ejecución** ya está convertida a tu hora local. + +## Borradores, actualizaciones y ejecución inmediata + +Una rutina nueva es un borrador y no se ejecuta según la programación hasta que la activas. Cuando editas una rutina activa, el cambio también se guarda como borrador mientras la versión en curso sigue con la configuración anterior: haz clic en **Actualizar** para aplicarlo o en **Descartar los cambios** para desecharlo. + +**Ejecutar ahora** lanza una ejecución sin esperar a la programación, algo útil para comprobar un prompt. Una rutina no se puede volver a lanzar a mano hasta que termine su ejecución anterior. + +Apaga el interruptor para desactivarla. La programación deja de dispararse y el historial de ejecuciones existente se conserva. + +## Historial de ejecuciones + +Abre la rutina y ve a **Historial de ejecuciones**. La lista se puede filtrar por estado e intervalo de tiempo, lo que ayuda a localizar un fallo concreto; al seleccionar una ejecución verás sus horas de planificación, inicio y fin, su duración y el chat completo de esa ejecución. + +Las ejecuciones se informan como **En cola**, **En ejecución**, **Completada**, **Fallida** o **Cancelada**. **Cancelada** aparece cuando alguien interrumpió esa ejecución, o cuando se ha eliminado la rutina o su base. + +Una ejecución **Fallida** indica su motivo, y cada motivo pide una respuesta distinta: + +| Mensaje | Significado | Qué hacer | +| --- | --- | --- | +| **La ejecución falló** | La ejecución empezó pero se topó con un error | Abre el chat de esa ejecución y deduce en el punto del fallo si la causa es el prompt o los datos | +| **La ejecución agotó el tiempo de espera** | La ejecución superó el **Tiempo máximo de ejecución** y se detuvo | Sube el **Tiempo máximo de ejecución** o divide el prompt en unidades de trabajo más pequeñas | +| **Omitida: créditos insuficientes** | Se acabaron los créditos, así que la ejecución no llegó a empezar | Recarga los créditos del espacio | +| **Omitida: la ejecución anterior seguía en curso** | La ejecución anterior no había terminado, así que se omitió esta ocurrencia | Baja la frecuencia o reduce cuánto procesa cada ejecución | +| **Omitida: se agotó el tiempo de espera en la cola** | La ejecución esperó demasiado en la cola y se omitió | Si es puntual, no requiere nada; si se repite, hay demasiado programado a la vez, así que escalona las programaciones | + +El chat de una ejecución es de solo lectura. Los miembros que pueden editar la rutina pueden continuarlo al final para investigar cómo transcurrió una ejecución concreta. + +El historial de ejecuciones requiere permiso para editar la rutina. El propietario y el creador de una base pueden crear, editar y eliminar rutinas; el resto de colaboradores tiene acceso de lectura. + +## Avisos de fallo y desactivación automática + +Teable envía una notificación cuando una ejecución falla o se acaban los créditos. Va al miembro que actualizó la rutina por última vez, indicado bajo **Las notificaciones se enviarán a** en la parte superior del historial de ejecuciones. Las notificaciones de fallo no se envían en cada ocasión, para que una racha larga de fallos no inunde a quien las recibe. + +Tras 5 fallos consecutivos la rutina se desactiva automáticamente y se envía una notificación aparte. Vuelve a encender el interruptor una vez resuelto el problema; el recuento se reinicia tras la siguiente ejecución correcta. + +No toda ejecución sin éxito cuenta para ese total: las ejecuciones omitidas porque la anterior seguía en curso o porque agotaron la espera en la cola, junto con las **Canceladas**, no son fallos y no generan notificación. La falta de créditos sí cuenta, así que dejar los créditos sin recargar acaba desactivando la rutina. + +## Preguntas frecuentes + + + + Sí. Cada ejecución es un chat de IA y se carga a los créditos del espacio según el uso real; aparece bajo el tipo **Rutina** en el **Resumen de uso de créditos** de la página de facturación. Cuando se acaban los créditos la ejecución se omite y se envía una notificación, y las omisiones repetidas acaban desactivando la rutina. + + + + No. El cambio se guarda como borrador y solo llega a la versión activa cuando haces clic en **Actualizar**. Una ejecución ya en marcha conserva la configuración con la que empezó. + + + + Sí. Tras instalar una plantilla, sus rutinas se encienden igual que sus flujos de trabajo. Una programación sin ocurrencias futuras se queda en borrador. + + + + Cuando el contexto se acerca a su límite, Teable compacta el chat, así que las ejecuciones no se interrumpen por eso. Elige **Nuevo chat en cada ejecución** cuando cada ejecución deba partir de un contexto limpio. + + diff --git a/es/basic/credential.mdx b/es/basic/credential.mdx index 0113148c..d0fcce58 100644 --- a/es/basic/credential.mdx +++ b/es/basic/credential.mdx @@ -7,7 +7,7 @@ description: Gestiona tus conexiones y secretos y concédelos a las aplicaciones Cuando una aplicación o una automatización llama a un servicio externo, usa **tus credenciales**. Las credenciales son tuyas, no de la aplicación ni de la automatización, y son de dos tipos: -- **Conexiones**: cuentas de terceros que autorizas a Teable mediante OAuth, como Slack, Airtable o Google Sheets. +- **Conexiones**: cuentas de terceros que autorizas a Teable, como Slack, Airtable o Google Sheets. - **Secretos**: cadenas que guardas tú, como una clave de API o un token de acceso. Las credenciales se gestionan en **Ajustes** → **Integraciones** y desde ahí las concedes a cada aplicación o automatización. Una vez concedidas, todas las personas que ejecuten esa aplicación o automatización usan las credenciales de quien las concedió. El valor no se muestra a nadie y los resultados de prueba de una automatización lo enmascaran. @@ -24,7 +24,11 @@ Haz clic en tu avatar de la esquina inferior izquierda y abre **Ajustes** → ** | **Valor** | De solo escritura tras guardarlo; introduce un valor nuevo para sustituirlo | | **Descripción** | Opcional, para anotar para qué sirve el secreto | -Las conexiones se añaden con **Conectar nueva cuenta**. Cuando caduca una autorización, la conexión ofrece **Volver a conectar**. +Las conexiones se añaden con **Conectar nueva cuenta**. Escribe el nombre de un servicio en el buscador: arriba aparecen los servicios que Teable integra por su cuenta y, debajo, el grupo **Gestionado por Composio** reúne varios cientos más que autoriza Composio. Ambos tipos se conceden igual a aplicaciones y automatizaciones, y ninguno muestra su valor; solo se diferencian en cómo los lee el código de la aplicación, según se explica en «Leer una credencial en el código». + +La mayoría de los servicios se resuelven con una sola pasada de OAuth. Un servicio marcado con **Se conecta con una clave de API** abre en su lugar un diálogo de conexión y pide la clave que ese servicio te entregó; Composio guarda ese valor y firma con él cada petición, y Teable no lo almacena. + +Cuando caduca una autorización, la conexión ofrece **Volver a conectar**. Cada credencial indica cuántos recursos la usan ahora mismo. **Ver** abre la lista de aplicaciones y automatizaciones, cada una con la fecha en que se concedió la autorización, donde puedes **Quitar autorización** a cualquiera de ellas. @@ -53,6 +57,7 @@ Cuando un alias tiene la credencial de otra persona, **Reemplazar por el mío** | Campos de entrada de una automatización | Haz clic en **Insertar secreto** junto al campo y elige un secreto concedido | | Secretos en una aplicación | El código de servidor lee `process.env.MY_API_KEY` | | Conexiones en una aplicación | El código de servidor llama a `getConnectionToken('ALIAS')` para obtener un token de acceso | +| Conexiones gestionadas por Composio en una aplicación | No tienen ningún token de acceso que canjear; el código de servidor llama a `callConnection('ALIAS', { ... })` y Composio firma la petición en el servidor | Si pegas algo que parece una clave en un campo de una automatización, Teable lo guarda como secreto tuyo y deja una referencia en su lugar, de modo que el texto sin formato no acaba en la configuración del flujo de trabajo. Si prefieres conservar el texto tal cual, haz clic en **Deshacer** en el aviso. diff --git a/es/basic/table.mdx b/es/basic/table.mdx index f157d8b8..01d037be 100644 --- a/es/basic/table.mdx +++ b/es/basic/table.mdx @@ -136,7 +136,7 @@ Las Tablas incluyen de forma predeterminada una [Vista de cuadrícula](/es/basic /> - Activa **Buscar por Campo** para elegir en qué Campos buscar. Este modo admite Campos de fecha, además de Campos de texto. -- Desactiva **Buscar por Campo** para realizar una búsqueda aproximada en todos los Campos compatibles. La búsqueda global no incluye Campos de fecha, casilla de verificación ni botón. Tu instancia también puede limitar el número de Campos que abarca la búsqueda global. +- Desactiva **Buscar por Campo** para realizar una búsqueda aproximada en los Campos visibles en la Vista actual; los Campos ocultos en esa Vista no se tienen en cuenta. La búsqueda global no incluye Campos de fecha, casilla de verificación ni botón. Tu instancia también puede limitar el número de Campos que abarca la búsqueda global. - Activa **Ocultar filas sin coincidencia** para mostrar únicamente los Registros coincidentes. Desactívala para mantener visibles todas las filas y resaltar las coincidencias. - En Tablas grandes, los editores pueden activar **Índice** para acelerar la búsqueda. Crear o actualizar el índice puede afectar temporalmente al rendimiento de lectura y escritura. diff --git a/fr/basic/admin-panel/overview.mdx b/fr/basic/admin-panel/overview.mdx index 8e23452b..fc77c694 100644 --- a/fr/basic/admin-panel/overview.mdx +++ b/fr/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ Le panneau d’administration regroupe ses pages par objectif : - **[Boîte d’envoi calculée](/fr/basic/admin-panel/computed-outbox)** : surveillez la livraison des tâches calculées, la santé de la file et l’arriéré de la base de données - **[File de génération IA](/fr/basic/admin-panel/ai-generation-queue)** : examinez le statut de génération des Champs IA dans l’instance auto-hébergée actuelle - **[Agent sandbox](/fr/basic/admin-panel/sandbox-agent)** : configurez et gérez l’Agent sandbox +- **[Schema integrity](/fr/basic/admin-panel/schema-integrity)** : lancez des vérifications de schéma sur n’importe quelle base et réparez ce qu’elles trouvent - **[Journal d’audit](/fr/basic/admin-panel/audit-log)** : examinez l’activité récente de l’instance et les détails des opérations ## Autorisations des administrateurs diff --git a/fr/basic/admin-panel/schema-integrity.mdx b/fr/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..3e84ee81 --- /dev/null +++ b/fr/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Diagnostiquer et réparer les écarts entre les définitions de champs d’une base et la structure de sa base de données." +--- + +Disponible avec le forfait Business auto-hébergé et les forfaits supérieurs + +Chemin : Panneau d’administration → Schema integrity + +Les définitions de champs que conserve Teable et la structure réelle de la base de données sont censées correspondre. Lorsqu’elles divergent, les utilisateurs voient des champs qui refusent de s’ouvrir, des champs de lien qui ne renvoient rien, ou une table dont les lectures et les écritures échouent en continu, sans cause apparente. **Schema integrity** localise ce type de problème et le répare. + +Un administrateur d’instance peut vérifier n’importe quelle base de l’instance sans rejoindre son espace au préalable, y compris les locataires sur base de données gérée par le client (BYODB). + +## Lancer une vérification + +Retrouvez la base avec le champ de recherche, par base, espace, identifiant de table ou nom. La liste des résultats indique le **Space** auquel elle appartient, la **Data DB** qu’elle utilise (par défaut ou BYODB) et sa **Runtime** (v1 ou v2), ce qui permet de confirmer que vous tenez la bonne. Un même nom de base dans des espaces différents est courant. + +Cliquez sur **Check** sur cette ligne, puis sur **Lancer la vérification** dans la boîte de dialogue **Intégrité du schéma**. + +## Lire les résultats + +Les résultats sont listés par champ et par règle, selon quatre états : + +| État | Signification | Que faire | +| --- | --- | --- | +| **Erreur** | La cible du lien du champ n’existe plus, ou la configuration du champ ne correspond pas à la structure réelle en base | C’est la cause directe des lectures et écritures qui échouent, et cela demande une réparation | +| **Avertissement** | S’écarte de la structure attendue, mais lit et écrit toujours correctement | Réparez-le, ou notez-le et surveillez | +| **Ignoré** | La règle ne s’applique pas à ce champ et n’a rien jugé | Rien à faire | +| **Succès** | Conforme à ce qui est attendu | Rien à faire | + +Commencez par **Erreur** : une panne signalée par un utilisateur relève presque toujours de cette catégorie. Un **Avertissement** n’explique pas la panne en cours, mais il peut se transformer en erreur à mesure que la structure des champs évolue : il vaut donc d’être traité une fois les erreurs réglées. + +## Réparer + +Vous pouvez **Réparer** règle par règle, ou traiter en lot avec **Réparer uniquement les avertissements** ou **Réparer les avertissements et les erreurs**. Tant que vous poursuivez une panne en cours, réparez les erreurs une à une et vérifiez que la panne a disparu avant de vous occuper des avertissements : un nouveau problème reste ainsi rattachable à une seule modification. + +Une réparation ne modifie que la structure de la table, pas le contenu des enregistrements. Avant de l’exécuter, servez-vous de l’aperçu à côté du bouton de réparation : **Confirmer les détails de la réparation** montre le raisonnement et le SQL produits par la simulation, et rien ne s’exécute avant votre confirmation. + +Certaines règles ne peuvent pas être réparées automatiquement et affichent **Manuel** ; la boîte de dialogue explique alors pourquoi le problème demande une intervention humaine. Quand la simulation ne renvoie aucun SQL exécutable, la boîte de dialogue le dit explicitement, et ce cas demande lui aussi une intervention humaine. + +Après réparation, cliquez sur **Vérifier à nouveau** pour confirmer que le problème a disparu. diff --git a/fr/basic/ai/ai-chat.mdx b/fr/basic/ai/ai-chat.mdx index 18c7be3f..ec47b518 100644 --- a/fr/basic/ai/ai-chat.mdx +++ b/fr/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ Lorsque vous collez un long bloc de texte brut, Teable le convertit en pièce jo - **Gérer les fichiers** : ouvrez **+** → **Plus** → **Gérer les fichiers** pour consulter les fichiers dans le bac à sable du chat actuel. Vous pouvez prévisualiser les fichiers pris en charge, télécharger des fichiers ou supprimer les fichiers et dossiers dont vous n’avez plus besoin. Une conversation doit exister avant que ses fichiers puissent être gérés. - **File de messages** : envoyer un autre message pendant que l’IA travaille ne l’interrompt pas. Le message attend dans une file au-dessus du champ de saisie et est envoyé lorsque l’exécution actuelle se termine. Les éléments en attente conservent les mêmes pastilles de table, vue, pièce jointe et sélection que la saisie du chat ; **Supprimer** en retire un, **...** → **Modifier le message** le replace dans le champ de saisie, et un élément uniquement textuel propose aussi **Orienter** pour transmettre son texte à l’exécution en cours au lieu d’attendre. +## Gérer les conversations + +Cliquez sur **Historique** en haut à droite du panneau de conversation pour voir vos conversations dans la base courante et les rechercher par nom. + +La pastille à côté du nom d’une conversation signale celles qui vous attendent. **En attente de votre réponse** signifie que le tour s’est arrêté sur un point qui vous concerne : une question de l’agent, une autorisation, une table à choisir ou une demande d’information d’identification. Il ne reprendra pas avant votre réponse. **Réponse échouée** indique que la dernière réponse ne s’est pas terminée correctement ; rouvrez la conversation et reposez la question. **Génération en cours…** et la pastille de non-lu ne font que signaler l’avancement et les nouvelles réponses, et n’appellent aucune action. + +Le menu **...** d’une conversation propose **Épingler**, **Renommer**, **Archiver** et la suppression. La suppression retire aussi tous ses messages et reste définitive. + +L’historique affiche les 100 conversations les plus récentes. Épinglez celles dont vous vous servez souvent : une conversation épinglée figure en tête et échappe à cette limite, elle n’est donc jamais évincée par les nouvelles. Vous pouvez également la déplacer par glisser-déposer. + +Les conversations du Générateur d’applications portent le nom de leur application et ne peuvent pas être archivées. + +### Conversations archivées + +Archiver retire une conversation de l’historique sans rien supprimer. Ouvrez votre avatar en bas à gauche → **Paramètres** → **Conversations archivées** pour retrouver celles que vous avez archivées dans vos différentes bases. **Restaurer** en remet une dans l’historique de sa base, et vous pouvez aussi la supprimer ici une fois certain de ne plus en avoir besoin. + ## Utilisations courantes diff --git a/fr/basic/ai/routine.mdx b/fr/basic/ai/routine.mdx new file mode 100644 index 00000000..f2db1638 --- /dev/null +++ b/fr/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: Routine +description: Laissez Cuppy exécuter un prompt selon une planification et consultez le résultat de chaque exécution. +--- + +Disponible avec tous les forfaits Cloud ; l’auto-hébergement nécessite Business ou une offre supérieure. + +Une routine confie un prompt à Cuppy et le répète selon une planification, ce qui convient au travail que personne ne devrait déclencher à la main : un rapport quotidien, un nettoyage périodique des enregistrements expirés, une synthèse hebdomadaire. Chaque exécution est une conversation d’IA complète : une routine peut donc tout ce que peut la conversation d’IA, y compris lire et écrire des tables, appeler des compétences et produire des fichiers. + +Une routine est une ressource de la base et figure dans la barre latérale gauche, aux côtés des tables, des applications et des automatisations. + +Une automatisation se déclenche sur un événement, par exemple une modification d’enregistrement, l’envoi d’un formulaire ou un webhook, et exécute les étapes que vous avez configurées à l’avance. Une routine se déclenche uniquement sur le temps et exécute un prompt que l’agent interprète lui-même. Prenez une automatisation quand il vous faut des étapes fixes et un résultat prévisible ; prenez une routine quand vous voulez que l’agent décide à chaque fois quoi faire des données du moment. + +## Créer une routine + + + + Dans la barre latérale gauche, cliquez sur **+** et choisissez **Nouvelle routine**. + + + Décrivez dans **Prompt** ce que doit faire chaque exécution. Le prompt constitue l’instruction complète d’une exécution : indiquez d’où viennent les données, comment les traiter et où va le résultat. Par exemple : « Synthétise les enregistrements ajoutés hier dans la table Tâches, regroupe-les par responsable et écris la synthèse dans la table Rapport quotidien. » + + + Choisissez une fréquence sous **Planification** et renseignez **Début** et **Fin (facultatif)** si nécessaire. + + + Cliquez sur **Activer**. La configuration doit être enregistrée et la planification doit comporter une occurrence à venir. + + + +## Réglages + +Outre le prompt et la planification, le formulaire comporte ces réglages : + +| Réglage | Description | +| --- | --- | +| **Modèle** | Le modèle et le niveau d’intelligence sur lesquels tourne cette routine. Laissez **Modèle par défaut** pour utiliser le modèle de conversation par défaut de l’espace | +| **Durée maximale d’exécution (minutes)** | Une exécution qui dépasse cette limite est arrêtée et marquée en échec. De 5 à 120 minutes ; 30 par défaut | +| **Conversation** | **Nouvelle conversation à chaque exécution** garde les exécutions indépendantes les unes des autres ; **Poursuivre la conversation de l’exécution précédente** reporte le contexte des exécutions passées, ce qui convient au travail qui doit s’appuyer sur le résultat précédent | +| **Début** / **Fin (facultatif)** | Les bornes de la planification. Sans heure de fin, la routine continue indéfiniment | + +Le modèle et le niveau d’intelligence sont enregistrés au moment de la sauvegarde : l’historique d’exécution montre donc sur quoi chaque exécution a réellement tourné. + +### Planification + +Choisissez une fréquence parmi les préréglages : **Toutes les heures** à une minute donnée, **Tous les jours** et **Jours ouvrés** à une heure donnée, **Toutes les semaines** un jour de semaine à une heure, **Tous les mois** un jour à une heure. + +Pour quelque chose de plus précis, choisissez **Personnalisée (RRULE)** et écrivez une règle RFC 5545, par exemple `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. Une règle personnalisée est soumise à ces limites : + +- La fréquence doit valoir `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY` ou `YEARLY`, et deux exécutions doivent être espacées d’au moins 1 heure. +- Vous pouvez utiliser `INTERVAL`, `COUNT`, `BYDAY`, `BYMONTHDAY`, `BYMONTH`, plus un `BYMINUTE` et un `BYHOUR`. `COUNT` plafonne à 1000, et `COUNT` ou `INTERVAL` exige une heure de **Début**. +- Le fuseau horaire et les bornes proviennent du formulaire : `TZID`, `DTSTART`, `UNTIL` et `BYSECOND` sont donc rejetés. + +Pour une planification qui ne s’exécute qu’une fois, utilisez une règle personnalisée avec `COUNT=1`. + +Une planification est évaluée dans le fuseau horaire de la personne qui a créé la routine et ne suit pas celui qui la consulte. L’heure affichée sous **Prochaine exécution** est déjà convertie dans votre heure locale. + +## Brouillons, mises à jour et exécution immédiate + +Une routine nouvellement créée est un brouillon et ne s’exécute selon la planification qu’une fois activée. Quand vous modifiez une routine active, la modification est elle aussi enregistrée en brouillon tandis que la version en service continue avec l’ancienne configuration : cliquez sur **Mettre à jour** pour l’appliquer, ou sur **Abandonner les modifications** pour la jeter. + +**Exécuter maintenant** lance une exécution sans attendre la planification, ce qui sert à vérifier un prompt. Une routine ne peut pas être relancée à la main tant que son exécution précédente n’est pas terminée. + +Coupez l’interrupteur pour la désactiver : la planification cesse de se déclencher et l’historique d’exécution existant est conservé. + +## Historique d’exécution + +Ouvrez la routine et passez à **Historique d’exécution**. La liste se filtre par statut et par période, ce qui aide à retrouver un échec précis ; en sélectionnant une exécution, vous voyez ses heures de planification, de démarrage et de fin, sa durée et la conversation complète de cette exécution. + +Les exécutions sont signalées comme **En file d’attente**, **En cours**, **Terminée**, **Échec** ou **Annulée**. **Annulée** apparaît lorsque quelqu’un a interrompu cette exécution, ou lorsque la routine ou sa base a été supprimée. + +Une exécution en **Échec** indique son motif, et chaque motif appelle une réponse différente : + +| Message | Signification | Que faire | +| --- | --- | --- | +| **Échec de l’exécution** | L’exécution a démarré mais a rencontré une erreur | Ouvrez la conversation de cette exécution et déterminez, au point de l’échec, si le prompt ou les données sont en cause | +| **Délai d’exécution dépassé** | L’exécution a dépassé la **Durée maximale d’exécution** et a été arrêtée | Augmentez la **Durée maximale d’exécution**, ou découpez le prompt en unités de travail plus petites | +| **Ignorée : crédits insuffisants** | Les crédits étaient épuisés, l’exécution n’a pas démarré | Rechargez les crédits de l’espace | +| **Ignorée : l’exécution précédente était toujours en cours** | L’exécution précédente n’était pas terminée, cette occurrence a été ignorée | Réduisez la fréquence, ou allégez ce que traite une exécution | +| **Ignorée : délai d’attente en file dépassé** | L’exécution a trop attendu dans la file et a été ignorée | Un cas isolé ne demande rien ; si cela se répète, trop de choses sont planifiées en même temps : échelonnez les planifications | + +La conversation d’une exécution est en lecture seule. Les membres autorisés à modifier la routine peuvent la poursuivre à la fin pour comprendre comment une exécution donnée s’est déroulée. + +L’historique d’exécution requiert le droit de modifier la routine. Le propriétaire et le créateur d’une base peuvent créer, modifier et supprimer des routines ; les autres collaborateurs ont un accès en lecture. + +## Alertes d’échec et désactivation automatique + +Teable envoie une notification lorsqu’une exécution échoue ou que les crédits manquent. Elle part vers le membre qui a mis à jour la routine en dernier, nommé sous **Les notifications seront envoyées à** en haut de l’historique d’exécution. Les notifications d’échec ne partent pas à chaque fois, afin qu’une longue série d’échecs ne submerge pas son destinataire. + +Après 5 échecs consécutifs, la routine est désactivée automatiquement et une notification distincte est envoyée. Rallumez l’interrupteur une fois le problème réglé ; le compteur repart à zéro après la première exécution réussie. + +Toutes les exécutions sans succès ne comptent pas dans ce total : celles ignorées parce que la précédente était encore en cours ou parce que l’attente en file a expiré, ainsi que les exécutions **Annulée**, ne sont pas des échecs et ne produisent aucune notification. Un manque de crédits compte, en revanche : laisser les crédits à sec finit par désactiver la routine. + +## FAQ + + + + Oui. Chaque exécution est une conversation d’IA, facturée sur les crédits de l’espace selon l’usage réel, et listée sous le type **Routine** dans le **Récapitulatif d’utilisation des crédits** de la page de facturation. Quand les crédits manquent, l’exécution est ignorée et une notification est envoyée ; des omissions répétées finissent par désactiver la routine. + + + + Non. La modification est enregistrée en brouillon et n’atteint la version en service qu’au clic sur **Mettre à jour**. Une exécution déjà lancée conserve la configuration avec laquelle elle a démarré. + + + + Oui. Après l’installation d’un modèle, ses routines sont activées comme le sont ses workflows. Une planification sans occurrence à venir reste un brouillon. + + + + Lorsque le contexte approche de sa limite, Teable compacte la conversation : les exécutions ne sont donc pas interrompues pour cette raison. Choisissez **Nouvelle conversation à chaque exécution** si chaque exécution doit partir d’un contexte vierge. + + diff --git a/fr/basic/credential.mdx b/fr/basic/credential.mdx index aab83c70..5c188583 100644 --- a/fr/basic/credential.mdx +++ b/fr/basic/credential.mdx @@ -7,7 +7,7 @@ description: Gérez vos connexions et vos secrets, puis accordez-les aux applica Lorsqu’une application ou une automatisation appelle un service externe, elle utilise **vos identifiants**. Ceux-ci vous appartiennent et non à l’application ou à l’automatisation, et se déclinent en deux types : -- **Connexions** : comptes tiers que vous autorisez auprès de Teable via OAuth, par exemple Slack, Airtable ou Google Sheets. +- **Connexions** : comptes tiers que vous autorisez auprès de Teable, par exemple Slack, Airtable ou Google Sheets. - **Secrets** : chaînes que vous enregistrez vous-même, par exemple une clé API ou un jeton d’accès. Les identifiants se gèrent dans **Paramètres** → **Intégrations**, d’où vous les accordez à telle application ou telle automatisation. Une fois l’autorisation accordée, toute personne qui exécute cette application ou cette automatisation utilise les identifiants de la personne qui les a accordés. La valeur n’est montrée à personne, et les résultats de test d’une automatisation la masquent. @@ -24,7 +24,11 @@ Cliquez sur votre avatar en bas à gauche, puis ouvrez **Paramètres** → **Int | **Valeur** | Accessible en écriture seule après l’enregistrement ; saisissez une nouvelle valeur pour la remplacer | | **Description** | Facultative, pour noter à quoi sert le secret | -Une connexion s’ajoute avec **Connecter un nouveau compte**. Quand une autorisation expire, la connexion propose **Reconnecter**. +Une connexion s’ajoute avec **Connecter un nouveau compte**. Saisissez un nom de service dans le champ de recherche : les services que Teable intègre lui-même figurent en haut, et le groupe **Géré par Composio** en dessous en rassemble plusieurs centaines d’autres, autorisés par Composio. Les deux types se délèguent de la même façon aux applications et aux automatisations, et aucun n’expose sa valeur ; ils diffèrent seulement par la façon dont le code de l’application les lit, décrite dans « Lire une information d’identification dans le code ». + +La plupart des services se règlent en un seul passage OAuth. Un service portant la mention **Se connecte avec une clé API** ouvre à la place une boîte de dialogue de connexion et demande la clé que ce service vous a délivrée ; Composio conserve cette valeur et s’en sert pour signer chaque requête, et Teable ne la stocke pas. + +Quand une autorisation expire, la connexion propose **Reconnecter**. Chaque identifiant indique combien de ressources l’utilisent actuellement. **Afficher** ouvre la liste des applications et automatisations concernées, chacune accompagnée de la date de l’autorisation, où vous pouvez **Retirer l’autorisation** pour l’une d’elles. @@ -53,6 +57,7 @@ Quand un alias porte les identifiants de quelqu’un d’autre, **Remplacer par | Champs de saisie d’une automatisation | Cliquez sur **Insérer un secret** à côté du champ et choisissez un secret accordé | | Secrets dans une application | Le code côté serveur lit `process.env.MY_API_KEY` | | Connexions dans une application | Le code côté serveur appelle `getConnectionToken('ALIAS')` pour obtenir un jeton d’accès | +| Connexions gérées par Composio dans une application | Elles n’ont aucun jeton d’accès à échanger ; le code côté serveur appelle `callConnection('ALIAS', { ... })` et Composio signe la requête côté serveur | Si vous collez dans un champ d’automatisation une valeur qui ressemble à une clé, Teable l’enregistre comme votre secret et laisse une référence à la place, de sorte que le texte en clair n’entre pas dans la configuration du workflow. Pour conserver le texte tel quel, cliquez sur **Annuler** dans la notification. diff --git a/fr/basic/table.mdx b/fr/basic/table.mdx index e9a91eb0..31c3a197 100644 --- a/fr/basic/table.mdx +++ b/fr/basic/table.mdx @@ -136,7 +136,7 @@ Les tables utilisent par défaut une [vue Grille](/fr/basic/view/grid) et sont /> - Activez **Champ de recherche** pour choisir les champs à rechercher. Ce mode prend en charge les champs de date en plus des champs de texte. -- Désactivez **Champ de recherche** pour lancer une recherche approximative dans tous les champs pris en charge. La recherche globale n’inclut pas les champs de date, de case à cocher ou de bouton. Votre instance peut également limiter le nombre de champs couverts par la recherche globale. +- Désactivez **Champ de recherche** pour lancer une recherche approximative dans les champs visibles de la vue courante ; les champs masqués dans cette vue ne sont pas pris en compte. La recherche globale n’inclut pas les champs de date, de case à cocher ou de bouton. Votre instance peut également limiter le nombre de champs couverts par la recherche globale. - Activez **Masquer les lignes non correspondantes** pour n’afficher que les enregistrements correspondants. Désactivez-la pour conserver toutes les lignes visibles et mettre en surbrillance les correspondances. - Pour les grandes tables, les éditeurs peuvent activer **Index** pour améliorer la vitesse de recherche. La création ou la mise à jour de l’index peut temporairement affecter les performances de lecture et d’écriture. diff --git a/it/basic/admin-panel/overview.mdx b/it/basic/admin-panel/overview.mdx index d2f3fffd..f2c10e1d 100644 --- a/it/basic/admin-panel/overview.mdx +++ b/it/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ L'Amministrazione di sistema raggruppa le pagine in base allo scopo: - **[Outbox dei calcoli](/it/basic/admin-panel/computed-outbox)**: monitora la consegna delle attività di calcolo, lo stato della coda e l'arretrato del database - **[Coda di generazione IA](/it/basic/admin-panel/ai-generation-queue)**: esamina lo stato di generazione dei Campi IA nell'istanza Self-hosted corrente - **[Sandbox Agent](/it/basic/admin-panel/sandbox-agent)**: configura e gestisce Sandbox Agent +- **[Schema integrity](/it/basic/admin-panel/schema-integrity)**: esegui controlli dello schema su qualsiasi base e ripara quanto emerge - **[Registro di controllo](/it/basic/admin-panel/audit-log)**: esamina le attività recenti dell'istanza e i dettagli delle operazioni ## Autorizzazioni degli amministratori diff --git a/it/basic/admin-panel/schema-integrity.mdx b/it/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..30b3b761 --- /dev/null +++ b/it/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Individua e ripara le discrepanze tra le definizioni dei Campi di una base e la struttura del suo database." +--- + +Disponibile per il piano Business self-hosted e superiori + +Percorso: Pannello di amministrazione → Schema integrity + +Le definizioni dei Campi che Teable conserva e la struttura effettiva nel database dovrebbero corrispondere. Quando divergono, gli utenti vedono Campi che non si aprono, Campi di collegamento che non restituiscono nulla o una tabella le cui letture e scritture continuano a fallire, senza una causa visibile. **Schema integrity** individua problemi di questo tipo e li ripara. + +Un amministratore dell'istanza può controllare qualsiasi base dell'istanza senza entrare prima nel suo spazio, inclusi i tenant con database gestito dal cliente (BYODB). + +## Eseguire un controllo + +Trova la base con la casella di ricerca, per base, spazio, ID tabella o nome. L'elenco dei risultati mostra lo **Space** di appartenenza, il **Data DB** in uso (predefinito o BYODB) e il **Runtime** (v1 o v2): è così che confermi di avere quella giusta. Lo stesso nome di base in spazi diversi è frequente. + +Fai clic su **Check** su quella riga, poi su **Avvia controllo** nella finestra **Integrità dello schema**. + +## Leggere i risultati + +I risultati sono elencati per Campo e per regola, in quattro stati: + +| Stato | Significato | Che cosa fare | +| --- | --- | --- | +| **Errore** | La destinazione del collegamento del Campo non esiste più, oppure la configurazione del Campo non corrisponde alla struttura effettiva nel database | È la causa diretta di letture e scritture che falliscono, e va riparata | +| **Avviso** | Si discosta dalla struttura attesa, ma legge e scrive ancora correttamente | Riparalo, oppure annotalo e tienilo d'occhio | +| **Saltato** | La regola non si applica a questo Campo e non ha espresso alcun giudizio | Nulla da fare | +| **Riuscito** | Corrisponde a quanto atteso | Nulla da fare | + +Parti dagli **Errore**: un guasto segnalato da un utente ricade quasi sempre in questa categoria. Un **Avviso** non spiega il guasto in corso, ma può trasformarsi in errore man mano che la struttura dei Campi continua a cambiare, quindi conviene affrontarlo una volta sistemati gli errori. + +## Riparare + +Puoi **Riparare** regola per regola, oppure lavorare in blocco con **Ripara solo gli avvisi** o **Ripara avvisi ed errori**. Mentre insegui un guasto in corso, ripara gli errori uno alla volta e verifica che il guasto sia sparito prima di passare agli avvisi: così un problema nuovo resta riconducibile a una singola modifica. + +Una riparazione cambia solo la struttura della tabella, non il contenuto dei record. Prima di eseguirla usa l'anteprima accanto al pulsante di riparazione: **Conferma i dettagli della riparazione** mostra il ragionamento e l'SQL prodotti dalla simulazione, e nulla viene eseguito finché non confermi. + +Alcune regole non si riparano automaticamente e mostrano **Manuale**; la finestra spiega allora perché il problema richiede una persona. Quando la simulazione non restituisce SQL eseguibile, la finestra lo dice esplicitamente, e anche quel caso richiede una persona. + +Dopo la riparazione fai clic su **Controlla di nuovo** per confermare che il problema non c'è più. diff --git a/it/basic/ai/ai-chat.mdx b/it/basic/ai/ai-chat.mdx index b14f5f4e..91584817 100644 --- a/it/basic/ai/ai-chat.mdx +++ b/it/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ Quando incolli un lungo blocco di testo normale, Teable lo converte in un allega - **Gestisci file**: apri **+** → **Altro** → **Gestisci file** per visualizzare i file nella sandbox della chat corrente. Puoi visualizzare in anteprima i file supportati, scaricarli oppure eliminare file e cartelle non più necessari. Prima di poter gestire i file deve esistere una conversazione. - **Coda dei messaggi**: l'invio di un altro messaggio mentre l'IA è al lavoro non la interrompe. Il messaggio attende in una coda sopra la casella di input e viene inviato al termine dell'esecuzione corrente. Gli elementi in coda mantengono le stesse etichette relative a Tabella, Vista, allegati e selezione presenti nell'input della chat; **Rimuovi** ne elimina uno, **...** → **Modifica messaggio** lo riporta nella casella di input e un elemento di solo testo offre anche **Intervieni** per fornire immediatamente il testo al turno in esecuzione anziché attendere. +## Gestire le chat + +Fai clic su **Cronologia** in alto a destra nel pannello della chat per vedere le tue chat nella base corrente e cercarle per nome. + +Il pallino accanto al nome di una chat segnala quali hanno bisogno di te. **In attesa della tua risposta** indica che il turno si è fermato su un punto che ti riguarda: una domanda dell'agente, un'autorizzazione, una tabella da scegliere o una richiesta di credenziali. Non proseguirà finché non rispondi. **Risposta non riuscita** significa che l'ultima risposta non si è chiusa correttamente; riaprila e chiedi di nuovo. **Generazione in corso…** e il pallino di non letto segnalano solo l'avanzamento e le risposte nuove, e non richiedono nulla. + +Il menu **...** di una chat offre **Fissa in alto**, **Rinomina**, **Archivia** ed elimina. L'eliminazione rimuove anche tutti i messaggi e non è reversibile. + +La cronologia mostra le 100 chat più recenti. Fissa in alto quelle che usi spesso: una chat fissata apre l'elenco ed è esclusa da quel limite, quindi non viene spinta fuori dalle chat nuove. Puoi anche trascinare una chat per spostarla. + +Le chat del Costruttore di app prendono il nome dalla loro app e non si possono archiviare. + +### Chat archiviate + +Archiviare toglie una chat dalla cronologia senza cancellare nulla. Apri il tuo avatar in basso a sinistra → **Impostazioni** → **Chat archiviate** per vedere le chat che hai archiviato nelle varie base. **Ripristina** ne riporta una nella cronologia della sua base, e da qui puoi anche eliminarla quando sei certo di non averne più bisogno. + ## Utilizzi comuni diff --git a/it/basic/ai/routine.mdx b/it/basic/ai/routine.mdx new file mode 100644 index 00000000..0f9d0fda --- /dev/null +++ b/it/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: Routine +description: Lascia che Cuppy esegua un prompt secondo una pianificazione e controlla il risultato di ogni esecuzione. +--- + +Disponibile in tutti i piani Cloud; la versione self-hosted richiede il piano Business o superiore. + +Una routine affida un prompt a Cuppy e lo ripete secondo una pianificazione: si presta al lavoro che nessuno dovrebbe avviare a mano, come un report giornaliero, una pulizia periodica dei record scaduti, un riepilogo settimanale. Ogni esecuzione è una chat IA completa, quindi una routine può fare tutto ciò che fa la chat IA, incluso leggere e scrivere tabelle, richiamare skill e produrre file. + +Una routine è una risorsa della base e compare nella barra laterale sinistra accanto a tabelle, app e automazioni. + +Un'automazione si attiva su un evento, per esempio la modifica di un record, l'invio di un modulo o un webhook, ed esegue i passaggi che hai configurato in anticipo. Una routine si attiva solo sul tempo ed esegue un prompt che l'agente interpreta da sé. Usa un'automazione quando servono passaggi fissi e un esito prevedibile; usa una routine quando vuoi che sia l'agente a decidere ogni volta cosa fare con i dati del momento. + +## Creare una routine + + + + Nella barra laterale sinistra fai clic su **+** e scegli **Nuova routine**. + + + Descrivi in **Prompt** che cosa deve fare ogni esecuzione. Il prompt è l'istruzione completa di un'esecuzione: indica da dove arrivano i dati, come elaborarli e dove va il risultato. Per esempio: «Riepiloga i record aggiunti ieri alla tabella Attività, raggruppali per responsabile e scrivi il riepilogo nella tabella Report giornaliero». + + + Scegli una frequenza in **Pianificazione** e imposta **Inizio** e **Fine (facoltativo)** se necessario. + + + Fai clic su **Attiva**. La configurazione deve essere già salvata e la pianificazione deve avere un'occorrenza futura. + + + +## Impostazioni + +Oltre al prompt e alla pianificazione, il modulo contiene queste impostazioni: + +| Impostazione | Descrizione | +| --- | --- | +| **Modello** | Il modello e il livello di intelligenza con cui gira questa routine. Lascia **Modello predefinito** per usare il modello di chat predefinito dello spazio | +| **Durata massima di esecuzione (minuti)** | Un'esecuzione che supera questo limite viene interrotta e segnata come non riuscita. Da 5 a 120 minuti; 30 per impostazione predefinita | +| **Chat** | **Nuova chat a ogni esecuzione** mantiene le esecuzioni indipendenti tra loro; **Continua la chat dell'esecuzione precedente** porta avanti il contesto delle esecuzioni passate e si presta al lavoro che deve riferirsi al risultato precedente | +| **Inizio** / **Fine (facoltativo)** | I limiti della pianificazione. Senza orario di fine la routine prosegue a tempo indeterminato | + +Modello e livello di intelligenza vengono registrati al salvataggio, perciò la cronologia delle esecuzioni mostra su che cosa ha girato davvero ciascuna. + +### Pianificazione + +Scegli una frequenza tra i preset: **Ogni ora** a un minuto preciso, **Ogni giorno** e **Giorni feriali** a un orario preciso, **Ogni settimana** in un giorno della settimana e a un orario, **Ogni mese** in un giorno e a un orario. + +Per qualcosa di più specifico scegli **Personalizzata (RRULE)** e scrivi una regola RFC 5545, per esempio `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. Una regola personalizzata ha questi limiti: + +- La frequenza deve essere `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY` o `YEARLY`, e tra due esecuzioni deve passare almeno 1 ora. +- Puoi usare `INTERVAL`, `COUNT`, `BYDAY`, `BYMONTHDAY`, `BYMONTH`, più un `BYMINUTE` e un `BYHOUR`. `COUNT` arriva al massimo a 1000, e `COUNT` o `INTERVAL` richiedono un orario di **Inizio**. +- Fuso orario e limiti provengono dal modulo, quindi `TZID`, `DTSTART`, `UNTIL` e `BYSECOND` vengono rifiutati. + +Per una pianificazione che gira una sola volta, usa una regola personalizzata con `COUNT=1`. + +Una pianificazione viene valutata nel fuso orario di chi ha creato la routine e non segue chi la consulta. L'orario mostrato in **Prossima esecuzione** è già convertito nella tua ora locale. + +## Bozze, aggiornamenti ed esecuzione immediata + +Una routine appena creata è una bozza e non gira secondo la pianificazione finché non la attivi. Quando modifichi una routine attiva, anche la modifica viene salvata come bozza mentre la versione in servizio continua con la vecchia configurazione: fai clic su **Aggiorna** per applicarla o su **Scarta le modifiche** per eliminarla. + +**Esegui ora** avvia un'esecuzione senza attendere la pianificazione, utile per verificare un prompt. Una routine non può essere riavviata a mano finché l'esecuzione precedente non è terminata. + +Spegni l'interruttore per disattivarla: la pianificazione smette di scattare e la cronologia delle esecuzioni esistente resta. + +## Cronologia delle esecuzioni + +Apri la routine e passa a **Cronologia delle esecuzioni**. L'elenco si filtra per stato e intervallo di tempo, il che aiuta a individuare un guasto preciso; selezionando un'esecuzione vedi orario pianificato, di avvio e di fine, la durata e la chat completa di quell'esecuzione. + +Le esecuzioni sono riportate come **In coda**, **In esecuzione**, **Completata**, **Non riuscita** o **Annullata**. **Annullata** compare quando qualcuno ha interrotto quell'esecuzione, oppure quando la routine o la sua base sono state eliminate. + +Un'esecuzione **Non riuscita** indica il motivo, e ogni motivo richiede una risposta diversa: + +| Messaggio | Significato | Che cosa fare | +| --- | --- | --- | +| **Esecuzione non riuscita** | L'esecuzione è partita ma ha incontrato un errore | Apri la chat di quell'esecuzione e valuta, nel punto dell'errore, se la causa è il prompt o i dati | +| **Tempo di esecuzione scaduto** | L'esecuzione ha superato la **Durata massima di esecuzione** ed è stata interrotta | Alza la **Durata massima di esecuzione**, oppure dividi il prompt in unità di lavoro più piccole | +| **Saltata: crediti insufficienti** | I crediti erano esauriti, l'esecuzione non è partita | Ricarica i crediti dello spazio | +| **Saltata: l'esecuzione precedente era ancora in corso** | L'esecuzione precedente non era finita, quindi questa occorrenza è stata saltata | Abbassa la frequenza, oppure riduci quanto elabora una singola esecuzione | +| **Saltata: tempo di attesa in coda scaduto** | L'esecuzione ha atteso troppo in coda ed è stata saltata | Un caso isolato non richiede nulla; se si ripete, c'è troppo pianificato nello stesso momento: scagliona le pianificazioni | + +La chat di un'esecuzione è in sola lettura. I membri che possono modificare la routine possono proseguirla in fondo per capire come è andata una determinata esecuzione. + +La cronologia delle esecuzioni richiede il permesso di modificare la routine. Proprietario e creatore di una base possono creare, modificare ed eliminare routine; gli altri collaboratori hanno accesso in lettura. + +## Avvisi di errore e disattivazione automatica + +Teable invia una notifica quando un'esecuzione non riesce o i crediti finiscono. Va al membro che ha aggiornato la routine per ultimo, indicato sotto **Le notifiche verranno inviate a** in cima alla cronologia delle esecuzioni. Le notifiche di errore non partono a ogni singolo caso, così una lunga serie di errori non sommerge chi le riceve. + +Dopo 5 errori consecutivi la routine viene disattivata automaticamente e parte una notifica a sé. Riaccendi l'interruttore una volta risolto il problema; il conteggio riparte da zero dopo la prima esecuzione riuscita. + +Non ogni esecuzione senza esito conta in quel totale: quelle saltate perché la precedente era ancora in corso o perché è scaduta l'attesa in coda, insieme a quelle **Annullata**, non sono errori e non producono notifiche. La mancanza di crediti invece conta, quindi lasciare i crediti a zero porta prima o poi alla disattivazione. + +## Domande frequenti + + + + Sì. Ogni esecuzione è una chat IA e viene addebitata sui crediti dello spazio in base all'uso effettivo; compare sotto il tipo **Routine** nel **Riepilogo dell'utilizzo dei crediti** della pagina di fatturazione. Quando i crediti finiscono l'esecuzione viene saltata e parte una notifica, e salti ripetuti portano alla disattivazione. + + + + No. La modifica viene salvata come bozza e raggiunge la versione in servizio solo con **Aggiorna**. Un'esecuzione già avviata mantiene la configurazione con cui è partita. + + + + Sì. Dopo l'installazione di un modello le sue routine vengono accese come i suoi workflow. Una pianificazione senza occorrenze future resta una bozza. + + + + Quando il contesto si avvicina al limite Teable compatta la chat, quindi le esecuzioni non si interrompono per questo. Scegli **Nuova chat a ogni esecuzione** se ogni esecuzione deve partire da un contesto pulito. + + diff --git a/it/basic/credential.mdx b/it/basic/credential.mdx index 6d74b74a..82bff6f4 100644 --- a/it/basic/credential.mdx +++ b/it/basic/credential.mdx @@ -7,7 +7,7 @@ description: Gestisci le tue connessioni e i tuoi segreti e concedili alle app e Quando un'app o un'Automazione chiama un servizio esterno, usa **le tue credenziali**. Le credenziali appartengono a te, non all'app o all'Automazione, e sono di due tipi: -- **Connessioni**: account di terze parti che autorizzi su Teable tramite OAuth, come Slack, Airtable o Google Sheets. +- **Connessioni**: account di terze parti che autorizzi su Teable, come Slack, Airtable o Google Sheets. - **Segreti**: stringhe che salvi tu, come una chiave API o un token di accesso. Le credenziali si gestiscono in **Impostazioni** → **Integrazioni** e da lì si concedono alle singole app e Automazioni. Dopo la concessione, chiunque esegua quell'app o quell'Automazione usa le credenziali di chi le ha concesse. Il valore non viene mostrato a nessuno e i risultati dei test di un'Automazione lo mascherano. @@ -24,7 +24,11 @@ Fai clic sul tuo avatar in basso a sinistra e apri **Impostazioni** → **Integr | **Valore** | Di sola scrittura dopo il salvataggio; inserisci un nuovo valore per sostituirlo | | **Descrizione** | Facoltativa, per annotare a cosa serve il segreto | -Le connessioni si aggiungono con **Connetti nuovo account**. Quando un'autorizzazione scade, la connessione propone **Ricollega**. +Le connessioni si aggiungono con **Connetti nuovo account**. Digita il nome di un servizio nella casella di ricerca: in alto stanno i servizi che Teable integra direttamente, mentre sotto il gruppo **Gestito da Composio** ne raccoglie diverse centinaia autorizzati da Composio. Entrambi i tipi si concedono ad app e automazioni allo stesso modo e nessuno dei due espone il proprio valore; cambia solo il modo in cui il codice dell'app li legge, come spiegato in «Leggere una credenziale nel codice». + +La maggior parte dei servizi si risolve con un solo passaggio OAuth. Un servizio contrassegnato con **Si collega con una chiave API** apre invece una finestra di connessione e chiede la chiave che quel servizio ti ha rilasciato; Composio custodisce quel valore e con esso firma ogni richiesta, e Teable non lo memorizza. + +Quando un'autorizzazione scade, la connessione propone **Ricollega**. Ogni credenziale indica da quante risorse è usata al momento. **Visualizza** apre l'elenco di app e Automazioni, ciascuna con la data dell'autorizzazione, dove puoi **Rimuovere l'autorizzazione** a una singola voce. @@ -53,6 +57,7 @@ Quando un alias contiene la credenziale di un'altra persona, **Sostituisci con i | Campi di input di un'Automazione | Fai clic su **Inserisci segreto** accanto al campo e scegli un segreto concesso | | Segreti in un'app | Il codice lato server legge `process.env.MY_API_KEY` | | Connessioni in un'app | Il codice lato server chiama `getConnectionToken('ALIAS')` per ottenere un token di accesso | +| Connessioni gestite da Composio in un'app | Non hanno alcun token di accesso da scambiare; il codice lato server chiama `callConnection('ALIAS', { ... })` e Composio firma la richiesta lato server | Se incolli in un campo di un'Automazione qualcosa che somiglia a una chiave, Teable lo salva come tuo segreto e lascia un riferimento al suo posto, così il testo in chiaro non finisce nella configurazione del flusso di lavoro. Se preferisci mantenere il testo così com'è, fai clic su **Annulla** nell'avviso. diff --git a/it/basic/table.mdx b/it/basic/table.mdx index 8da61ab7..2dad504f 100644 --- a/it/basic/table.mdx +++ b/it/basic/table.mdx @@ -136,7 +136,7 @@ Le Tabelle utilizzano per impostazione predefinita una [Vista griglia](/it/basic /> - Attiva **Campo di ricerca** per scegliere i Campi in cui cercare. Questa modalità supporta i Campi data oltre a quelli di testo. -- Disattiva **Campo di ricerca** per eseguire una ricerca fuzzy in tutti i Campi supportati. La ricerca globale non include i Campi data, casella di controllo o pulsante. L'istanza può inoltre limitare il numero di Campi inclusi nella ricerca globale. +- Disattiva **Campo di ricerca** per eseguire una ricerca fuzzy nei Campi visibili nella Vista corrente; i Campi nascosti in quella Vista non vengono considerati. La ricerca globale non include i Campi data, casella di controllo o pulsante. L'istanza può inoltre limitare il numero di Campi inclusi nella ricerca globale. - Attiva **Nascondi righe non corrispondenti** per mostrare soltanto i Record corrispondenti. Disattivala per mantenere visibili tutte le righe ed evidenziare le corrispondenze. - Per le Tabelle di grandi dimensioni, gli editor possono attivare **Indice** per migliorare la velocità di ricerca. La creazione o l'aggiornamento dell'indice può influire temporaneamente sulle prestazioni di lettura e scrittura. diff --git a/ja/basic/admin-panel/overview.mdx b/ja/basic/admin-panel/overview.mdx index a581dc60..dcbc6eb2 100644 --- a/ja/basic/admin-panel/overview.mdx +++ b/ja/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ description: "Teableのセルフホスト版システム管理では、インス - **[計算済みOutbox](/ja/basic/admin-panel/computed-outbox)**: 計算タスクの配信、キューの稼働状態、データベースのバックログを監視します - **[AI生成キュー](/ja/basic/admin-panel/ai-generation-queue)**: 現在のセルフホストインスタンスにおけるAIフィールド生成の状態を確認します - **[サンドボックスエージェント](/ja/basic/admin-panel/sandbox-agent)**: サンドボックスエージェントを設定、管理します +- **[Schema integrity](/ja/basic/admin-panel/schema-integrity)**: 任意の Base に対してスキーマチェックを実行し、見つかった問題を修復します - **[監査ログ](/ja/basic/admin-panel/audit-log)**: 最近のインスタンスアクティビティと操作の詳細を確認します ## 管理者権限 diff --git a/ja/basic/admin-panel/schema-integrity.mdx b/ja/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..696fe5d1 --- /dev/null +++ b/ja/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Base のフィールド定義とデータベース構造の不一致を調査し、修復します。" +--- + +セルフホストのビジネスプラン以上で利用可能 + +パス:管理パネル → Schema integrity + +Teable が保持するフィールド定義と、データベース上の実際の構造は一致しているはずです。両者がずれると、フィールドが開けない、リンクフィールドの値が取得できない、特定のテーブルの読み書きが失敗し続けるといった症状がユーザー側に現れますが、原因は表面からは分かりません。**Schema integrity** はこの種の問題を特定し、修復します。 + +インスタンス管理者は、対象のスペースに参加していなくてもインスタンス内の任意の Base を検査できます。顧客管理データベース(BYODB)のテナントも対象です。 + +## チェックを実行する + +検索ボックスで Base、スペース、テーブル ID、名前のいずれかから対象の Base を探します。結果一覧には所属する **Space**、使用中の **Data DB**(既定または BYODB)、**Runtime**(v1 または v2)が表示されるので、目的の Base かどうかをここで確認します。同じ名前の Base が別のスペースにあることはよくあります。 + +その行の **Check** をクリックし、**スキーマ整合性** ダイアログで **チェック開始** をクリックします。 + +## 結果を読む + +結果はフィールドとルールごとに、次の 4 つの状態で一覧表示されます。 + +| 状態 | 意味 | 対処 | +| --- | --- | --- | +| **エラー** | フィールドのリンク先が存在しない、またはフィールド設定がデータベース上の実際の構造と一致していない | 読み書きが失敗する直接の原因であり、修復が必要です | +| **警告** | 想定した構造からずれているが、現時点では読み書きできる | 修復するか、記録して様子を見ます | +| **スキップ** | このフィールドにはルールが適用されず、判定していない | 対処は不要です | +| **正常** | 想定どおり | 対処は不要です | + +まず **エラー** から確認します。ユーザーから報告された不具合は、ほぼこの分類に該当します。**警告** は現在の不具合の説明にはなりませんが、フィールド構造の変更が重なるとエラーに変わりうるため、エラーを片付けたあとにまとめて処理するのが適切です。 + +## 修復する + +ルールごとに **修復** することも、**警告のみ修復** や **警告とエラーを修復** でまとめて処理することもできます。発生中の不具合を追っている間は、エラーを 1 件ずつ修復して不具合が消えたことを確認してから警告に移ると、新たな問題が起きた場合にどの変更が原因かを特定できます。 + +修復が変更するのはテーブル構造だけで、レコードの内容は変更しません。実行前に修復ボタンの横のプレビューを使ってください。**修復の詳細を確認** に、ドライランが返した修復の考え方と実行予定の SQL が表示され、確認するまで実際には実行されません。 + +自動修復できないルールには代わりに **手動** が表示され、なぜ人手が必要なのかがダイアログに説明されます。ドライランが実行可能な SQL を返さなかった場合もダイアログが明示し、その場合も人手が必要です。 + +修復後は **再チェック** をクリックし、問題が解消したことを確認します。 diff --git a/ja/basic/ai/ai-chat.mdx b/ja/basic/ai/ai-chat.mdx index 86bd09e0..7dd42acf 100644 --- a/ja/basic/ai/ai-chat.mdx +++ b/ja/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ AIは、現在のページにある情報を優先します。 - **ファイルを管理**:**+** → **その他** → **ファイルを管理**を開くと、現在のチャットのサンドボックス内にあるファイルを表示できます。対応ファイルのプレビュー、ファイルのダウンロード、不要になったファイルやフォルダーの削除が可能です。ファイルを管理するには、会話が存在している必要があります。 - **メッセージキュー**:AIの処理中に別のメッセージを送信しても、処理は中断されません。メッセージは入力ボックス上部のキューで待機し、現在の実行が終了すると送信されます。キュー内の項目には、チャット入力時と同じテーブル、ビュー、添付ファイル、選択範囲のチップが保持されます。**削除**で項目を取り除き、**...** → **メッセージを編集**で入力ボックスへ戻せます。テキストだけの項目では、待機する代わりに、そのテキストを実行中のターンへ渡す**指示を追加**も利用できます。 +## チャットを管理する + +チャットパネル右上の**履歴**をクリックすると、現在のBaseでの自分のチャットを一覧でき、名前で検索できます。 + +チャット名の横の点は、どのチャットに対応が必要かを示します。**あなたの返信を待っています**は、エージェントからの質問、認可、テーブルの選択、認証情報の要求など、あなたの関与が必要な箇所でその回が止まっていることを表し、返信するまで先へ進みません。**返信に失敗しました**は前回の返信が正常に終わらなかったことを表すので、開いて質問し直してください。**生成中…**と未読の点は進捗と新しい返信を示すだけで、操作は不要です。 + +チャットの**...**メニューでは、**ピン留め**、**名前変更**、**アーカイブ**、削除ができます。削除するとメッセージもすべて消え、元に戻せません。 + +履歴には最近100件のチャットが表示されます。よく使うチャットは**ピン留め**しておくと先頭に並び、この件数の制限を受けないため、新しいチャットが増えても押し出されません。ドラッグして並び順を変えることもできます。 + +アプリビルダーのチャットは対応するアプリの名前が付き、アーカイブできません。 + +### アーカイブ済みチャット + +アーカイブすると、チャットは履歴の一覧から外れますが、内容は削除されません。左下のアバター →**設定**→**アーカイブ済みチャット**で、各Baseでアーカイブしたチャットを確認できます。**復元**すると元のBaseのチャット履歴に戻り、不要だと確認できたものはここで削除もできます。 + ## 一般的な用途 diff --git a/ja/basic/ai/routine.mdx b/ja/basic/ai/routine.mdx new file mode 100644 index 00000000..80a48182 --- /dev/null +++ b/ja/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: ルーティン +description: Cuppy がプロンプトをスケジュールどおりに実行し、各回の結果を実行履歴で確認できます。 +--- + +クラウド版はすべてのプランで利用可能。セルフホスト版はビジネスプラン以上が必要です。 + +ルーティンはプロンプトを Cuppy に渡し、スケジュールに従って繰り返し実行します。日次レポートの作成、期限切れレコードの定期的な整理、週次の集計など、人が手動で起動しなくてよい作業に向いています。各実行は AI チャットそのものなので、テーブルの読み書き、スキルの呼び出し、ファイルの生成など、AI チャットでできることはすべて使えます。 + +ルーティンは Base 内のリソースで、テーブル・アプリ・オートメーションと並んで左サイドバーに表示されます。 + +オートメーションはレコードの変更、フォームの送信、Webhook などのイベントで起動し、あらかじめ設定した手順を実行します。ルーティンは時刻だけで起動し、エージェント自身が解釈するプロンプトを実行します。手順が固定で結果が予測できる必要があるならオートメーション、そのときのデータを見てエージェントに判断させたいならルーティンを選びます。 + +## ルーティンを作成する + + + + 左サイドバーの **+** をクリックし、**新しいルーティン** を選びます。 + + + **プロンプト** に、各回の実行で行うことを記述します。プロンプトは 1 回の実行の指示すべてなので、データの取得元、処理方法、結果の書き出し先まで書きます。たとえば「タスクテーブルに昨日追加されたレコードを集計し、担当者ごとにまとめて日報テーブルに書き込む」のように指定します。 + + + **スケジュール** で頻度を選び、必要に応じて **開始** と **終了(任意)** を設定します。 + + + **有効にする** をクリックします。事前に設定が保存されていること、スケジュールに今後の実行予定があることが必要です。 + + + +## 設定項目 + +プロンプトとスケジュール以外に、フォームには次の設定があります。 + +| 設定 | 説明 | +| --- | --- | +| **モデル** | このルーティンが使うモデルと知能レベル。**デフォルトモデル** のままにするとスペースの既定のチャットモデルを使います | +| **最大実行時間(分)** | この時間を超えた実行は中断され、失敗として記録されます。5〜120 分、既定は 30 | +| **チャット** | **実行ごとに新しいチャット** は各回を互いに独立させます。**前回の実行のチャットを続ける** はこれまでの実行の文脈を引き継ぐため、前回の結果を参照する必要がある作業に向きます | +| **開始** / **終了(任意)** | スケジュールの範囲。終了時刻を設定しなければ無期限に実行し続けます | + +保存時にそのときのモデルと知能レベルも記録されるため、実行履歴では各回が実際に何で動いたかを確認できます。 + +### スケジュール + +頻度はプリセットから選べます。**毎時** は分を、**毎日** と **平日** は時刻を、**毎週** は曜日と時刻を、**毎月** は日と時刻を指定します。 + +より細かい条件が必要な場合は **カスタム(RRULE)** を選び、`FREQ=DAILY;BYHOUR=9;BYMINUTE=0` のような RFC 5545 のルールを記述します。カスタムルールには次の制限があります。 + +- 頻度は `HOURLY`、`DAILY`、`WEEKLY`、`MONTHLY`、`YEARLY` のいずれかで、2 回の実行の間隔は 1 時間以上必要です。 +- `INTERVAL`、`COUNT`、`BYDAY`、`BYMONTHDAY`、`BYMONTH` に加え、`BYMINUTE` と `BYHOUR` を 1 つずつ使えます。`COUNT` の上限は 1000 で、`COUNT` または `INTERVAL` を使う場合は **開始** の設定が必要です。 +- タイムゾーンと範囲はフォームで指定するため、`TZID`、`DTSTART`、`UNTIL`、`BYSECOND` は使えません。 + +1 回だけ実行するスケジュールは、カスタムルールに `COUNT=1` を付けて表します。 + +スケジュールはルーティンを作成した人のタイムゾーンで評価され、閲覧者によって変わることはありません。画面に表示される **次回実行** の時刻は、すでにご自身のローカル時刻に換算されています。 + +## 下書き・更新・今すぐ実行 + +作成直後のルーティンは下書きで、有効にするまでスケジュール実行されません。有効なルーティンを編集した場合も変更はまず下書きとして保存され、稼働中のバージョンは元の設定のまま動き続けます。**更新** をクリックすると反映され、**変更を破棄** をクリックすると変更は取り消されます。 + +**今すぐ実行** を使うと、スケジュールを待たずに 1 回実行できます。プロンプトの確認に便利です。前回の実行が終わるまでは、同じルーティンを手動で再実行できません。 + +スイッチをオフにすると停止します。以後スケジュールは起動せず、既存の実行履歴はそのまま残ります。 + +## 実行履歴 + +ルーティンを開いて **実行履歴** に切り替えます。実行の一覧はステータスと期間で絞り込めるため、特定の失敗を見つけやすくなります。実行を選ぶと、予定時刻・開始時刻・終了時刻・所要時間と、その実行のチャット全体を確認できます。 + +実行のステータスは **待機中**、**実行中**、**完了**、**失敗**、**キャンセル** のいずれかです。**キャンセル** は、その実行を誰かが中断した場合、またはルーティンや所属する Base が削除された場合に表示されます。 + +**失敗** の実行には理由が示され、理由ごとに対処が異なります。 + +| 表示 | 意味 | 対処 | +| --- | --- | --- | +| **実行に失敗しました** | 実行は開始したがエラーになった | その実行のチャットを開き、エラー箇所からプロンプトとデータのどちらが原因かを判断します | +| **実行がタイムアウトしました** | **最大実行時間** を超えて中断された | **最大実行時間** を延ばすか、プロンプトを小さな処理単位に分割します | +| **スキップ:クレジット不足** | クレジットが足りず実行されなかった | スペースのクレジットを補充します | +| **スキップ:前回の実行がまだ進行中でした** | 前回の実行が終わっておらず、この予定時刻が飛ばされた | 頻度を下げるか、1 回あたりの処理量を減らします | +| **スキップ:キューでの待機がタイムアウトしました** | キューでの待機が長すぎて飛ばされた | 単発なら対処不要です。繰り返す場合は同時刻に処理が集中しているので、スケジュールをずらします | + +実行のチャットは既定で読み取り専用です。このルーティンを編集できるメンバーは末尾から続けて質問でき、その回の処理経過を調べられます。 + +実行履歴の閲覧にはルーティンを編集する権限が必要です。Base の所有者と作成者はルーティンの作成・編集・削除ができ、ほかの共同編集者は閲覧のみです。 + +## 失敗通知と自動停止 + +実行が失敗した場合やクレジットが不足した場合、Teable が通知を送ります。宛先はそのルーティンを最後に更新したメンバーで、実行履歴の上部にある **通知の送信先** に表示されます。失敗が続いても受信側が埋もれないよう、失敗通知は毎回は送られません。 + +5 回連続で失敗するとルーティンは自動的に停止し、別途通知が送られます。原因を解消したらスイッチを入れ直してください。回数は次に実行が成功した時点でリセットされます。 + +失敗しなかった実行がすべてこの回数に数えられるわけではありません。前回の実行が終わっていない、またはキューでの待機がタイムアウトしてスキップされた実行と、**キャンセル** された実行は失敗とみなされず、通知も送られません。クレジット不足は数えられるため、補充しないままだといずれ自動停止します。 + +## よくある質問 + + + + 消費します。各実行は AI チャットであり、実際の使用量に応じてスペースのクレジットに計上されます。請求ページの **クレジット使用量** に、種別 **ルーティン** として表示されます。クレジットが不足すると実行はスキップされて通知が送られ、スキップが続くと自動停止につながります。 + + + + 影響しません。変更はまず下書きとして保存され、**更新** をクリックして初めて稼働中のバージョンに適用されます。すでに進行中の実行は、開始時点の設定のまま動きます。 + + + + されます。テンプレートのインストール後、ルーティンはワークフローと同じように有効化されます。今後の実行予定がないスケジュールは下書きのまま残ります。 + + + + コンテキストが上限に近づくと Teable がチャットの内容を圧縮するため、実行が中断されることはありません。毎回きれいなコンテキストから始めたい場合は **実行ごとに新しいチャット** を選んでください。 + + diff --git a/ja/basic/credential.mdx b/ja/basic/credential.mdx index 727585c8..c95d0293 100644 --- a/ja/basic/credential.mdx +++ b/ja/basic/credential.mdx @@ -7,7 +7,7 @@ description: 自分の接続とシークレットを管理し、必要なアプ アプリやオートメーションが外部サービスを呼び出すときに使うのは、**あなたの認証情報**です。認証情報はアプリやオートメーションではなく個人に属し、次の2種類があります。 -- **接続**:OAuthでTeableに許可したサードパーティーのアカウント。Slack、Airtable、Google Sheetsなど。 +- **接続**:Teableに許可したサードパーティーのアカウント。Slack、Airtable、Google Sheetsなど。 - **シークレット**:自分で保存する文字列。APIキーやアクセストークンなど。 認証情報は**設定** → **統合**でまとめて管理し、そこから個々のアプリやオートメーションへ付与します。付与したあとは、そのアプリやオートメーションを実行する全員が、付与した人の認証情報を使います。値は誰にも表示されず、オートメーションのテスト結果でもマスクされます。 @@ -24,7 +24,11 @@ description: 自分の接続とシークレットを管理し、必要なアプ | **値** | 保存後は書き込み専用です。置き換えるには新しい値を入力します | | **説明** | 任意。そのシークレットの用途を書き留めます | -接続は**新しいアカウントを接続**から追加します。認可の期限が切れた接続には**再接続**が表示されます。 +接続は**新しいアカウントを接続**から追加します。検索ボックスにサービス名を入力すると、上部にTeableが自ら連携しているサービスが並び、その下の**Composio が管理**グループにComposioが認可する数百のサービスが並びます。どちらの接続もアプリや自動化への権限付与のしかたは同じで、値が表示されることもありません。違いはアプリのコードでの読み取り方だけで、後述の「コードで認証情報を読み取る」を参照してください。 + +ほとんどのサービスはOAuthを一度通すだけで接続できます。**API キーで接続**と表示されているサービスの場合は接続ダイアログが開き、そのサービスから発行されたキーの入力を求められます。この値はComposioが保管して各リクエストの署名に使い、Teableは保存しません。 + +認可の期限が切れた接続には**再接続**が表示されます。 各認証情報には、現在いくつのリソースで使われているかが表示されます。**表示**をクリックするとアプリとオートメーションの一覧が開きます。各項目には認可した日時が表示され、個別に**認可を解除**できます。 @@ -53,6 +57,7 @@ description: 自分の接続とシークレットを管理し、必要なアプ | オートメーションの入力欄 | 欄の横の**シークレットを挿入**をクリックし、付与済みのシークレットを選択 | | アプリ内のシークレット | サーバーサイドのコードで`process.env.MY_API_KEY`を読み取り | | アプリ内の接続 | サーバーサイドのコードで`getConnectionToken('ALIAS')`を呼び出してアクセストークンを取得 | +| アプリ内のComposioが管理する接続 | 交換できるアクセストークンがないため、サーバーサイドのコードでは代わりに`callConnection('ALIAS', { ... })`を呼び出し、Composioがサーバー側で署名します | オートメーションの入力欄にキーらしき文字列を貼り付けると、Teableはそれを自分のシークレットとして保存し、その場には参照だけを残します。平文がワークフローの設定に残ることはありません。貼り付けたままにしたい場合は、通知の**元に戻す**をクリックします。 diff --git a/ja/basic/table.mdx b/ja/basic/table.mdx index 09328e12..efc91e3d 100644 --- a/ja/basic/table.mdx +++ b/ja/basic/table.mdx @@ -136,7 +136,7 @@ description: "ベース内のテーブルを作成、インポート、共有、 /> - **フィールドを検索**をオンにして、検索するフィールドを選択します。このモードでは、テキストフィールドに加えて日付フィールドも使用できます。 -- **フィールドを検索**をオフにすると、対応するすべてのフィールドを対象にあいまい検索を実行します。グローバル検索には、日付、チェックボックス、ボタンのフィールドは含まれません。インスタンスによっては、グローバル検索の対象にできるフィールド数も制限される場合があります。 +- **フィールドを検索**をオフにすると、現在のビューに表示されているフィールドを対象にあいまい検索を実行します。そのビューで非表示のフィールドは一致対象になりません。グローバル検索には、日付、チェックボックス、ボタンのフィールドは含まれません。インスタンスによっては、グローバル検索の対象にできるフィールド数も制限される場合があります。 - **一致しない行を非表示**をオンにすると、一致するレコードだけが表示されます。オフにすると、すべての行を表示したまま一致箇所が強調表示されます。 - 大規模なテーブルでは、編集者が**インデックス**をオンにして検索速度を向上できます。インデックスの構築または更新中は、読み取りと書き込みの性能へ一時的に影響する場合があります。 diff --git a/ru/basic/admin-panel/overview.mdx b/ru/basic/admin-panel/overview.mdx index 28689fdf..daa5048a 100644 --- a/ru/basic/admin-panel/overview.mdx +++ b/ru/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ description: "Панель администрирования самостоят - **[Вычисляемый исходящий буфер](/ru/basic/admin-panel/computed-outbox)**: Отслеживайте доставку вычисляемых задач, работоспособность очереди и накопившиеся задачи в базе данных - **[Очередь генерации ИИ](/ru/basic/admin-panel/ai-generation-queue)**: Проверяйте статус генерации ИИ-полей в текущем самостоятельно развернутом экземпляре - **[Агент песочницы](/ru/basic/admin-panel/sandbox-agent)**: Настраивайте Агент песочницы и управляйте им +- **[Schema integrity](/ru/basic/admin-panel/schema-integrity)**: Запускайте проверки схемы для любой базы и устраняйте найденное - **[Журнал аудита](/ru/basic/admin-panel/audit-log)**: Просматривайте недавнюю активность экземпляра и сведения об операциях ## Разрешения администратора diff --git a/ru/basic/admin-panel/schema-integrity.mdx b/ru/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..5166a705 --- /dev/null +++ b/ru/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Поиск и устранение расхождений между определениями полей базы и структурой её базы данных." +--- + +Доступно для self-hosted на тарифе Business и выше + +Путь: Панель администратора → Schema integrity + +Определения полей, которые хранит Teable, и фактическая структура в базе данных должны совпадать. Когда они расходятся, пользователи видят поля, которые не открываются, поля-ссылки без значений или таблицу, у которой постоянно не удаются чтение и запись, — причём видимой причины нет. **Schema integrity** находит такие проблемы и устраняет их. + +Администратор экземпляра может проверить любую базу экземпляра, не вступая предварительно в её пространство, включая арендаторов с собственной базой данных (BYODB). + +## Запуск проверки + +Найдите базу через поле поиска — по базе, пространству, ID таблицы или имени. В списке результатов показаны пространство (**Space**), используемая база данных (**Data DB** — стандартная или BYODB) и среда выполнения (**Runtime** — v1 или v2); по ним вы убеждаетесь, что нашли нужную. Одинаковые имена баз в разных пространствах встречаются часто. + +Нажмите **Check** в этой строке, затем **Запустить проверку** в диалоге **Целостность схемы**. + +## Чтение результатов + +Результаты перечислены по полям и правилам в четырёх состояниях: + +| Состояние | Значение | Что делать | +| --- | --- | --- | +| **Ошибка** | Цель ссылки поля больше не существует либо конфигурация поля не совпадает с фактической структурой в базе данных | Это прямая причина сбоев чтения и записи, её нужно устранить | +| **Предупреждение** | Отклоняется от ожидаемой структуры, но чтение и запись пока работают | Устраните его либо зафиксируйте и наблюдайте | +| **Пропущено** | Правило неприменимо к этому полю и ничего не оценивало | Ничего делать не нужно | +| **Успешно** | Соответствует ожидаемому | Ничего делать не нужно | + +Начинайте с состояния **Ошибка**: сбой, о котором сообщил пользователь, почти всегда попадает в эту категорию. **Предупреждение** не объясняет текущий сбой, но по мере дальнейших изменений структуры полей может превратиться в ошибку, поэтому его стоит закрыть после разбора ошибок. + +## Исправление + +Можно **Исправить** по одному правилу или работать пакетно через **Исправить только предупреждения** и **Исправить предупреждения и ошибки**. Пока вы разбираете текущий сбой, устраняйте ошибки по одной и убеждайтесь, что сбой ушёл, прежде чем браться за предупреждения: так новую проблему можно связать с конкретным изменением. + +Исправление меняет только структуру таблицы и не трогает содержимое записей. Перед запуском воспользуйтесь предпросмотром рядом с кнопкой исправления: в окне **Подтвердите детали восстановления** показаны обоснование и SQL, полученные при пробном прогоне, и ничего не выполняется до вашего подтверждения. + +Часть правил нельзя исправить автоматически — у них отображается **Вручную**, и диалог объясняет, почему проблема требует участия человека. Если пробный прогон не вернул исполняемый SQL, диалог сообщает об этом прямо, и такой случай тоже требует участия человека. + +После исправления нажмите **Проверить снова**, чтобы убедиться, что проблемы больше нет. diff --git a/ru/basic/ai/ai-chat.mdx b/ru/basic/ai/ai-chat.mdx index 9bd160d7..d2bcaf74 100644 --- a/ru/basic/ai/ai-chat.mdx +++ b/ru/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ description: Взаимодействуйте с данными на естес - **Управление файлами**: откройте **+** → **Ещё** → **Управление файлами**, чтобы просмотреть файлы в изолированной среде текущего чата. Можно просматривать поддерживаемые файлы, скачивать их или удалять ненужные файлы и папки. Для управления файлами беседа уже должна существовать. - **Очередь сообщений**: отправка другого сообщения, пока ИИ работает, не прерывает его. Сообщение ожидает в очереди над полем ввода и будет отправлено после завершения текущего запуска. Элементы в очереди сохраняют те же чипы таблицы, представления, вложения и выбора, что и поле ввода чата; **Удалить** удаляет элемент, **...** → **Редактировать сообщение** возвращает его в поле ввода, а для элемента только с текстом также доступно **Направить**, чтобы передать его текст текущему запуску вместо ожидания. +## Управление чатами + +Нажмите **История** в правом верхнем углу панели чата, чтобы увидеть свои чаты в текущей базе и найти нужный по названию. + +Точка рядом с названием чата показывает, какие чаты ждут вас. **Ожидает вашего ответа** означает, что ход остановился там, где нужны вы: вопрос агента, авторизация, выбор таблицы или запрос учётных данных. Пока вы не ответите, он не продолжится. **Ответ не удался** означает, что последний ответ не завершился корректно; откройте чат и спросите ещё раз. **Генерация…** и точка непрочитанного лишь сообщают о ходе работы и новых ответах и ничего от вас не требуют. + +В меню **...** чата доступны **Закрепить**, **Переименовать**, **В архив** и удаление. Удаление стирает и все его сообщения, отменить его нельзя. + +История показывает 100 последних чатов. Закрепляйте те, которыми пользуетесь часто: закреплённый чат идёт первым и не подпадает под это ограничение, поэтому новые чаты его не вытеснят. Чат также можно перетащить на другое место. + +Чаты Конструктора приложений названы по своему приложению, и в архив их отправить нельзя. + +### Архив чатов + +Отправка в архив убирает чат из истории, ничего не удаляя. Откройте аватар в левом нижнем углу → **Настройки** → **Архив чатов**, чтобы увидеть чаты, отправленные в архив в разных базах. **Восстановить** вернёт чат в историю его базы, а когда вы уверены, что он больше не нужен, здесь же его можно удалить. + ## Распространённые сценарии diff --git a/ru/basic/ai/routine.mdx b/ru/basic/ai/routine.mdx new file mode 100644 index 00000000..25323518 --- /dev/null +++ b/ru/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: Рутина +description: Cuppy выполняет промпт по расписанию, а результат каждого запуска виден в истории выполнения. +--- + +Доступно на всех облачных тарифах; для self-hosted требуется тариф Business или выше. + +Рутина передаёт промпт Cuppy и повторяет его по расписанию. Это подходит для работы, которую никто не должен запускать вручную: ежедневный отчёт, регулярная чистка устаревших записей, еженедельная сводка. Каждый запуск — это полноценный чат с ИИ, поэтому рутине доступно всё то же, что и чату: чтение и запись таблиц, вызов навыков, создание файлов. + +Рутина — это ресурс внутри базы, она стоит в левой боковой панели рядом с таблицами, приложениями и автоматизациями. + +Автоматизация срабатывает на событие — изменение записи, отправку формы, вебхук — и выполняет заранее настроенные шаги. Рутина срабатывает только по времени и выполняет промпт, который агент трактует сам. Берите автоматизацию, когда нужны фиксированные шаги и предсказуемый результат; берите рутину, когда агент должен каждый раз сам решать, что делать с текущими данными. + +## Создание рутины + + + + В левой боковой панели нажмите **+** и выберите **Новая рутина**. + + + Опишите в поле **Промпт**, что должен делать каждый запуск. Промпт — это полная инструкция для запуска, поэтому укажите источник данных, порядок обработки и место для результата. Например: «Собери записи, добавленные вчера в таблицу Задачи, сгруппируй их по ответственным и запиши сводку в таблицу Ежедневный отчёт». + + + Выберите частоту в разделе **Расписание** и при необходимости укажите **Начало** и **Окончание (необязательно)**. + + + Нажмите **Активировать**. Конфигурация должна быть сохранена, а в расписании должен быть хотя бы один будущий запуск. + + + +## Настройки + +Помимо промпта и расписания форма содержит следующие настройки: + +| Настройка | Описание | +| --- | --- | +| **Модель** | Модель и уровень интеллекта, на которых работает эта рутина. Оставьте **Модель по умолчанию**, чтобы использовать модель чата, заданную в пространстве | +| **Максимальное время выполнения (минуты)** | Запуск сверх этого предела прерывается и отмечается как неудачный. От 5 до 120 минут, по умолчанию 30 | +| **Чат** | **Новый чат для каждого запуска** оставляет запуски независимыми друг от друга; **Продолжить чат предыдущего запуска** переносит контекст прошлых запусков и подходит для работы, которой нужен предыдущий результат | +| **Начало** / **Окончание (необязательно)** | Границы расписания. Без времени окончания рутина работает бессрочно | + +Модель и уровень интеллекта фиксируются при сохранении, поэтому в истории выполнения видно, на чём фактически работал каждый запуск. + +### Расписание + +Частоту можно выбрать из готовых вариантов: **Ежечасно** с указанием минуты, **Ежедневно** и **По будням** с указанием времени, **Еженедельно** с указанием дня недели и времени, **Ежемесячно** с указанием числа и времени. + +Для более точных условий выберите **Пользовательская (RRULE)** и напишите правило RFC 5545, например `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. У пользовательского правила есть ограничения: + +- Частота должна быть `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY` или `YEARLY`, а между двумя запусками должен быть промежуток не менее 1 часа. +- Допустимы `INTERVAL`, `COUNT`, `BYDAY`, `BYMONTHDAY`, `BYMONTH`, а также по одному `BYMINUTE` и `BYHOUR`. Максимум для `COUNT` — 1000, а `COUNT` или `INTERVAL` требуют заданного времени в поле **Начало**. +- Часовой пояс и границы задаются формой, поэтому `TZID`, `DTSTART`, `UNTIL` и `BYSECOND` отклоняются. + +Расписание с единственным запуском записывается пользовательским правилом с `COUNT=1`. + +Расписание вычисляется в часовом поясе того, кто создал рутину, и не подстраивается под того, кто её смотрит. Время в строке **Следующий запуск** уже пересчитано в ваше местное. + +## Черновики, обновление и запуск вручную + +Новая рутина — это черновик, и по расписанию она не запускается, пока вы её не активируете. При редактировании активной рутины изменение тоже сохраняется черновиком, а работающая версия продолжает использовать прежнюю конфигурацию: нажмите **Обновить**, чтобы применить его, или **Отменить изменения**, чтобы отказаться. + +**Запустить сейчас** выполняет рутину однократно, не дожидаясь расписания, — так удобно проверять промпт. Пока предыдущий запуск не завершился, запустить рутину вручную повторно нельзя. + +Чтобы остановить рутину, выключите переключатель. Расписание перестанет срабатывать, а накопленная история выполнения сохранится. + +## История выполнения + +Откройте рутину и перейдите на вкладку **История выполнения**. Список запусков фильтруется по статусу и периоду, что помогает найти конкретный сбой; у выбранного запуска видно запланированное время, время начала и завершения, длительность и полный чат этого запуска. + +Запуски отмечаются как **В очереди**, **Выполняется**, **Завершён**, **Ошибка** или **Отменено**. **Отменено** появляется, когда запуск кто-то прервал либо когда рутина или её база были удалены. + +Запуск со статусом **Ошибка** указывает причину, и каждая причина требует своего решения: + +| Сообщение | Значение | Что делать | +| --- | --- | --- | +| **Запуск завершился ошибкой** | Запуск начался, но столкнулся с ошибкой | Откройте чат этого запуска и по месту сбоя определите, дело в промпте или в данных | +| **Время выполнения истекло** | Запуск превысил **Максимальное время выполнения** и был прерван | Увеличьте **Максимальное время выполнения** или разбейте промпт на меньшие порции работы | +| **Пропущен: недостаточно кредитов** | Кредиты закончились, запуск не начался | Пополните кредиты пространства | +| **Пропущен: предыдущий запуск ещё выполнялся** | Предыдущий запуск не завершился, поэтому это срабатывание пропущено | Снизьте частоту или уменьшите объём работы одного запуска | +| **Пропущен: истекло время ожидания в очереди** | Запуск слишком долго ждал в очереди и был пропущен | Единичный случай ничего не требует; если повторяется, на одно время запланировано слишком много — разнесите расписания | + +Чат запуска доступен только для чтения. Участники, которым разрешено редактировать рутину, могут продолжить его в конце, чтобы разобраться, как проходил конкретный запуск. + +Для просмотра истории выполнения нужно право на редактирование рутины. Владелец и создатель базы могут создавать, редактировать и удалять рутины; у остальных участников доступ только на чтение. + +## Уведомления об ошибках и автоматическая остановка + +Teable отправляет уведомление, когда запуск завершается ошибкой или кончаются кредиты. Оно уходит участнику, который последним обновлял рутину; кто именно, показано в строке **Уведомления будут отправлены** вверху истории выполнения. Уведомления об ошибках приходят не после каждого случая, чтобы длинная череда сбоев не завалила получателя. + +После 5 неудач подряд рутина останавливается автоматически, и об этом приходит отдельное уведомление. Устраните причину и снова включите переключатель; счётчик обнуляется после первого успешного запуска. + +В этот счёт попадают не все неуспешные запуски: пропущенные из-за того, что предыдущий ещё выполнялся или истекло ожидание в очереди, а также **Отменено** — не считаются ошибками и не вызывают уведомлений. Нехватка кредитов считается, поэтому без пополнения рутина рано или поздно остановится. + +## Частые вопросы + + + + Да. Каждый запуск — это чат с ИИ, он списывается с кредитов пространства по фактическому расходу и попадает в **Суммарное использование кредитов** на странице оплаты под типом **Рутина**. При нехватке кредитов запуск пропускается и приходит уведомление, а повторные пропуски приводят к остановке рутины. + + + + Нет. Изменение сохраняется черновиком и попадает в работающую версию только после нажатия **Обновить**. Уже начавшийся запуск остаётся на той конфигурации, с которой стартовал. + + + + Да. После установки шаблона его рутины включаются так же, как и его рабочие процессы. Расписание без будущих запусков остаётся черновиком. + + + + Когда контекст подходит к пределу, Teable уплотняет чат, поэтому запуски из-за этого не прерываются. Выберите **Новый чат для каждого запуска**, если каждый запуск должен начинаться с чистого контекста. + + diff --git a/ru/basic/credential.mdx b/ru/basic/credential.mdx index 1859b549..2d4d85b5 100644 --- a/ru/basic/credential.mdx +++ b/ru/basic/credential.mdx @@ -7,7 +7,7 @@ description: Управляйте своими подключениями и с Когда приложение или автоматизация обращается к внешнему сервису, она использует **ваши учётные данные**. Они принадлежат вам, а не приложению или автоматизации, и бывают двух видов: -- **Подключения** — сторонние аккаунты, доступ к которым вы выдали Teable через OAuth: Slack, Airtable, Google Sheets. +- **Подключения** — сторонние аккаунты, доступ к которым вы выдали Teable: Slack, Airtable, Google Sheets. - **Секреты** — строки, которые вы сохраняете сами: ключ API, токен доступа и тому подобное. Учётные данные хранятся в разделе **Настройки** → **Интеграции**, оттуда вы выдаёте их отдельным приложениям и автоматизациям. После выдачи все, кто запускает это приложение или автоматизацию, используют учётные данные того, кто их выдал. Значение никому не показывается, а в результатах тестирования автоматизации оно скрыто. @@ -24,7 +24,11 @@ description: Управляйте своими подключениями и с | **Значение** | После сохранения доступно только для записи; чтобы заменить, введите новое | | **Описание** | Необязательное, чтобы отметить назначение секрета | -Подключение добавляется кнопкой **Подключить новый аккаунт**. Когда авторизация истекает, у подключения появляется **Переподключить**. +Подключение добавляется кнопкой **Подключить новый аккаунт**. Введите название сервиса в поле поиска: сверху идут сервисы, которые Teable интегрирует сам, а ниже группа **Управляется Composio** собирает несколько сотен тех, что авторизует Composio. Оба вида выдаются приложениям и автоматизациям одинаково, и ни один не раскрывает своё значение; различие только в том, как их читает код приложения, — см. ниже «Чтение учётных данных в коде». + +Большинство сервисов подключается за один проход OAuth. Сервис с пометкой **Подключается по API-ключу** вместо этого открывает диалог подключения и запрашивает ключ, который вам выдал этот сервис; Composio хранит это значение и подписывает им каждый запрос, а Teable его не сохраняет. + +Когда авторизация истекает, у подключения появляется **Переподключить**. Для каждой записи показано, сколько ресурсов её сейчас используют. По кнопке **Посмотреть** открывается список приложений и автоматизаций с указанием времени выдачи доступа, где для любого из них можно **Отозвать доступ**. @@ -53,6 +57,7 @@ description: Управляйте своими подключениями и с | Поля ввода автоматизации | Нажмите **Вставить секрет** рядом с полем и выберите выданный секрет | | Секреты в приложении | Серверный код читает `process.env.MY_API_KEY` | | Подключения в приложении | Серверный код вызывает `getConnectionToken('ALIAS')` и получает токен доступа | +| Подключения под управлением Composio в приложении | У них нет токена доступа для обмена; серверный код вызывает `callConnection('ALIAS', { ... })`, а Composio подписывает запрос на своей стороне | Если вставить в поле автоматизации строку, похожую на ключ, Teable сохранит её как ваш секрет и оставит на месте ссылку, поэтому открытый текст не попадёт в конфигурацию рабочего процесса. Чтобы оставить текст как есть, нажмите **Отменить** в уведомлении. diff --git a/ru/basic/table.mdx b/ru/basic/table.mdx index 83762ae8..8be610c8 100644 --- a/ru/basic/table.mdx +++ b/ru/basic/table.mdx @@ -136,7 +136,7 @@ description: "Создавайте, импортируйте, публикуйт /> - Включите **Поле поиска**, чтобы выбрать Поля для поиска. Этот режим поддерживает Поля даты наряду с текстовыми Полями. -- Отключите **Поле поиска**, чтобы выполнить нечёткий поиск по всем поддерживаемым Полям. Глобальный поиск не включает Поля даты, флажка или кнопки. Ваш экземпляр также может ограничивать количество Полей, охватываемых глобальным поиском. +- Отключите **Поле поиска**, чтобы выполнить нечёткий поиск по Полям, видимым в текущем представлении; скрытые в нём Поля в поиске не участвуют. Глобальный поиск не включает Поля даты, флажка или кнопки. Ваш экземпляр также может ограничивать количество Полей, охватываемых глобальным поиском. - Включите **Скрыть несовпадающие строки**, чтобы показывать только совпадающие Записи. Отключите его, чтобы все строки оставались видимыми, а совпадения выделялись. - Для больших Таблиц редакторы могут включить **Индекс**, чтобы повысить скорость поиска. Создание или обновление индекса может временно повлиять на производительность чтения и записи. diff --git a/tr/basic/admin-panel/overview.mdx b/tr/basic/admin-panel/overview.mdx index 814507b2..4a33b5b7 100644 --- a/tr/basic/admin-panel/overview.mdx +++ b/tr/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ Yönetici Paneli, sayfaları amaçlarına göre gruplandırır: - **[Hesaplama Giden Kutusu](/tr/basic/admin-panel/computed-outbox)**: Hesaplama görevlerinin teslimatını, kuyruk durumunu ve veritabanı birikimini izleyin - **[AI oluşturma kuyruğu](/tr/basic/admin-panel/ai-generation-queue)**: Mevcut kendi sunucunuzda barındırılan örnekte AI Alanı oluşturma durumunu inceleyin - **[Korumalı Alan Aracısı](/tr/basic/admin-panel/sandbox-agent)**: Korumalı Alan Aracısını yapılandırın ve yönetin +- **[Schema integrity](/tr/basic/admin-panel/schema-integrity)**: Herhangi bir base üzerinde şema kontrolü çalıştırın ve bulunanları onarın - **[Denetim günlüğü](/tr/basic/admin-panel/audit-log)**: Son örnek etkinliklerini ve işlem ayrıntılarını inceleyin ## Yönetici İzinleri diff --git a/tr/basic/admin-panel/schema-integrity.mdx b/tr/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..01a60ddb --- /dev/null +++ b/tr/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Bir base'in alan tanımlarıyla veritabanı yapısı arasındaki uyumsuzlukları inceleyin ve onarın." +--- + +Self-hosted Business planı ve üzeri için kullanılabilir + +Yol: Yönetim Paneli → Schema integrity + +Teable'ın tuttuğu alan tanımlarıyla veritabanındaki gerçek yapının birbirine uyması beklenir. İkisi birbirinden ayrıldığında kullanıcılar açılmayan alanlar, hiçbir şey döndürmeyen bağlantı alanları ya da okuma ve yazma işlemleri sürekli başarısız olan bir tablo görür; görünürde bir sebep yoktur. **Schema integrity** bu türden sorunları bulur ve onarır. + +Örnek yöneticisi, önce ilgili alana katılmadan örnekteki herhangi bir base'i kontrol edebilir; müşteri tarafından yönetilen veritabanı (BYODB) kiracıları da buna dahildir. + +## Kontrolü çalıştırma + +Base'i arama kutusundan bulun: base, alan, tablo kimliği veya ad ile arayabilirsiniz. Sonuç listesi ait olduğu **Space**, kullandığı **Data DB** (varsayılan veya BYODB) ve **Runtime** (v1 veya v2) bilgisini gösterir; doğru base'i bulduğunuzu böyle doğrularsınız. Aynı base adının farklı alanlarda bulunması sık rastlanan bir durumdur. + +İlgili satırdaki **Check** düğmesine, ardından **Şema Bütünlüğü** penceresindeki **Kontrolü başlat** düğmesine tıklayın. + +## Sonuçları okuma + +Sonuçlar alan ve kural bazında, dört durumda listelenir: + +| Durum | Anlamı | Ne yapmalı | +| --- | --- | --- | +| **Hata** | Alanın bağlantı hedefi artık yok ya da alan yapılandırması veritabanındaki gerçek yapıyla örtüşmüyor | Başarısız okuma ve yazmaların doğrudan sebebidir, onarılması gerekir | +| **Uyarı** | Beklenen yapıdan sapıyor ama okuma ve yazma hâlâ düzgün çalışıyor | Onarın ya da not edip izleyin | +| **Atlandı** | Kural bu alan için geçerli değil, bir değerlendirme yapılmadı | Yapılacak bir şey yok | +| **Başarılı** | Beklenene uygun | Yapılacak bir şey yok | + +**Hata** ile başlayın: bir kullanıcının bildirdiği arıza neredeyse her zaman bu kategoriye düşer. **Uyarı**, mevcut arızayı açıklamaz; ancak alan yapısı değişmeye devam ettikçe hataya dönüşebilir, bu yüzden hatalar halledildikten sonra ele alınmaya değer. + +## Onarma + +Kural kural **Onar** diyebilir ya da **Yalnızca uyarıları onar** ve **Uyarıları ve hataları onar** ile toplu çalışabilirsiniz. Süren bir arızanın peşindeyken hataları teker teker onarın ve uyarılara geçmeden önce arızanın geçtiğini doğrulayın; böylece yeni bir sorun tek bir değişikliğe bağlanabilir. + +Onarım yalnızca tablo yapısını değiştirir, kayıtların içeriğine dokunmaz. Çalıştırmadan önce onarım düğmesinin yanındaki önizlemeyi kullanın: **Onarım ayrıntılarını onaylayın** penceresinde deneme çalıştırmasının ürettiği gerekçe ve SQL görünür; siz onaylamadan hiçbir şey yürütülmez. + +Bazı kurallar otomatik onarılamaz ve bunun yerine **Manuel** gösterir; pencere o zaman sorunun neden bir kişiye ihtiyaç duyduğunu açıklar. Deneme çalıştırması yürütülebilir SQL döndürmediğinde pencere bunu açıkça belirtir ve o durum da bir kişiye ihtiyaç duyar. + +Onarımdan sonra sorunun geçtiğini doğrulamak için **Tekrar kontrol et** düğmesine tıklayın. diff --git a/tr/basic/ai/ai-chat.mdx b/tr/basic/ai/ai-chat.mdx index 05d2ff49..3ead3ccd 100644 --- a/tr/basic/ai/ai-chat.mdx +++ b/tr/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ Uzun bir düz metin bloğu yapıştırdığınızda Teable, mesaj girişinin kol - **Dosyaları yönetme**: Mevcut sohbet korumalı alanındaki dosyaları görüntülemek için **+** → **Diğer** → **Dosyaları yönet** yolunu açın. Desteklenen dosyaları önizleyebilir, dosyaları indirebilir veya artık gerek duymadığınız dosya ve klasörleri silebilirsiniz. Dosyaların yönetilebilmesi için bir sohbetin mevcut olması gerekir. - **Mesaj kuyruğu**: AI çalışırken başka bir mesaj göndermek işlemi kesintiye uğratmaz. Mesaj, giriş kutusunun üzerindeki kuyrukta bekler ve mevcut çalışma sona erdiğinde gönderilir. Kuyruktaki öğeler sohbet girişiyle aynı Tablo, Görünüm, ek ve seçim etiketlerini korur; **Kaldır** bir öğeyi siler, **...** → **Mesajı düzenle** öğeyi yeniden giriş kutusuna taşır, yalnızca metin içeren öğelerde bulunan **Yönlendir** ise metni bekletmek yerine çalışan işleme aktarır. +## Sohbetleri yönetme + +Sohbet panelinin sağ üstündeki **Geçmiş** düğmesine tıklayarak geçerli base'teki sohbetlerinizi görebilir ve ada göre arayabilirsiniz. + +Sohbet adının yanındaki nokta, hangi sohbetlerin sizi beklediğini gösterir. **Yanıtınız bekleniyor**, turun sizi ilgilendiren bir noktada durduğu anlamına gelir: ajanın bir sorusu, bir yetkilendirme, seçilecek bir tablo ya da bir kimlik bilgisi talebi. Siz yanıtlamadan devam etmez. **Yanıt başarısız oldu**, son yanıtın düzgün tamamlanmadığını gösterir; sohbeti açıp yeniden sorun. **Oluşturuluyor…** ve okunmadı noktası yalnızca ilerlemeyi ve yeni yanıtları bildirir, sizden bir şey istemez. + +Bir sohbetin **...** menüsünde **Sabitle**, **Yeniden Adlandır**, **Arşivle** ve silme bulunur. Silme işlemi tüm mesajları da kaldırır ve geri alınamaz. + +Geçmiş, en son 100 sohbeti gösterir. Sık kullandıklarınızı sabitleyin: sabitlenmiş sohbet listenin başında durur ve bu sınırın dışındadır, dolayısıyla yeni sohbetler biriktikçe dışarı itilmez. Sohbeti sürükleyerek yerini de değiştirebilirsiniz. + +Uygulama Oluşturucu sohbetleri kendi uygulamalarının adını taşır ve arşivlenemez. + +### Arşivlenen sohbetler + +Arşivleme, bir sohbeti hiçbir şeyi silmeden geçmiş listesinden çıkarır. Sol alttaki avatarınız → **Ayarlar** → **Arşivlenen sohbetler** yolundan farklı base'lerde arşivlediğiniz sohbetleri görebilirsiniz. **Geri yükle** sohbeti kendi base'inin geçmişine döndürür; artık gerekmediğinden eminseniz burada silebilirsiniz de. + ## Yaygın Kullanımlar diff --git a/tr/basic/ai/routine.mdx b/tr/basic/ai/routine.mdx new file mode 100644 index 00000000..f83bea04 --- /dev/null +++ b/tr/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: Rutin +description: Cuppy bir prompt'u zamanlamaya göre çalıştırsın, her çalıştırmanın sonucunu çalıştırma geçmişinden inceleyin. +--- + +Tüm Cloud planlarında kullanılabilir; self-hosted için Business veya üzeri gerekir. + +Rutin, bir prompt'u Cuppy'ye devreder ve zamanlamaya göre tekrarlar. Bu, kimsenin elle başlatmasına gerek olmayan işler için uygundur: günlük rapor, süresi dolmuş kayıtların düzenli temizliği, haftalık özet. Her çalıştırma eksiksiz bir AI sohbetidir; dolayısıyla bir rutin, tablo okuyup yazmak, beceri çağırmak ve dosya üretmek dahil AI sohbetin yaptığı her şeyi yapabilir. + +Rutin, base içindeki bir kaynaktır ve sol kenar çubuğunda tablolar, uygulamalar ve otomasyonların yanında yer alır. + +Otomasyon; kayıt değişikliği, form gönderimi veya webhook gibi bir olayla tetiklenir ve önceden yapılandırdığınız adımları çalıştırır. Rutin yalnızca zamanla tetiklenir ve ajanın kendisinin yorumladığı bir prompt'u çalıştırır. Sabit adımlara ve öngörülebilir sonuca ihtiyacınız varsa otomasyonu; ajanın her seferinde güncel veriye bakıp kendisi karar vermesini istiyorsanız rutini seçin. + +## Rutin oluşturma + + + + Sol kenar çubuğunda **+** düğmesine tıklayıp **Yeni rutin** seçeneğini seçin. + + + **Prompt** alanında her çalıştırmanın ne yapacağını anlatın. Prompt, bir çalıştırmanın tüm talimatıdır; bu yüzden verinin nereden geldiğini, nasıl işleneceğini ve sonucun nereye yazılacağını belirtin. Örneğin: "Görevler tablosuna dün eklenen kayıtları özetle, sorumluya göre grupla ve özeti Günlük Rapor tablosuna yaz." + + + **Zamanlama** altında bir sıklık seçin, gerekiyorsa **Başlangıç** ve **Bitiş (isteğe bağlı)** değerlerini girin. + + + **Etkinleştir** düğmesine tıklayın. Yapılandırmanın kaydedilmiş olması ve zamanlamada gelecekte bir çalıştırmanın bulunması gerekir. + + + +## Ayarlar + +Prompt ve zamanlamanın dışında formda şu ayarlar bulunur: + +| Ayar | Açıklama | +| --- | --- | +| **Model** | Bu rutinin çalıştığı model ve zekâ düzeyi. **Varsayılan model** bırakıldığında alanın varsayılan sohbet modeli kullanılır | +| **Maksimum çalışma süresi (dakika)** | Bu sınırı aşan çalıştırma durdurulur ve başarısız sayılır. 5–120 dakika; varsayılan 30 | +| **Sohbet** | **Her çalıştırmada yeni sohbet**, çalıştırmaları birbirinden bağımsız tutar; **Önceki çalıştırmanın sohbetine devam et**, önceki çalıştırmaların bağlamını taşır ve son sonuca başvurması gereken işler için uygundur | +| **Başlangıç** / **Bitiş (isteğe bağlı)** | Zamanlamanın sınırları. Bitiş zamanı verilmezse rutin süresiz çalışmaya devam eder | + +Model ve zekâ düzeyi kaydederken birlikte yazılır; bu sayede çalıştırma geçmişinde her çalıştırmanın gerçekte neyle çalıştığı görünür. + +### Zamanlama + +Sıklığı hazır seçeneklerden belirleyin: dakikası verilen **Saatlik**, saati verilen **Günlük** ve **Hafta içi**, gün ve saati verilen **Haftalık**, ayın günü ve saati verilen **Aylık**. + +Daha özel bir kurala ihtiyaç duyarsanız **Özel (RRULE)** seçeneğini seçip `FREQ=DAILY;BYHOUR=9;BYMINUTE=0` gibi bir RFC 5545 kuralı yazın. Özel kuralın sınırları şunlardır: + +- Sıklık `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY` veya `YEARLY` olmalı ve iki çalıştırma arasında en az 1 saat bulunmalıdır. +- `INTERVAL`, `COUNT`, `BYDAY`, `BYMONTHDAY`, `BYMONTH` ile birer `BYMINUTE` ve `BYHOUR` kullanılabilir. `COUNT` en fazla 1000 olabilir; `COUNT` veya `INTERVAL` kullanıldığında **Başlangıç** zamanı gerekir. +- Saat dilimi ve sınırlar formdan gelir; bu nedenle `TZID`, `DTSTART`, `UNTIL` ve `BYSECOND` kabul edilmez. + +Yalnızca bir kez çalışacak zamanlamayı `COUNT=1` içeren özel bir kuralla yazın. + +Zamanlama, rutini oluşturan kişinin saat dilimine göre hesaplanır ve görüntüleyene göre değişmez. Arayüzde görünen **Sonraki çalıştırma** zamanı ise kendi yerel saatinize çevrilmiştir. + +## Taslak, güncelleme ve hemen çalıştırma + +Yeni oluşturulan rutin bir taslaktır ve siz etkinleştirene kadar zamanlamaya göre çalışmaz. Etkin bir rutini düzenlediğinizde değişiklik yine taslak olarak kaydedilir, yayındaki sürüm eski yapılandırmayla çalışmayı sürdürür: uygulamak için **Güncelle**, vazgeçmek için **Değişiklikleri sil** düğmesine tıklayın. + +**Şimdi çalıştır**, zamanlamayı beklemeden bir kez çalıştırır; prompt'u denemek için elverişlidir. Önceki çalıştırma bitmeden aynı rutin elle yeniden çalıştırılamaz. + +Durdurmak için anahtarı kapatın. Zamanlama artık tetiklenmez, mevcut çalıştırma geçmişi korunur. + +## Çalıştırma Geçmişi + +Rutini açıp **Çalıştırma Geçmişi** sekmesine geçin. Liste duruma ve tarih aralığına göre filtrelenebilir; bu, belirli bir hatayı bulmayı kolaylaştırır. Bir çalıştırmayı seçtiğinizde planlanan, başlangıç ve bitiş zamanlarını, süreyi ve o çalıştırmanın tüm sohbetini görürsünüz. + +Çalıştırmalar **Sırada**, **Çalışıyor**, **Tamamlandı**, **Başarısız** veya **İptal** olarak bildirilir. **İptal**, çalıştırmayı birinin durdurduğu ya da rutinin veya base'inin silindiği durumlarda görünür. + +**Başarısız** bir çalıştırma nedenini bildirir ve her neden farklı bir karşılık gerektirir: + +| Mesaj | Anlamı | Ne yapmalı | +| --- | --- | --- | +| **Çalıştırma başarısız oldu** | Çalıştırma başladı ama bir hatayla karşılaştı | O çalıştırmanın sohbetini açıp hata noktasından sorunun prompt'ta mı veride mi olduğuna karar verin | +| **Çalıştırma zaman aşımına uğradı** | Çalıştırma **Maksimum çalışma süresi** sınırını aşıp durduruldu | **Maksimum çalışma süresi** değerini yükseltin ya da prompt'u daha küçük iş parçalarına bölün | +| **Atlandı: yeterli kredi yok** | Kredi tükendiği için çalıştırma hiç başlamadı | Alanın kredisini yükleyin | +| **Atlandı: önceki çalıştırma hâlâ devam ediyordu** | Önceki çalıştırma bitmediği için bu sefer atlandı | Sıklığı düşürün ya da tek çalıştırmanın işlediği miktarı azaltın | +| **Atlandı: sırada bekleme zaman aşımına uğradı** | Çalıştırma sırada fazla bekleyip atlandı | Tek seferlik durumlar için bir şey gerekmez; tekrarlıyorsa aynı ana çok iş yığılmıştır, zamanlamaları birbirinden ayırın | + +Bir çalıştırmanın sohbeti salt okunurdur. Rutini düzenleyebilen üyeler, belirli bir çalıştırmanın nasıl ilerlediğini incelemek için sohbetin sonundan devam edebilir. + +Çalıştırma geçmişi için rutini düzenleme izni gerekir. Bir base'in sahibi ve oluşturucusu rutin oluşturabilir, düzenleyebilir ve silebilir; diğer iş arkadaşlarının erişimi okuma düzeyindedir. + +## Hata bildirimleri ve otomatik durdurma + +Bir çalıştırma başarısız olduğunda veya kredi bittiğinde Teable bildirim gönderir. Bildirim, rutini en son güncelleyen üyeye gider; kim olduğu çalıştırma geçmişinin üstünde **Bildirimler şu kişiye gönderilecek** satırında yazar. Uzun bir hata serisi alıcıyı boğmasın diye hata bildirimleri her seferinde gönderilmez. + +Art arda 5 hatadan sonra rutin otomatik olarak durdurulur ve ayrı bir bildirim gider. Sorun giderildikten sonra anahtarı yeniden açın; sayaç, sonraki başarılı çalıştırmadan sonra sıfırlanır. + +Her başarısız çalıştırma bu sayıya girmez: önceki çalıştırma sürdüğü için ya da sırada bekleme süresi dolduğu için atlanan çalıştırmalar ve **İptal** edilenler hata sayılmaz, bildirim de üretmez. Kredi yetersizliği ise sayılır; bu yüzden kredi yüklenmediğinde rutin er geç durdurulur. + +## Sık sorulan sorular + + + + Harcar. Her çalıştırma bir AI sohbetidir ve gerçek kullanıma göre alanın kredisinden düşülür; faturalandırma sayfasındaki **Kredi Kullanım Bilgileri** bölümünde **Rutin** türü altında listelenir. Kredi bittiğinde çalıştırma atlanır ve bildirim gönderilir; atlamalar tekrarlanırsa rutin durdurulur. + + + + Etkilenmez. Değişiklik taslak olarak kaydedilir ve yayındaki sürüme ancak **Güncelle** düğmesine tıkladığınızda geçer. Başlamış bir çalıştırma, başlarken aldığı yapılandırmayla sürer. + + + + Çalışır. Şablon kurulduktan sonra rutinleri, iş akışları gibi açılır. Gelecekte çalıştırması bulunmayan bir zamanlama taslak olarak kalır. + + + + Bağlam sınırına yaklaştığında Teable sohbeti sıkıştırır, bu yüzden çalıştırmalar bu nedenle kesilmez. Her çalıştırmanın temiz bir bağlamla başlamasını istiyorsanız **Her çalıştırmada yeni sohbet** seçeneğini seçin. + + diff --git a/tr/basic/credential.mdx b/tr/basic/credential.mdx index 3dfc0d9c..3193a1a7 100644 --- a/tr/basic/credential.mdx +++ b/tr/basic/credential.mdx @@ -7,7 +7,7 @@ description: Bağlantılarınızı ve gizli anahtarlarınızı yönetin, ihtiya Bir uygulama veya otomasyon dış bir servisi çağırdığında **sizin kimlik bilgilerinizi** kullanır. Kimlik bilgileri uygulamaya veya otomasyona değil size aittir ve iki türdedir: -- **Bağlantılar**: OAuth ile Teable'a yetki verdiğiniz üçüncü taraf hesaplar; Slack, Airtable, Google Sheets gibi. +- **Bağlantılar**: Teable'a yetki verdiğiniz üçüncü taraf hesaplar; Slack, Airtable, Google Sheets gibi. - **Gizli anahtarlar**: kendi kaydettiğiniz dizeler; API anahtarı, erişim token'ı gibi. Kimlik bilgileri **Ayarlar** → **Entegrasyonlar** bölümünde yönetilir ve oradan tek tek uygulama ve otomasyonlara verilir. Erişim verildikten sonra o uygulamayı veya otomasyonu çalıştıran herkes, erişimi veren kişinin kimlik bilgisini kullanır. Değer kimseye gösterilmez, otomasyon test sonuçlarında da maskelenir. @@ -24,7 +24,11 @@ Sol alttaki avatarınıza tıklayıp **Ayarlar** → **Entegrasyonlar** bölüm | **Değer** | Kaydedildikten sonra yalnızca yazılabilir; değiştirmek için yeni bir değer girin | | **Açıklama** | İsteğe bağlı; gizli anahtarın ne işe yaradığını not etmek için | -Bağlantılar **Yeni hesap bağla** ile eklenir. Bir yetkilendirme sona erdiğinde ilgili bağlantıda **Yeniden bağla** görünür. +Bağlantılar **Yeni hesap bağla** ile eklenir. Arama kutusuna bir hizmet adı yazın: üstte Teable'ın kendi entegre ettiği hizmetler, altta ise **Composio tarafından yönetiliyor** grubunda Composio'nun yetkilendirdiği birkaç yüz hizmet daha yer alır. Her iki tür de uygulamalara ve otomasyonlara aynı şekilde verilir ve hiçbiri değerini göstermez; aralarındaki tek fark uygulama kodunun onları nasıl okuduğudur, aşağıdaki "Kodda kimlik bilgisi okuma" bölümüne bakın. + +Çoğu hizmet tek bir OAuth turuyla bağlanır. **API anahtarıyla bağlanır** etiketli bir hizmet ise bunun yerine bir bağlantı penceresi açar ve o hizmetin size verdiği anahtarı ister; bu değeri Composio saklar ve her isteği onunla imzalar, Teable ise saklamaz. + +Bir yetkilendirme sona erdiğinde ilgili bağlantıda **Yeniden bağla** görünür. Her kimlik bilgisinin altında şu anda kaç kaynağın onu kullandığı yazar. **Görüntüle**, her biri yetkinin ne zaman verildiğiyle birlikte uygulama ve otomasyonların listesini açar; buradan tek bir kayıt için **Yetkiyi kaldır** diyebilirsiniz. @@ -53,6 +57,7 @@ Bir takma ad şu anda başkasının kimlik bilgisini tutuyorsa **Benimkiyle değ | Otomasyon giriş alanları | Alanın yanındaki **Gizli anahtar yerleştir**'e tıklayıp erişim verilmiş bir gizli anahtar seçin | | Uygulamadaki gizli anahtarlar | Sunucu tarafı kod `process.env.MY_API_KEY` değerini okur | | Uygulamadaki bağlantılar | Sunucu tarafı kod erişim token'ı için `getConnectionToken('ALIAS')` çağırır | +| Uygulamada Composio tarafından yönetilen bağlantılar | Bunların takas edilecek erişim token'ı yoktur; sunucu tarafı kod bunun yerine `callConnection('ALIAS', { ... })` çağırır ve isteği Composio sunucu tarafında imzalar | Bir otomasyon giriş alanına anahtara benzeyen bir değer yapıştırdığınızda Teable bunu sizin gizli anahtarınız olarak kaydeder ve yerinde bir referans bırakır; böylece düz metin iş akışı yapılandırmasına girmez. Metnin olduğu gibi kalmasını isterseniz bildirimdeki **Geri al**'a tıklayın. diff --git a/tr/basic/table.mdx b/tr/basic/table.mdx index 3b81f504..b06e244a 100644 --- a/tr/basic/table.mdx +++ b/tr/basic/table.mdx @@ -136,7 +136,7 @@ Tablolar varsayılan olarak bir [Izgara görünümüyle](/tr/basic/view/grid) a /> - Hangi alanlarda arama yapılacağını seçmek için **Arama alanı** seçeneğini açın. Bu mod, metin alanlarının yanı sıra tarih alanlarını da destekler. -- Desteklenen tüm alanlarda yaklaşık arama yapmak için **Arama alanı** seçeneğini kapatın. Genel arama tarih, onay kutusu veya düğme alanlarını içermez. Örneğiniz, genel aramanın kapsayabileceği alan sayısını da sınırlayabilir. +- Geçerli görünümde görünen alanlarda yaklaşık arama yapmak için **Arama alanı** seçeneğini kapatın; o görünümde gizlenen alanlar eşleşmeye katılmaz. Genel arama tarih, onay kutusu veya düğme alanlarını içermez. Örneğiniz, genel aramanın kapsayabileceği alan sayısını da sınırlayabilir. - Yalnızca eşleşen kayıtları göstermek için **Eşleşmeyen satırı gizle** seçeneğini açın. Tüm satırları görünür tutup eşleşmeleri vurgulamak için kapatın. - Büyük tablolarda editörler arama hızını artırmak için **Dizin** seçeneğini açabilir. Dizinin oluşturulması veya güncellenmesi okuma ve yazma performansını geçici olarak etkileyebilir. diff --git a/uk/basic/admin-panel/overview.mdx b/uk/basic/admin-panel/overview.mdx index 81f70362..502ff36c 100644 --- a/uk/basic/admin-panel/overview.mdx +++ b/uk/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ description: "Панель адміністратора в самостійно - **[Черга обчислень](/uk/basic/admin-panel/computed-outbox)**: моніторинг доставлення обчислювальних завдань, стану черги та невиконаних завдань бази даних - **[Черга генерації ШІ](/uk/basic/admin-panel/ai-generation-queue)**: перегляд стану генерації Полів ШІ в поточному самостійно розгорнутому екземплярі - **[Sandbox Agent](/uk/basic/admin-panel/sandbox-agent)**: налаштування Sandbox Agent і керування ним +- **[Schema integrity](/uk/basic/admin-panel/schema-integrity)**: запускайте перевірки схеми для будь-якої бази та виправляйте знайдене - **[Журнал аудиту](/uk/basic/admin-panel/audit-log)**: перегляд останніх дій в екземплярі й відомостей про операції ## Дозволи адміністратора diff --git a/uk/basic/admin-panel/schema-integrity.mdx b/uk/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..9acf8421 --- /dev/null +++ b/uk/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema integrity" +description: "Пошук і усунення розбіжностей між визначеннями полів бази та структурою її бази даних." +--- + +Доступно для self-hosted на тарифі Business і вище + +Шлях: Панель адміністратора → Schema integrity + +Визначення полів, які зберігає Teable, і фактична структура в базі даних мають збігатися. Коли вони розходяться, користувачі бачать поля, що не відкриваються, поля-посилання без значень або таблицю, у якої постійно не вдаються читання і запис, — причому видимої причини немає. **Schema integrity** знаходить такі проблеми й усуває їх. + +Адміністратор екземпляра може перевірити будь-яку базу екземпляра, не приєднуючись попередньо до її простору, зокрема орендарів із власною базою даних (BYODB). + +## Запуск перевірки + +Знайдіть базу через поле пошуку — за базою, простором, ID таблиці або назвою. У списку результатів показано простір (**Space**), використовувану базу даних (**Data DB** — стандартну чи BYODB) і середовище виконання (**Runtime** — v1 або v2); за ними ви переконуєтеся, що знайшли потрібну. Однакові назви баз у різних просторах трапляються часто. + +Натисніть **Check** у цьому рядку, а потім **Запустити перевірку** у вікні **Цілісність схеми**. + +## Читання результатів + +Результати перелічені за полями й правилами в чотирьох станах: + +| Стан | Значення | Що робити | +| --- | --- | --- | +| **Помилка** | Ціль посилання поля більше не існує або конфігурація поля не збігається з фактичною структурою в базі даних | Це пряма причина збоїв читання і запису, її потрібно усунути | +| **Попередження** | Відхиляється від очікуваної структури, але читання і запис поки що працюють | Усуньте його або зафіксуйте і спостерігайте | +| **Пропущено** | Правило не застосовне до цього поля і нічого не оцінювало | Нічого робити не потрібно | +| **Успішно** | Відповідає очікуваному | Нічого робити не потрібно | + +Починайте зі стану **Помилка**: збій, про який повідомив користувач, майже завжди належить до цієї категорії. **Попередження** не пояснює поточний збій, але з подальшими змінами структури полів може перетворитися на помилку, тож його варто закрити після розбору помилок. + +## Виправлення + +Можна **Виправити** за одним правилом або працювати пакетно через **Виправити лише попередження** та **Виправити попередження і помилки**. Поки ви розбираєте поточний збій, усувайте помилки по одній і переконуйтеся, що збій зник, перш ніж братися за попередження: так нову проблему можна пов'язати з конкретною зміною. + +Виправлення змінює лише структуру таблиці й не чіпає вміст записів. Перед запуском скористайтеся попереднім переглядом поруч із кнопкою виправлення: у вікні **Підтвердьте деталі відновлення** показано обґрунтування і SQL, отримані під час пробного прогону, і нічого не виконується до вашого підтвердження. + +Частину правил не можна виправити автоматично — у них відображається **Вручну**, і вікно пояснює, чому проблема потребує участі людини. Якщо пробний прогін не повернув виконуваного SQL, вікно повідомляє про це прямо, і такий випадок теж потребує участі людини. + +Після виправлення натисніть **Перевірити знову**, щоб переконатися, що проблеми більше немає. diff --git a/uk/basic/ai/ai-chat.mdx b/uk/basic/ai/ai-chat.mdx index 08364932..b868ec3f 100644 --- a/uk/basic/ai/ai-chat.mdx +++ b/uk/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ AI Chat допомагає аналізувати поточну Таблицю, - **Керування файлами**: відкрийте **+** → **Більше** → **Керування файлами**, щоб переглянути файли в пісочниці поточного чату. Можна попередньо переглядати підтримувані файли, завантажувати їх або видаляти непотрібні файли й папки. Для керування файлами має існувати розмова. - **Черга повідомлень**: надсилання ще одного повідомлення під час роботи ШІ не перериває її. Повідомлення очікує в черзі над полем введення й надсилається після завершення поточного запуску. Елементи черги зберігають ті самі позначки Таблиці, Перегляду, вкладень і вибраних даних, що й поле введення чату; команда **Видалити** вилучає елемент, **...** → **Редагувати повідомлення** повертає його до поля введення, а для текстового елемента також доступна команда **Спрямувати**, яка передає його текст активному запуску без очікування. +## Керування чатами + +Натисніть **Історія** у верхньому правому куті панелі чату, щоб побачити свої чати в поточній базі та знайти потрібний за назвою. + +Крапка поруч із назвою чату показує, які чати чекають на вас. **Очікує вашої відповіді** означає, що хід зупинився там, де потрібні ви: запитання агента, авторизація, вибір таблиці або запит облікових даних. Доки ви не відповісте, він не продовжиться. **Відповідь не вдалася** означає, що остання відповідь не завершилася коректно; відкрийте чат і запитайте ще раз. **Генерація…** і крапка непрочитаного лише повідомляють про перебіг роботи та нові відповіді й нічого від вас не потребують. + +У меню **...** чату доступні **Закріпити**, **Перейменувати**, **В архів** і видалення. Видалення стирає і всі його повідомлення, скасувати його не можна. + +Історія показує 100 останніх чатів. Закріплюйте ті, якими користуєтеся часто: закріплений чат іде першим і не підпадає під це обмеження, тож нові чати його не витіснять. Чат також можна перетягнути на інше місце. + +Чати Конструктора застосунків названі за своїм застосунком, і відправити їх в архів не можна. + +### Архів чатів + +Відправлення в архів прибирає чат з історії, нічого не видаляючи. Відкрийте аватар у лівому нижньому куті → **Налаштування** → **Архів чатів**, щоб побачити чати, відправлені в архів у різних базах. **Відновити** поверне чат в історію його бази, а коли ви впевнені, що він більше не потрібен, тут само його можна видалити. + ## Поширені сценарії використання diff --git a/uk/basic/ai/routine.mdx b/uk/basic/ai/routine.mdx new file mode 100644 index 00000000..6259c422 --- /dev/null +++ b/uk/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: Рутина +description: Cuppy виконує промпт за розкладом, а результат кожного запуску видно в історії запусків. +--- + +Доступно на всіх хмарних тарифах; для self-hosted потрібен тариф Business або вищий. + +Рутина передає промпт Cuppy і повторює його за розкладом. Це підходить для роботи, яку ніхто не має запускати вручну: щоденний звіт, регулярне прибирання застарілих записів, тижнева зведення. Кожен запуск — це повноцінний чат з ШІ, тож рутині доступне все те саме, що й чату: читання і запис таблиць, виклик навичок, створення файлів. + +Рутина — це ресурс усередині бази, вона стоїть на лівій бічній панелі поруч із таблицями, застосунками та автоматизаціями. + +Автоматизація спрацьовує на подію — зміну запису, надсилання форми, вебхук — і виконує наперед налаштовані кроки. Рутина спрацьовує лише за часом і виконує промпт, який агент тлумачить сам. Беріть автоматизацію, коли потрібні фіксовані кроки й передбачуваний результат; беріть рутину, коли агент має щоразу сам вирішувати, що робити з поточними даними. + +## Створення рутини + + + + На лівій бічній панелі натисніть **+** і виберіть **Нова рутина**. + + + Опишіть у полі **Промпт**, що має робити кожен запуск. Промпт — це повна інструкція для запуску, тож зазначте джерело даних, порядок обробки та місце для результату. Наприклад: «Збери записи, додані вчора до таблиці Завдання, згрупуй їх за відповідальними і запиши зведення до таблиці Щоденний звіт». + + + Виберіть частоту в розділі **Розклад** і за потреби вкажіть **Початок** та **Завершення (необов'язково)**. + + + Натисніть **Активувати**. Конфігурація має бути збережена, а в розкладі має бути хоча б один майбутній запуск. + + + +## Налаштування + +Крім промпта й розкладу, форма містить такі налаштування: + +| Налаштування | Опис | +| --- | --- | +| **Модель** | Модель і рівень інтелекту, на яких працює ця рутина. Залиште **Модель за замовчуванням**, щоб використати модель чату, задану в просторі | +| **Максимальний час виконання (хвилини)** | Запуск понад цю межу переривається і позначається як невдалий. Від 5 до 120 хвилин, за замовчуванням 30 | +| **Чат** | **Новий чат для кожного запуску** лишає запуски незалежними один від одного; **Продовжити чат попереднього запуску** переносить контекст минулих запусків і підходить для роботи, якій потрібен попередній результат | +| **Початок** / **Завершення (необов'язково)** | Межі розкладу. Без часу завершення рутина працює безстроково | + +Модель і рівень інтелекту фіксуються під час збереження, тому в історії запусків видно, на чому фактично працював кожен запуск. + +### Розклад + +Частоту можна вибрати з готових варіантів: **Щогодини** із зазначенням хвилини, **Щодня** і **У будні** із зазначенням часу, **Щотижня** із зазначенням дня тижня й часу, **Щомісяця** із зазначенням числа й часу. + +Для точніших умов виберіть **Користувацька (RRULE)** і напишіть правило RFC 5545, наприклад `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. Користувацьке правило має такі обмеження: + +- Частота має бути `HOURLY`, `DAILY`, `WEEKLY`, `MONTHLY` або `YEARLY`, а між двома запусками має бути щонайменше 1 година. +- Дозволені `INTERVAL`, `COUNT`, `BYDAY`, `BYMONTHDAY`, `BYMONTH`, а також по одному `BYMINUTE` і `BYHOUR`. Максимум для `COUNT` — 1000, а `COUNT` чи `INTERVAL` потребують заданого часу в полі **Початок**. +- Часовий пояс і межі задаються формою, тому `TZID`, `DTSTART`, `UNTIL` і `BYSECOND` відхиляються. + +Розклад із єдиним запуском записують користувацьким правилом із `COUNT=1`. + +Розклад обчислюється в часовому поясі того, хто створив рутину, і не підлаштовується під того, хто її переглядає. Час у рядку **Наступний запуск** уже переведено у ваш місцевий. + +## Чернетки, оновлення та запуск вручну + +Нова рутина — це чернетка, і за розкладом вона не запускається, доки ви її не активуєте. Коли ви редагуєте активну рутину, зміна теж зберігається чернеткою, а робоча версія продовжує працювати з попередньою конфігурацією: натисніть **Оновити**, щоб застосувати її, або **Відхилити зміни**, щоб відмовитися. + +**Запустити зараз** виконує рутину один раз, не чекаючи на розклад, — так зручно перевіряти промпт. Доки попередній запуск не завершився, запустити рутину вручну ще раз не вийде. + +Щоб зупинити рутину, вимкніть перемикач. Розклад більше не спрацьовуватиме, а наявна історія запусків збережеться. + +## Історія запусків + +Відкрийте рутину і перейдіть на вкладку **Історія запусків**. Список запусків фільтрується за статусом і періодом, що допомагає знайти конкретний збій; у вибраного запуску видно запланований час, час початку й завершення, тривалість і повний чат цього запуску. + +Запуски позначаються як **У черзі**, **Виконується**, **Завершено**, **Помилка** або **Скасовано**. **Скасовано** з'являється, коли запуск хтось перервав або коли рутину чи її базу було видалено. + +Запуск зі статусом **Помилка** зазначає причину, і кожна причина потребує свого рішення: + +| Повідомлення | Значення | Що робити | +| --- | --- | --- | +| **Запуск завершився помилкою** | Запуск почався, але натрапив на помилку | Відкрийте чат цього запуску і за місцем збою визначте, справа в промпті чи в даних | +| **Час виконання минув** | Запуск перевищив **Максимальний час виконання** і був перерваний | Збільште **Максимальний час виконання** або розбийте промпт на менші порції роботи | +| **Пропущено: недостатньо кредитів** | Кредити скінчилися, запуск не почався | Поповніть кредити простору | +| **Пропущено: попередній запуск ще тривав** | Попередній запуск не завершився, тому це спрацювання пропущено | Зменште частоту або скоротіть обсяг роботи одного запуску | +| **Пропущено: минув час очікування в черзі** | Запуск задовго чекав у черзі й був пропущений | Поодинокий випадок нічого не потребує; якщо повторюється, на один час заплановано забагато — рознесіть розклади | + +Чат запуску доступний лише для читання. Учасники, яким дозволено редагувати рутину, можуть продовжити його в кінці, щоб розібратися, як минув конкретний запуск. + +Для перегляду історії запусків потрібне право редагувати рутину. Власник і творець бази можуть створювати, редагувати та видаляти рутини; решта співавторів має доступ лише на читання. + +## Сповіщення про помилки та автоматична зупинка + +Teable надсилає сповіщення, коли запуск завершується помилкою або закінчуються кредити. Воно йде учаснику, який останнім оновлював рутину; хто саме — показано в рядку **Сповіщення буде надіслано** вгорі історії запусків. Сповіщення про помилки надходять не після кожного випадку, щоб довга низка збоїв не завалила одержувача. + +Після 5 невдач поспіль рутина зупиняється автоматично, і про це надходить окреме сповіщення. Усуньте причину та знову ввімкніть перемикач; лічильник обнуляється після першого успішного запуску. + +До цього рахунку потрапляють не всі неуспішні запуски: пропущені через те, що попередній ще тривав або минув час очікування в черзі, а також **Скасовано** — не вважаються помилками і не спричиняють сповіщень. Брак кредитів зараховується, тому без поповнення рутина рано чи пізно зупиниться. + +## Часті запитання + + + + Так. Кожен запуск — це чат з ШІ, він списується з кредитів простору за фактичною витратою і потрапляє до розділу **Кредити використання** на сторінці оплати під типом **Рутина**. За браку кредитів запуск пропускається і надходить сповіщення, а повторні пропуски призводять до зупинки рутини. + + + + Ні. Зміна зберігається чернеткою і потрапляє до робочої версії лише після натискання **Оновити**. Запуск, що вже почався, лишається з тією конфігурацією, з якою стартував. + + + + Так. Після встановлення шаблону його рутини вмикаються так само, як і його робочі процеси. Розклад без майбутніх запусків лишається чернеткою. + + + + Коли контекст наближається до межі, Teable ущільнює чат, тож запуски через це не перериваються. Виберіть **Новий чат для кожного запуску**, якщо кожен запуск має починатися з чистого контексту. + + diff --git a/uk/basic/credential.mdx b/uk/basic/credential.mdx index b3a30577..739d211e 100644 --- a/uk/basic/credential.mdx +++ b/uk/basic/credential.mdx @@ -7,7 +7,7 @@ description: Керуйте своїми підключеннями й секр Коли застосунок або автоматизація звертається до зовнішнього сервісу, вона використовує **ваші облікові дані**. Вони належать вам, а не застосунку чи автоматизації, і бувають двох типів: -- **Підключення** — сторонні облікові записи, доступ до яких ви надали Teable через OAuth: Slack, Airtable, Google Sheets. +- **Підключення** — сторонні облікові записи, доступ до яких ви надали Teable: Slack, Airtable, Google Sheets. - **Секрети** — рядки, які ви зберігаєте самі: ключ API, токен доступу тощо. Облікові дані зберігаються в розділі **Налаштування** → **Інтеграції**, звідти ви надаєте їх окремим застосункам і автоматизаціям. Після надання доступу всі, хто запускає цей застосунок чи автоматизацію, використовують облікові дані того, хто їх надав. Значення нікому не показується, а в результатах тестування автоматизації воно приховане. @@ -24,7 +24,11 @@ description: Керуйте своїми підключеннями й секр | **Значення** | Після збереження доступне лише для запису; щоб замінити, введіть нове | | **Опис** | Необовʼязковий, щоб зафіксувати призначення секрету | -Підключення додається кнопкою **Підключити новий обліковий запис**. Коли авторизація втрачає чинність, у підключенні зʼявляється **Підключити знову**. +Підключення додається кнопкою **Підключити новий обліковий запис**. Введіть назву сервісу в поле пошуку: згори йдуть сервіси, які Teable інтегрує сам, а нижче група **Керується Composio** збирає кілька сотень тих, що авторизує Composio. Обидва види надаються застосункам і автоматизаціям однаково, і жоден не показує свого значення; різниця лише в тому, як їх читає код застосунку, — див. нижче «Читання облікових даних у коді». + +Більшість сервісів підключається за один прохід OAuth. Сервіс із позначкою **Підключається за API-ключем** натомість відкриває діалог підключення і запитує ключ, який вам видав цей сервіс; Composio зберігає це значення і підписує ним кожен запит, а Teable його не зберігає. + +Коли авторизація втрачає чинність, у підключенні зʼявляється **Підключити знову**. Біля кожного запису видно, скільки ресурсів його зараз використовують. Кнопка **Переглянути** відкриває перелік застосунків і автоматизацій із зазначенням часу надання доступу, де для будь-якого з них можна **Відкликати доступ**. @@ -53,6 +57,7 @@ description: Керуйте своїми підключеннями й секр | Поля введення автоматизації | Натисніть **Вставити секрет** біля поля й оберіть наданий секрет | | Секрети в застосунку | Серверний код читає `process.env.MY_API_KEY` | | Підключення в застосунку | Серверний код викликає `getConnectionToken('ALIAS')` і отримує токен доступу | +| Підключення під керуванням Composio в застосунку | У них немає токена доступу для обміну; серверний код викликає `callConnection('ALIAS', { ... })`, а Composio підписує запит на своєму боці | Якщо вставити в поле автоматизації рядок, схожий на ключ, Teable збереже його як ваш секрет і лишить на місці посилання, тож відкритий текст не потрапить до конфігурації робочого процесу. Щоб лишити текст як є, натисніть **Скасувати** в повідомленні. diff --git a/uk/basic/table.mdx b/uk/basic/table.mdx index e09b7e65..ae9244ba 100644 --- a/uk/basic/table.mdx +++ b/uk/basic/table.mdx @@ -136,7 +136,7 @@ description: "Створюйте, імпортуйте, поширюйте й к /> - Увімкніть **Поле пошуку**, щоб вибрати поля для пошуку. Цей режим підтримує не лише текстові поля, а й поля дат. -- Вимкніть **Поле пошуку**, щоб виконати нечіткий пошук за всіма підтримуваними полями. Глобальний пошук не охоплює поля дат, прапорців і кнопок. Екземпляр також може обмежувати кількість полів для глобального пошуку. +- Вимкніть **Поле пошуку**, щоб виконати нечіткий пошук за полями, видимими в поточному поданні; приховані в ньому поля в пошуку не беруть участі. Глобальний пошук не охоплює поля дат, прапорців і кнопок. Екземпляр також може обмежувати кількість полів для глобального пошуку. - Увімкніть **Приховати рядки без збігу**, щоб показувати лише відповідні записи. Вимкніть, щоб залишити всі рядки видимими й підсвітити збіги. - Для великих таблиць редактори можуть увімкнути **Індекс**, щоб пришвидшити пошук. Створення або оновлення індексу може тимчасово вплинути на швидкість читання й запису. diff --git a/zh/basic/admin-panel/overview.mdx b/zh/basic/admin-panel/overview.mdx index 0d80b39e..9b748cb2 100644 --- a/zh/basic/admin-panel/overview.mdx +++ b/zh/basic/admin-panel/overview.mdx @@ -39,6 +39,7 @@ description: "Teable 私有化部署的管理员后台,用于管理实例的 - **[计算任务队列](/zh/basic/admin-panel/computed-outbox)**:监控计算任务投递、队列健康状态和数据库积压 - **[AI 生成队列](/zh/basic/admin-panel/ai-generation-queue)**:查看当前自托管实例内 AI 字段生成的运行状态 - **[沙箱 Agent](/zh/basic/admin-panel/sandbox-agent)**:配置和管理沙箱 Agent +- **[Schema 完整性](/zh/basic/admin-panel/schema-integrity)**:对任意 Base 运行 schema 检查并修复发现的问题 - **[审计日志](/zh/basic/admin-panel/audit-log)**:查看近期实例活动和操作详情 ## 管理员权限 diff --git a/zh/basic/admin-panel/schema-integrity.mdx b/zh/basic/admin-panel/schema-integrity.mdx new file mode 100644 index 00000000..4df5fd37 --- /dev/null +++ b/zh/basic/admin-panel/schema-integrity.mdx @@ -0,0 +1,41 @@ +--- +title: "Schema 完整性" +description: "排查并修复 Base 的字段定义与数据库结构不一致的问题。" +--- + +私有化部署商业版及以上适用 + +路径:管理面板 → Schema 完整性 + +Teable 记录的字段定义和数据库里的实际结构应当一一对应。两者出现偏差时,用户侧会表现为字段打不开、关联字段取不到值,或某张表的读写持续报错,而表面上看不出原因。**Schema 完整性** 用于定位这类问题并修复。 + +实例管理员可以检查实例内的任意 Base,不需要先加入对应空间,使用客户自管数据库(BYODB)的租户同样可以检查。 + +## 运行检查 + +在搜索框中按 Base、空间、表 ID 或名称找到目标 Base。结果列表会显示它所属的 **空间**、使用的 **数据源**(默认或 BYODB)和 **运行时**(v1 或 v2),据此确认找对了 Base。同名 Base 在不同空间中很常见。 + +点击该行的 **检查**,在 **Schema 完整性检查** 弹窗中点击 **开始检查**。 + +## 读懂检查结果 + +结果按字段和规则逐条列出,分四种状态: + +| 状态 | 含义 | 该怎么办 | +| --- | --- | --- | +| **错误** | 字段的关联目标已不存在,或字段配置与数据库中的实际结构对不上 | 这是导致读写失败的直接原因,需要修复 | +| **警告** | 与预期结构存在偏差,但当前仍可正常读写 | 可以修复,也可以先记录下来观察 | +| **跳过** | 该规则不适用于这个字段,未做判断 | 无需处理 | +| **正常** | 与预期一致 | 无需处理 | + +先看 **错误**:用户报告的故障基本都落在这一类。**警告** 不解释当前的故障,但会随着字段结构继续变化演变成错误,适合在排查完错误后一并处理。 + +## 修复 + +可以按规则逐条 **修复**,也可以用 **仅修复警告** 或 **修复警告和错误** 批量处理。排查线上故障时建议先逐条修复错误,确认故障消失后再处理警告,这样出问题时能定位到是哪一条改动引起的。 + +修复只改动表结构,不改动记录内容。执行前点击修复按钮旁的预览,可以在 **确认修复内容** 中看到 dry-run 返回的修复原理和将要执行的 SQL,确认后才会真正执行。 + +部分规则无法自动修复,对应行会显示 **手动处理**,点击后弹窗会说明这个问题为什么需要人工介入。dry-run 没有返回可执行 SQL 时,弹窗也会明确提示,此时同样需要人工处理。 + +修复后点击 **重新检查** 确认问题已经消除。 diff --git a/zh/basic/ai/ai-chat.mdx b/zh/basic/ai/ai-chat.mdx index b2fd5978..253c63a9 100644 --- a/zh/basic/ai/ai-chat.mdx +++ b/zh/basic/ai/ai-chat.mdx @@ -40,6 +40,22 @@ AI 会优先参考你当前页面中的信息: - **文件管理**:打开 **+** → **更多** → **文件管理**,可以查看当前对话沙箱中的文件。可以预览支持的文件类型、下载文件,也可以删除不再需要的文件或文件夹。需要先开始一段对话,才会有对应文件可管理。 - **消息队列**:AI 还在工作时继续发消息不会打断它,消息会排进输入框上方的队列,等这一轮结束后一起发出。排队项和输入框一样保留表格、视图、附件和选区标签,可以 **移除**,也可以用 **...** → **编辑消息** 放回输入框;纯文本消息还能点 **调整方向**,不等这一轮结束就把这段话交给它。 +## 管理对话 + +点击对话面板右上角的 **历史记录**,可以查看你在当前数据库中的对话,也可以按名称搜索。 + +对话名称旁的圆点用于标出哪些对话需要你回去处理。**等待你回复** 表示这一轮停在需要你参与的环节,例如 AI 的提问、一次连接授权、选择表格或凭据请求,在你回复之前它不会继续。**回复失败** 表示上一次回复没有正常结束,可以进去重新提问。**生成中…** 和未读圆点只说明进度和有新回复,不需要你操作。 + +在对话的 **...** 菜单中可以 **置顶**、**重命名**、**归档** 或删除这个对话。删除会一并删除它的全部消息,无法恢复。 + +历史记录默认展示最近 100 个对话。常用的对话建议 **置顶**:置顶的对话排在最前,且不受这个数量限制,不会随着新对话增多被挤出列表。也可以拖动对话调整位置。 + +应用构建器的对话以对应应用命名,不能归档。 + +### 已归档对话 + +归档会把对话移出历史记录列表,但不会删除内容。打开左下角头像 → **设置** → **已归档对话**,可以看到你在各个数据库中归档的对话。点击 **恢复** 后,对话会重新出现在所属数据库的历史记录中;确认不再需要时也可以在这里删除。 + ## 常见用法 diff --git a/zh/basic/ai/routine.mdx b/zh/basic/ai/routine.mdx new file mode 100644 index 00000000..ab705781 --- /dev/null +++ b/zh/basic/ai/routine.mdx @@ -0,0 +1,112 @@ +--- +title: 例行任务 +description: 让 Cuppy 按计划自动运行一段提示词,并在运行历史中查看每次结果。 +--- + +云端版本所有方案可用;私有部署版本需要商业版及以上方案。 + +例行任务把一段提示词交给 Cuppy 按计划重复执行,适合每天生成日报、定期清理过期记录、按周汇总数据这类不需要人工触发的工作。每次运行都是一段完整的 AI 对话,因此例行任务能使用 AI 对话的全部能力,包括读写表格、调用技能和生成文件。 + +例行任务是数据库中的资源,和表格、应用、自动化一样出现在左侧目录栏中。 + +自动化由记录变化、表单提交或 Webhook 这类事件触发,执行的是你预先配置好的步骤;例行任务只按时间触发,执行的是一段交给 AI 自行判断的提示词。需要固定步骤和可预期结果时用自动化,需要 AI 每次根据当前数据自行处理时用例行任务。 + +## 创建例行任务 + + + + 在左侧目录栏点击 **+**,选择 **新例行任务**。 + + + 在 **提示词** 中描述每次运行要做的事。提示词是每次运行的全部指令,需要写清数据来源、处理方式和结果去向,例如"统计任务表中昨天新增的记录,按负责人汇总后写入日报表"。 + + + 在 **运行计划** 中选择执行频率,并按需设置 **生效开始** 和 **生效结束(可选)**。 + + + 点击 **启用**。启用前需要先保存配置,并且计划中要有未来的运行时间。 + + + +## 配置项 + +除提示词和运行计划外,表单还有这些配置: + +| 配置项 | 说明 | +| --- | --- | +| **模型** | 本例行任务使用的模型和智能级别。保持 **默认模型** 时使用空间的默认对话模型 | +| **最长执行时间(分钟)** | 超过该时长的运行会被终止并记为失败。范围 5–120 分钟,默认 30 | +| **对话** | **每次运行新开对话** 让每次运行互不影响;**延续上一次运行的对话** 会带上历次运行的上下文,适合需要参考上次结果的任务 | +| **生效开始** / **生效结束(可选)** | 计划的起止时间。不设置结束时间时会一直运行下去 | + +保存配置时,当前的模型和智能级别会一并记录下来,因此运行历史中能看到每次运行实际使用的模型。 + +### 运行计划 + +频率可以从预设中选择:**每小时** 指定分钟、**每天** 和 **工作日** 指定时刻、**每周** 指定星期和时刻、**每月** 指定日期和时刻。 + +需要更复杂的规则时选择 **自定义(RRULE)**,填写 RFC 5545 规则,例如 `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`。自定义规则有以下限制: + +- 频率只能是 `HOURLY`、`DAILY`、`WEEKLY`、`MONTHLY`、`YEARLY`,两次运行至少间隔 1 小时。 +- 可用 `INTERVAL`、`COUNT`、`BYDAY`、`BYMONTHDAY`、`BYMONTH`,以及一个 `BYMINUTE` 和 `BYHOUR`。`COUNT` 最大 1000,使用 `COUNT` 或 `INTERVAL` 时需要设置 **生效开始**。 +- 时区和起止时间由表单控制,因此不允许 `TZID`、`DTSTART`、`UNTIL`,也不允许 `BYSECOND`。 + +只运行一次的计划用自定义规则加 `COUNT=1` 表示。 + +运行计划按创建者所在时区求值,之后不随查看者变化;界面上显示的 **下次运行** 时间已换算成你本地的时间。 + +## 草稿、更新与立即运行 + +新建的例行任务是草稿,在启用之前不会按计划运行。编辑已启用的例行任务时,改动同样先保存为草稿,线上版本继续按原配置运行,点击 **更新** 才会生效,点击 **重置** 则丢弃这些改动。 + +点击 **立即运行** 可以不等计划直接执行一次,用于验证提示词。同一个例行任务在上一次运行结束前不能再次手动运行。 + +把开关关闭即可停用,停用后计划不再触发,已有的运行历史仍然保留。 + +## 运行历史 + +打开例行任务后切换到 **运行历史**。运行列表可按状态和时间范围筛选,便于定位某一次失败;点击一条运行,可以看到它的计划时间、开始时间、结束时间、耗时,以及这次运行的完整对话。 + +运行状态包括 **排队中**、**运行中**、**已完成**、**运行失败** 和 **已取消**。**已取消** 出现在有人中断了这一轮运行,或例行任务、所属数据库已被删除的情况下。 + +**运行失败** 会说明原因,对应的处理方式不同: + +| 提示 | 含义 | 该怎么办 | +| --- | --- | --- | +| **运行失败** | 本次运行已开始但执行出错 | 展开这次运行的对话,从出错位置判断是提示词问题还是数据问题 | +| **运行超时** | 超过 **最长执行时间**,运行被终止 | 调大 **最长执行时间**,或把提示词拆成处理量更小的任务 | +| **已跳过:credit 不足** | 算力不足,本次未运行 | 补充空间算力 | +| **已跳过:上一次运行尚未结束** | 上一次运行仍在进行,本次计划时间被跳过 | 降低运行频率,或缩短单次运行的处理量 | +| **已跳过:排队等待超时** | 在队列中等待过久,本次计划时间被跳过 | 偶发可不处理;持续出现说明同一时间的任务过于集中,建议错开运行计划 | + +运行对话默认只读。有权限修改这个例行任务的成员可以在对话末尾继续追问,用于排查某次运行的处理过程。 + +运行历史需要修改例行任务的权限才能查看。数据库的所有者和创建者可以创建、修改和删除例行任务,其他协作者只能查看。 + +## 失败通知与自动停用 + +运行失败或算力不足时,Teable 会发送通知。收件人是最后更新这个例行任务的成员,运行历史顶部的 **通知将发送给** 会显示具体是谁。为避免连续失败刷屏,失败通知不会每次都发。 + +连续 5 次失败后,例行任务会自动停用,并单独发送一条通知。解决问题后重新打开开关即可恢复,失败次数在下一次运行成功后清零。 + +不是每次运行不成功都计入这个次数:因上一次运行尚未结束、排队等待超时而跳过的运行,以及 **已取消** 的运行,都不算失败,也不会发通知。算力不足计入,因此算力长期不补会导致自动停用。 + +## 常见问题 + + + + 消耗。每次运行都是一段 AI 对话,按实际用量计入空间算力,在计费页的 **算力用量统计** 中按类型 **例行任务** 列出。算力不足时本次运行会被跳过并发送通知,连续跳过同样会触发自动停用。 + + + + 不会。改动先保存为草稿,点击 **更新** 之后才会应用到线上版本,正在进行的运行仍使用它开始时的配置。 + + + + 会。安装模板后,其中的例行任务会像工作流一样自动启用;如果某个计划已经没有未来的运行时间,它会保持草稿状态。 + + + + 上下文接近用满时 Teable 会压缩对话内容,运行不会因此中断。需要每次都从干净的上下文开始时,选择 **每次运行新开对话**。 + + diff --git a/zh/basic/credential.mdx b/zh/basic/credential.mdx index 2017a14e..6ac08615 100644 --- a/zh/basic/credential.mdx +++ b/zh/basic/credential.mdx @@ -7,7 +7,7 @@ description: 管理你的连接和 Secret,并把它们授权给应用和自动 应用和自动化要调用外部服务时,用的是**你的凭据**。凭据属于个人,不属于某个应用或自动化,分两种: -- **连接**:通过 OAuth 授权给 Teable 的第三方账号,比如 Slack、Airtable、Google Sheets。 +- **连接**:授权给 Teable 的第三方账号,比如 Slack、Airtable、Google Sheets。 - **Secret**:你自己保存的 API Key、访问令牌等字符串。 凭据统一在 **设置** → **集成** 中管理,再按需授权给某个应用或自动化。授权之后,凡是运行这个应用或自动化的人,用的都是授权者的那份凭据;凭据的值不会展示给任何人,自动化测试结果里也会被遮蔽。 @@ -24,7 +24,11 @@ description: 管理你的连接和 Secret,并把它们授权给应用和自动 | **Value** | 保存后不再显示,需要更换时输入新值 | | **描述** | 可选,用于说明这个 Secret 的用途 | -连接通过 **连接新账户** 添加。授权失效时,对应连接上会出现 **重新连接**。 +连接通过 **连接新账户** 添加。在搜索框中输入服务名称,列表上方是 Teable 自己对接的服务,下方 **由 Composio 托管** 分组里是数百个通过 Composio 授权的服务。两类连接都按同样的方式授权给应用或自动化,凭据的值也都不会展示;区别只在应用代码中的读取方式,见下文「在代码中读取」。 + +多数服务走一次 OAuth 即可完成连接;标着 **通过 API Key 连接** 的服务会弹出连接对话框,需要填写该服务发给你的密钥。这个值由 Composio 保管并用于签名每次请求,Teable 不会存储它。 + +授权失效时,对应连接上会出现 **重新连接**。 每条凭据下方会显示它正在被多少个资源使用。点击 **查看** 可以看到具体的应用和自动化清单,每项都标着授权时间,也可以对其中某一项 **移除授权**。 @@ -53,6 +57,7 @@ description: 管理你的连接和 Secret,并把它们授权给应用和自动 | 自动化输入框 | 点击输入框旁的 **插入 Secret**,选择已授权的 Secret 插入引用 | | 应用中的 Secret | 服务端代码通过 `process.env.MY_API_KEY` 读取 | | 应用中的连接 | 服务端代码调用 `getConnectionToken('别名')` 换取访问令牌 | +| 应用中由 Composio 托管的连接 | 这类连接没有可换取的访问令牌,服务端代码改用 `callConnection('别名', { ... })` 发起调用,由 Composio 在服务端完成签名 | 在自动化输入框里粘贴一段疑似密钥的内容时,Teable 会自动把它存成你的 Secret,原处留下引用,明文不会留在工作流配置里。不需要这样处理时,点击提示里的 **撤销**。 diff --git a/zh/basic/table.mdx b/zh/basic/table.mdx index 93d1bf4a..bd9200d5 100644 --- a/zh/basic/table.mdx +++ b/zh/basic/table.mdx @@ -136,7 +136,7 @@ description: "在数据库中创建、导入、分享和管理表格。" /> - 开启 **字段搜索** 后,可以选择要搜索的字段。除文本字段外,此模式也支持日期字段。 -- 关闭 **字段搜索** 后,会对所有支持的字段进行模糊搜索。全局搜索不包含日期、勾选和按钮字段;实例也可能限制全局搜索覆盖的字段数量。 +- 关闭 **字段搜索** 后,会对当前视图中显示的字段做模糊搜索,视图里隐藏的字段不参与匹配。全局搜索不包含日期、勾选和按钮字段;实例也可能限制全局搜索覆盖的字段数量。 - 开启 **仅显示匹配行** 后,只显示匹配的记录;关闭后会保留全部行,并高亮匹配内容。 - 对于大型表格,有编辑权限的用户可以开启 **索引** 来提升搜索速度。创建或更新索引期间,表格读写性能可能暂时受到影响。