用途:当用户要求创建或实现 OpenWiki 连接器时,按本技能在 OSS 仓库中新增内置 TypeScript 模块。明确禁止创建插件市场、动态连接器包或运行时加载的不可信连接器,只添加普通源文件与测试。
优先方案:若知识源已提供只读 MCP 服务器(HTTP 或 stdio),应使用内置 custom-mcp 连接器而非新增 ConnectorId。配置 ~/.openwiki/connectors/custom-mcp/config.json,含 enabled、transport、可选 allowedTools 与 readOnlyOperations;密钥放 ~/.openwiki/.env,在 transport 的 headers/env 中以 ${ENV_NAME} 引用;Agent 工具 openwiki_list_mcp_tools / openwiki_call_mcp_tool 接受 custom-mcp。仅当需要提供商专属认证、作用域 UI 或 MCP 无法表达的确定性 API 拉取时,才新增专用内置连接器。
必需结构:在 src/connectors/types.ts 与 src/connectors/registry.ts 注册;实现置于 src/connectors/sources/ 下;连接器须暴露 ConnectorRuntime,含 id、displayName、description、backend、requiredEnv、supportsAgenticDiscovery 与 ingest()。摄取将原始 JSON/manifest 写入 ~/.openwiki/connectors//raw//;状态在 state.json,配置在 config.json,密钥仅在 ~/.openwiki/.env 并以环境变量名引用。
安全规则:绝不读取、打印、记录、返回或硬编码密钥值;不得把凭据存入配置、原始文件、状态、日志或测试;校验连接器 ID 与原始文件路径,确保读写限于 ~/.openwiki/connectors//;带凭据的外部抓取使用确定性摄取代码;包装 MCP 时视为只读,仅调用配置中允许的读/导出操作;不得让不可信 manifest 实例化任意命令或网络端点。
摄取规则:Git/本地仓库写紧凑 manifest,由 Agent 检查本地仓库作为事实来源;带时间戳的源存每流游标;带对象元数据的源存 ID、最后编辑时间与内容哈希;分页源存足够状态以免全量重取;原始转储保留源 ID、时间戳、URL、作者等溯源信息。
收尾:告知用户改动的连接器文件、需在 ~/.openwiki/.env 设置的环境变量、需创建或编辑的配置文件、如何运行 openwiki personal --update 触发摄取,以及源提供商所需的作用域/权限。