# مسيرتك المهنية، من الطرفية.

ابحث عن الوظائف، وحدّث سيرتك الذاتية، وتحدّث مع وكيل Tabbio دون أن تغادر سطر الأوامر. يعمل بحسابك في Tabbio، بالبيانات نفسها والموافقات نفسها كما في التطبيق.

Package: @tabbio-technologies/cli (command: tabbio, Node.js 20 or newer)
MCP server it uses: https://server.tabbio.com/api/mcp
Source: https://www.tabbio.com/ar/cli

```sh
npx @tabbio-technologies/cli login
```

## ابدأ في ثلاث خطوات

تحتاج إلى Node.js 20 أو أحدث وحساب في Tabbio، وتكفي الخطة المجانية.

1. **ثبّت** ثبّت الأمر `tabbio`، أو شغّله مرة واحدة عبر npx.

```sh
npm i -g @tabbio-technologies/cli
npx @tabbio-technologies/cli
```

2. **سجّل الدخول** يفتح `tabbio login` متصفحك لتوافق على هذا الجهاز. على الخادم أضف `--email` ليصلك رمز بالبريد، وفي CI اضبط `TABBIO_TOKEN` بدلاً من ذلك.

```sh
tabbio login
tabbio login --email you@example.com
export TABBIO_TOKEN=tabbio_mcp_...
```

3. **شغّل** اعرض سيرك الذاتية، وابحث في كتالوج الوظائف بصيغة JSON، أو افتح محادثة.

```sh
tabbio cv list
tabbio catalog job-search --query "designer" --json
tabbio chat
```

هل هناك خلل؟ يفحص `tabbio doctor` إعدادك ويخبرك بما يجب إصلاحه.

## ماذا تستطيع أن تفعل من الطرفية

يصل CLI إلى الأدوات نفسها التي يوفّرها خادم MCP في Tabbio، وعددها 162، إضافة إلى المحادثة والموافقات ومخرجات تقرؤها السكربتات.

### كل أداة أمر

تصبح كل أداة أمراً مثل `tabbio cv list`، وتُبنى خياراته من مخطط الأداة نفسها. تصفّح الأدوات في قائمة تفاعلية، أو اعرض خيارات أداة واحدة بالأمر `tabbio tools describe`.

`cv list`, `catalog job-search`, `profile update`, `cv tailor`

### تحدّث مع وكيل Tabbio

يعرض `tabbio chat` الإجابة أثناء كتابتها، ويُظهر كل أداة يستدعيها الوكيل، ويحفظ محادثاتك. تبدّل أوامر الشرطة المائلة الوضع والنموذج والمحادثة، وتشغّل، حين يتيحها حسابك، البحث على الويب والصور، أو تطلب الإجابة مستنداً أو شرائح أو صفحة.

`tabbio chat`, `/threads`, `/research on`, `--result document`

### وافق من الطرفية

الإجراءات التي ترسل أو تشارك أو تنشر أو تحذف تتوقف حتى توافق عليها. يعرض CLI الأداة ومدخلاتها، فتوافق أو ترفض أو تتركها معلّقة. والخيار `--yes` لا يوافق إلا على ما أنشأه ذلك الأمر وحده.

`approvals`, `approvals approve`, `approvals wait`, `--yes`

### للسكربتات وCI

يطبع `--json` غلافاً ثابتاً يحمل رقم إصدار المخطط. وحين تُمرَّر المخرجات إلى أمر آخر تصبح أسطراً مفصولة بعلامات جدولة، وتخبرك رموز الخروج بما حدث، ويسجّل `TABBIO_TOKEN` دخول المهمة دون أن يكتب شيئاً على القرص.

`--json`, `--fields`, `TABBIO_TOKEN`, `help exit-codes`

### جسر لتطبيقات MCP

بعض تطبيقات MCP لا تشغّل إلا خوادم محلية. يتحدث `tabbio mcp serve` بلغة MCP عبر stdin وstdout، ويمرّر كل طلب إلى Tabbio بتسجيل دخول CLI. أما التطبيقات التي تدعم الخوادم البعيدة فيكفيها `tabbio mcp url`.

`mcp serve`, `mcp url`

```json
{
  "mcpServers": {
    "tabbio": {
      "command": "npx",
      "args": [
        "-y",
        "@tabbio-technologies/cli",
        "mcp",
        "serve"
      ]
    }
  }
}
```

### تسجيل دخول واحد بثلاث طرق

