ربط خدمات WorkersWorkers Service Binding

تكامل «زاحف» مع منتجات الشركة على Cloudflare.Integrating Zahif with the company's Workers.

«زاحف» نسخة ١.٠.٠Zahif v1.0.0 · https://claude-crawler.trusted-intel.cc

١1

لماذا ربط الخدمات؟Why a Service Binding?

بلا قفزات شبكة وبلا مفاتيح.Zero network hops, no keys.

تستدعي Workers الأخرى في الحساب نفسه (عليم، راسخ، agent-gw، mcp-server-claude، مبدع…) «زاحف» مباشرة عبر ZahifService، وتُسجّل هوية المستدعي svc:<name> في الاستهلاك.The owner's other Workers (aleem, rasikh-mcp, agent-gw, mcp-server-claude, mubdi…) call Zahif directly through ZahifService; the caller identity svc:<name> is recorded in usage.

٢2

الإعدادConfiguration

في wrangler الخاص بالعامل المستدعي.In the calling Worker's wrangler config.
// wrangler.jsonc
"services": [{ "binding": "ZAHIF", "service": "zahif", "entrypoint": "ZahifService" }]

# wrangler.toml
services = [{ binding = "ZAHIF", service = "zahif", entrypoint = "ZahifService" }]
٣3

الاستدعاءCalling

دوال مكتوبة الأنواع.Typed methods.
interface Env { ZAHIF: Service<import("zahif").ZahifService> }

export default {
  async fetch(req: Request, env: Env) {
    const doc = await env.ZAHIF.scrape({ url: "https://example.com", formats: ["markdown"] }, { caller: "aleem" });
    const hits = await env.ZAHIF.search({ query: "رؤية 2030", limit: 5, mode: "extended" }, { caller: "aleem" });
    const job = await env.ZAHIF.research({ prompt: "…", mode: "deep" }, { caller: "aleem" });
    return Response.json({ doc, hits, job });
  },
};
الدالةMethodالوظيفةPurpose
scrapeجلب صفحةScrape
mapخريطة موقعMap
searchبحثSearch
crawl · batch · extract · researchبدء مهمة خلفيةStart a background job
job · cancelحالة مهمة أو إلغاؤهاJob status or cancel
usageالاستهلاكUsage
الشكل الدقيق للمعاملات في src/rpc.ts ضمن حزمة التكامل؛ الأسماء ثابتة.Exact parameter shapes are in src/rpc.ts and the integration kit; method names are stable.

Firecrawl علامة تجارية لمالكها، ولا ارتباط بين «زاحف» وبينها.Firecrawl is a trademark of its owner; Zahif is not affiliated with it.