write-connector

作者: langchain-ai

新增一個內建 OpenWiki 來源連接器。當使用者要求建立或實作 OpenWiki 連接器時使用。

npx skills add https://github.com/langchain-ai/openwiki --skill write-connector

Write An OpenWiki Connector

OpenWiki connectors are built-in TypeScript modules in the OSS repository. Do not create a plugin marketplace, dynamic connector package, or runtime-loaded untrusted connector. Add normal source files and tests.

Prefer Custom MCP For Arbitrary Servers

If the knowledge source already exposes a read-only MCP server (HTTP or stdio), use the built-in custom-mcp connector instead of adding a new ConnectorId:

  • Configure ~/.openwiki/connectors/custom-mcp/config.json with enabled, transport, optional allowedTools, and optional readOnlyOperations.
  • Put secrets in ~/.openwiki/.env and reference them as ${ENV_NAME} in transport headers/env.
  • Agent tools openwiki_list_mcp_tools / openwiki_call_mcp_tool accept custom-mcp.

Add a dedicated built-in connector only when you need provider-specific auth, scoping UI, or deterministic API pulls that MCP cannot express.

Required Shape

  • Add the connector to src/connectors/types.ts and src/connectors/registry.ts.
  • Implement the connector under src/connectors/sources/.ts.
  • The connector must expose a ConnectorRuntime with id, displayName, description, backend, requiredEnv, supportsAgenticDiscovery, and ingest().
  • Ingestion writes raw JSON/manifests under ~/.openwiki/connectors//raw//.
  • State lives in ~/.openwiki/connectors//state.json.
  • Config lives in ~/.openwiki/connectors//config.json.
  • Secrets live in ~/.openwiki/.env and are referenced only by env var name.

Security Rules

  • Never read, print, log, return, or hardcode secret values.
  • Do not store credentials in connector config, raw files, state, logs, or tests.
  • Validate connector IDs and raw file paths so reads and writes stay inside ~/.openwiki/connectors//.
  • Use deterministic ingestion code for credentialed external fetching.
  • If wrapping MCP, treat the MCP server as read-only and call only allowlisted read/dump operations from connector config.
  • Do not let untrusted connector manifests instantiate arbitrary commands or arbitrary network endpoints without explicit built-in code review.
  • For custom-mcp, users configure a reviewed built-in wrapper; still require allowedTools and/or MCP readOnlyHint before agentic tool calls (no mutating-tool heuristics beyond Notion's hosted endpoint).

Ingestion Rules

  • Git/local repos should write compact manifests and let the agent inspect the local repo as the source of truth.
  • Sources with timestamps should store per-stream cursors.
  • Sources with object metadata should store IDs, last edited timestamps, and content hashes.
  • Sources with pagination should store enough state to continue without refetching everything.
  • Raw dumps should preserve source IDs, timestamps, URLs, authors, and enough provenance for citations.

User-Facing Finish

When done, tell the user:

  • which connector files changed,
  • which env vars to set in ~/.openwiki/.env,
  • what config file to create or edit,
  • how to run openwiki personal --update to trigger ingestion,
  • which scopes/permissions the source provider requires.

來自 langchain-ai 的更多技能

deepagents-thread-inspector
langchain-ai
檢查並解釋本地 Deep Agents Code SQLite 工作階段儲存庫中的對話。當 LangSmith 追蹤工具不可用時作為備用方案,用於…
deepagents-python-quickstart
langchain-ai
按照官方快速入門,在 Python 中搭建一個最小的本地 Deep Agent,使用提供者原生的網路搜尋而非 Tavily。當使用者想要……時使用。
deepagents-typescript-quickstart
langchain-ai
按照官方快速入門指南,以 TypeScript 搭建一個最小的本地 Deep Agent,使用供應商原生的網路搜尋而非 Tavily。當使用者……時使用
eval-engineering
langchain-ai
反覆檢查 agent 儲存庫與使用者提供的可選追蹤資料,訪談使用者,並逐一建立、執行及稽核 Harbor evals。用於……
LangChain RAG Pipeline
langchain-ai
在構建任何檢索增強生成(RAG)系統時,請調用此技能。涵蓋文檔加載器、遞迴字符文本分割器、嵌入(OpenAI)等。
LangChain Structured Output & HITL
langchain-ai
langchain-structured-output-&-hitl — 一個可安裝的 AI 代理技能,由 langchain-ai/langchain-skills 發布。
LangSmith Datasets
langchain-ai
當從追蹤建立評估資料集,或將資料集上傳至 LangSmith,或查詢資料集時,請調用此技能。涵蓋資料集類型(final_response、…)
langsmith-evaluator
langchain-ai
在為 LangSmith 建立評估管道時,請調用此技能。涵蓋三個核心組件:(1) 建立評估器 - LLM 作為評審、自訂程式碼;(2)…