وافق على الجهاز من متصفحك، أو استخدم رمزاً يصلك بالبريد عبر SSH، أو رمزاً شخصياً في CI. تُحفظ بيانات الدخول في ملف لا يقرؤه غيرك (بالصلاحية 0600)، ولا تُطبع الرموز أبداً، وينهي `tabbio logout` الجلسة، وتبقى الموافقات مطلوبة.

`login`, `login --email`, `login --with-token`, `logout`

## مرجع الأوامر

```
tabbio                                   TTY: interactive home. Non-TTY: help.
tabbio login [--browser | --email <addr> | --token <tabbio_mcp_…> | --with-token] [--non-interactive] [--profile p] [--api-url u] [--app-url u]
tabbio logout [--all]
tabbio status                            profile, API/MCP urls, user, plan, sign-in kind (app session | personal token …xxxx), pending approvals, catalog age
tabbio whoami [--json]
tabbio doctor                            node version, config perms, /api/health, MCP tools/list, JWT validity, clock skew
tabbio config list|get <k>|set <k> <v>|path ; tabbio config profile list|use <name>|add <name> --api-url … --app-url …
tabbio tools [query] [--group g] [--writes|--reads] [--json] [--refresh]     TTY: browser; else list
tabbio tools describe <tool.id> [--json]                                    schema as flags + example
tabbio run <tool.id> [--<flag> …] [--input '<json>' | --input-file f | -] [--wait] [--yes] [--json|--table|--plain] [--fields a,b]
tabbio <group> <action> [flags]          generated for every catalog tool (same options as run)
tabbio workflows                         says that workflows are not exposed over MCP (they run inside chat)
tabbio approvals [list] [--json] ; approvals show <id> ; approvals approve <id> [--reason r] [--wait] ; approvals reject <id> [--reason r] ; approvals wait <id> [--timeout 10m]
tabbio artifacts [list] [--kind k] [--status s] ; artifacts get|open|versions|delete|wait <id> ; artifacts download <id> [--format f] [--out p] [--force] [--wait] ; artifacts restore <id> <versionId>
tabbio ask "<question>" [--mode m] [--via-mcp] [--json]   one question through the chat stream (app session)
tabbio chat [message] [--mode seeker|employer] [--company <id>] [--thread <id>] [--model <id>] [--research auto|on|off] [--image auto|on|off] [--result auto|summary|document|slides|page|image] [--save] [--json]
tabbio mcp serve [--profile p]          stdio ↔ remote MCP bridge for stdio-only clients
tabbio mcp url                          prints the MCP URL for `claude mcp add`
tabbio completion bash|zsh|fish
tabbio help exit-codes
tabbio --version | --help | --debug | --color | --no-color | --json
```

## مصمَّم للأتمتة

لكل أمر مسار نصي عادي للأنابيب وCI. وحين لا توجد طرفية، أو يكون CI مضبوطاً، لا يرسم CLI شاشاته التفاعلية ولا يطرح أي سؤال.

```json
{
  "data": {
    "cvs": [
      {
        "id": "cv_seeker_1_primary",
        "title": "Amina Noor - Product Design",
        "isPublic": true,
        "updatedAt": "2026-08-01T09:12:44.000Z"
      }
    ],
    "defaultCvId": "cv_seeker_1_primary",
    "total": 19
  },
  "meta": {
    "schemaVersion": 1,
    "tool": "cv.list",
    "durationMs": 31
  }
}
```

مخرجات `tabbio cv list --json` مختصرة إلى سيرة ذاتية واحدة. ضمن إصدار المخطط الواحد تُضاف الحقول فقط، ولا يُعاد تسميتها ولا تُحذف.

```yaml
- run: npx -y @tabbio-technologies/cli run cv.list --json > cvs.json
  env:
    TABBIO_TOKEN: ${{ secrets.TABBIO_TOKEN }}
```

### رموز الخروج

- `0` نجاح
- `1` خطأ غير متوقع
- `2` خطأ في الاستخدام، مثل خيار ناقص
- `3` لم تسجّل الدخول
- `4` غير مسموح بسبب نطاق الرمز أو الخطة أو الرصيد
- `5` غير موجود
- `6` بانتظار الموافقة
- `7` خطأ في الشبكة
- `8` خطأ في الخادم
- `130` أُوقف بالضغط على Ctrl+C

### يعمل حيث تعمل

