AGENTS.md وخوادم MCP والتخصيص
اضبط AGENTS.md لقواعد المشروع الدائمة، وأضف خوادم MCP المحلية والبعيدة في opencode.json، وخصّص الثيمات ومفاتيح الاختصار، وامتد OpenCode بالإضافات.
اضبط AGENTS.md لقواعد المشروع الدائمة، وأضف خوادم MCP المحلية والبعيدة في opencode.json، وخصّص الثيمات ومفاتيح الاختصار، وامتد OpenCode بالإضافات.
AGENTS.md هو ملف القواعد الخاص بـ OpenCode. يوفر سياقًا دائمًا للمشروع لكل جلسة OpenCode دون الحاجة إلى لصق نفس الخلفية في كل محادثة.
أسرع طريقة لإنشاء AGENTS.md مفيد هي تشغيل /init:
# SST v3 Monorepo
This is an SST v3 monorepo with TypeScript. Bun workspaces for package management.
## Build, Lint, and Test
- Build: `bun run build`
- Lint: `bun run lint`
- Test: `bun run test`
- Type check: `bun run typecheck`
- Always run tests after making changes to `packages/core/`
## Project Structure
- `packages/core/` — shared business logic, imported as `@my-app/core/*`
- `packages/functions/` — Lambda handlers
- `infra/` — SST infrastructure split by service (storage.ts, api.ts, web.ts)
## Code Standards
- TypeScript strict mode — no `any`, no `// @ts-ignore`
- All API errors return `{ code: string, message: string }` JSON
- Database queries go in `packages/core/`, not in Lambda handlers
## Development Setup
Run `yarn db:seed` before starting local dev — the database must have seed data.ركّز على الأشياء غير الواضحة من أسماء الملفات: القرارات المعمارية وترتيب الأوامر والمتطلبات الخاصة للمساهمين الجدد.
| الملف | النطاق |
|---|---|
| ./AGENTS.md | مشروع (ملتزم بـ Git، مشترك مع الفريق) |
| ~/.config/opencode/AGENTS.md | عام (قواعد شخصية عبر جميع المشاريع) |
| ./CLAUDE.md | احتياطي إذا لم يوجد AGENTS.md (توافق Claude Code) |
| ~/.claude/CLAUDE.md | احتياطي عام (إذا لم يوجد AGENTS.md عام لـ OpenCode) |
OpenCode متوافق مع اتفاقيات Claude Code. إذا لم يوجد AGENTS.md في مشروعك، يقرأ CLAUDE.md كبديل.
بدلًا من تكرار القواعد في AGENTS.md، أشر إلى وثائقك الموجودة في opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"CONTRIBUTING.md",
"docs/code-standards.md",
".cursor/rules/*.md",
"packages/*/AGENTS.md"
]
}تدعم المسارات نمط glob. تعمل عناوين URL البعيدة أيضًا:
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"
]
}تُدمج جميع ملفات التعليمات مع AGENTS.md. للتعليمات البعيدة مهلة 5 ثوانٍ.
أنشئ opencode.json في جذر مشروعك (أو ~/.config/opencode/opencode.json للإعداد العام):
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-6",
"instructions": ["CONTRIBUTING.md"],
"mcp": {},
"tools": {}
}مفتاح $schema يُفعّل الإكمال التلقائي والتحقق في VS Code والمحررات الأخرى المدركة لـ JSON.
تضيف خوادم MCP (بروتوكول سياق النموذج) أدوات خارجية إلى OpenCode. تظهر الأدوات جانب الأدوات المدمجة وتكون متاحة للنموذج اللغوي تلقائيًا.
تُضاف خوادم MCP إلى نافذة سياقك. تستهلك أدوات كل خادم رموزًا حتى عند عدم استخدامها بنشاط. كن انتقائيًا في الخوادم التي تُفعّلها.
شغّل خادم MCP كعملية فرعية:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-local-mcp": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
"enabled": true,
"environment": {
"MY_ENV_VAR": "value"
}
}
}
}اتصل بخادم MCP عبر HTTP:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-remote-mcp": {
"type": "remote",
"url": "https://my-mcp-server.com/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:MY_API_KEY}"
}
}
}
}استخدم صيغة {env:VARIABLE_NAME} لحقن متغيرات البيئة بأمان دون ترميز الأسرار بشكل ثابت.
Context7 — ابحث في وثائق المكتبات المحدّثة:
{
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp"
}
}
}أضف إلى AGENTS.md:
When you need to search documentation for a library, use `context7` tools.Sentry — استعلم عن المشاكل والمشاريع وبيانات الأخطاء بـ OAuth:
{
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {}
}
}
}المصادقة بعد الإضافة:
Grep by Vercel — ابحث في أمثلة الكود عبر GitHub:
{
"mcp": {
"gh_grep": {
"type": "remote",
"url": "https://mcp.grep.app"
}
}
}تعطيل خادم معين بشكل عام:
{
"tools": {
"my-mcp-foo": false
}
}تعطيل جميع أدوات خادم باستخدام نمط glob:
{
"tools": {
"my-mcp*": false
}
}تفعيل خادم لوكيل محدد فقط:
{
"mcp": {
"my-mcp": {
"type": "local",
"command": ["npx", "-y", "my-mcp-command"],
"enabled": true
}
},
"tools": {
"my-mcp*": false
},
"agent": {
"my-agent": {
"tools": {
"my-mcp*": true
}
}
}
}# عرض جميع خوادم MCP وحالة المصادقة
opencode mcp list
# تشغيل المصادقة يدويًا لخادم معين
opencode mcp auth <server-name>
# حذف بيانات الاعتماد المحفوظة
opencode mcp logout <server-name>
# تشخيص اتصال فاشل
opencode mcp debug <server-name>اضبط المزودين والنماذج بما يتجاوز ما يقدمه /connect. مثال — استخدام نموذج Ollama محلي:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama3.2": {
"name": "Llama 3.2"
}
}
}
}
}ينطبق نفس النمط على LM Studio (http://127.0.0.1:1234/v1) وخادم llama.cpp (http://127.0.0.1:8080/v1) وأي نقطة نهاية متوافقة مع OpenAI.
لعنوان URL مخصص لمزود معروف (مثل proxy):
{
"provider": {
"anthropic": {
"options": {
"baseURL": "https://my-proxy.example.com/v1"
}
}
}
}يأتي OpenCode مع ثيمات متعددة. خصّصها عبر الإعداد:
{
"$schema": "https://opencode.ai/config.json",
"theme": "catppuccin-mocha"
}تصفح الثيمات المتاحة في opencode.ai/docs/themes.
أعد تعيين المفاتيح في opencode.json تحت مفتاح "keybind". انظر جميع الافتراضيات في opencode.ai/docs/keybinds.
تضيف الإضافات تكاملات المزودين وتحسينات سير العمل:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-gitlab-plugin"]
}ثبّت الإضافة عبر npm:
npm install -g opencode-gitlab-pluginاطّلع على النظام البيئي في opencode.ai/docs/ecosystem.
AGENTS.md هو ملف قواعد الذكاء الاصطناعي الدائم لمشروعك — شغّل /init لإنشائه وأضفه إلى Git. opencode.json هو ملف الإعداد للمزودين وخوادم MCP والأدوات والثيمات والتعليمات. تعمل خوادم MCP المحلية كعمليات فرعية؛ الخوادم البعيدة تتصل عبر HTTP مع دعم OAuth اختياري. أدر المصادقة بأوامر opencode mcp CLI. الإضافات تُوسّع OpenCode لـ GitLab وجلسات Helicone وغيرها.