- **macOS** Node.js 20 أو أحدث، في أي طرفية.
- **Linux** على الأجهزة المكتبية والخوادم والحاويات. سجّل الدخول عبر SSH برمز يصلك بالبريد.
- **Windows** Node.js 20 أو أحدث. ويعتمد ملف بيانات الدخول على صلاحيات حساب المستخدم في Windows.
- **CI** اضبط TABBIO_TOKEN من أسرار CI. لا أسئلة ولا شاشات تفاعلية.

## ابدأ مجاناً

تحصل الحسابات المجانية على رصيد يومي، وهو الرصيد نفسه الذي يستخدمه التطبيق. تنفق منه ردود المحادثة وأدوات الذكاء الاصطناعي مثل تخصيص السيرة الذاتية، أما معظم الأدوات فلا تستدعي الذكاء الاصطناعي ولا تكلّف شيئاً. https://www.tabbio.com/ar/pricing

## أسئلة عن Tabbio CLI

### ما هو Tabbio CLI؟

أداة سطر أوامر لحسابك في Tabbio. تحوّل كل أداة في خادم MCP الخاص بـ Tabbio إلى أمر، وتعرض المحادثة مع وكيل Tabbio مباشرة، وتتيح لك الموافقة على الإجراءات من الطرفية، وتطبع JSON للسكربتات. وتعمل حيثما يعمل Node.js 20 أو أحدث.

### هل أحتاج إلى تطبيق Tabbio؟

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

### هل هو آمن، وماذا يحفظ؟

يحتفظ بتسجيل دخول واحد لكل ملف تعريف في ملف بيانات دخول لا يقرؤه إلا مستخدمك (بالصلاحية 0600، داخل مجلد بالصلاحية 0700). لا يطبع الرموز أبداً، ويخفيها من مخرجات التصحيح ورسائل الخطأ. ينهي `tabbio logout` الجلسة على الخادم، وإذا فقدت الجهاز فتغيير كلمة المرور يسجّل خروجك من كل الأجهزة دفعة واحدة. لا يرسل أي بيانات قياس، وباستثناء فحص يومي لوجود إصدار جديد على npm يمكنك إيقافه، لا يتصل إلا بـ Tabbio.

### هل يعمل برمز MCP شخصي؟

نعم. شغّل `tabbio login --with-token` والصق رمزاً من الإعدادات ثم وصول MCP، أو اضبط `TABBIO_TOKEN`. يصل الرمز إلى الأدوات ضمن نطاقه، أما المحادثة والموافقة على الإجراءات فتحتاجان إلى تسجيل دخول من المتصفح أو بالبريد. ولا ينشئ CLI رمزاً بنفسه أبداً، فلن يستبدل الرمز الذي يستخدمه تطبيق آخر.

### ما الذي يحتاج إلى موافقتي؟

كل ما يصعب التراجع عنه أو يصل إلى أشخاص آخرين، مثل الحذف، وتقديم طلب أو سحبه، وإرسال رسالة أو بريد، ومشاركة سيرة ذاتية، والنشر، وتشغيل الأتمتة. يعرض CLI الأداة ومدخلاتها وينتظر. والخيار `--yes` لا يوافق إلا على الإجراءات التي أنشأها ذلك الأمر وحده، ومع تسجيل دخول كامل فقط. ولا شيء يوافق عنك طوال الجلسة.

### هل أستطيع استخدامه في CI؟

نعم. احفظ رمزاً شخصياً ضمن أسرار CI، واجعله متاحاً باسم `TABBIO_TOKEN`، وأضف `--json`. ومع ضبط CI لا يطرح CLI أي سؤال ولا يرسم شاشاته التفاعلية، وتخبر رموز الخروج السكربت بما حدث. فالرمز 6 يعني أن إجراءً ينتظر الموافقة، والرمز 4 يعني حدّاً في النطاق أو الخطة أو الرصيد.

### ما الفرق بينه وبين خادم MCP؟

يربط خادم MCP تطبيقات الذكاء الاصطناعي مثل Claude وChatGPT وCursor بحسابك. أما CLI فهو لك ولسكربتاتك في الطرفية، بالأدوات نفسها إضافة إلى المحادثة المباشرة والموافقات. ويمكنه أيضاً أن يصل الخادم بالتطبيقات التي لا تشغّل إلا خوادم محلية، عبر `tabbio mcp serve`. ولربط تطبيق ذكاء اصطناعي، اتبع دليل إعداد MCP.

MCP setup guide: https://www.tabbio.com/ar/mcp
