Seed Packages(collector-service)
Seed Packages 是 LawSeekDog 的“系统资源分发机制”,用于把:
- 平台配置(service types、business categories、feature flags 等)
- 知识结构化 seeds(要素/清单/系统 KB 文档)
- 系统知识库资源(法条/案例/网页资料/规范等)
以可审计、可回放的方式推送到各微服务的 /api/v1/internal/** 接口。
1) 资源位置与目录结构
seed packages 存放在:
collector-service/resources/seed_packages/
每个包一个目录:
collector-service/resources/seed_packages/<package_id>/
manifest.json
data/...
scripts/... # 可选
示例包:
knowledge_structured_seeds:诉讼要素/非诉清单/系统 KB 文档清单knowledge_system_resources:系统知识库基础资源(法条/案例/网页资料/规范)
2) manifest.json 结构(schema_version=1)
以 knowledge_structured_seeds/manifest.json 为例(摘录):
{
"schema_version": 1,
"package_id": "knowledge_structured_seeds",
"name": "知识服务结构化种子(要件/检查项/系统检索增强文档)",
"version": "2026-01-25",
"items": [
{
"item_id": "structured_seed_import",
"kind": "knowledge.seed.structured.import",
"config": {
"litigation_elements_json": "${PACKAGE_DIR}/data/seed_litigation_elements.json",
"non_litigation_checklists_json": "${PACKAGE_DIR}/data/seed_non_litigation_checklists.json",
"sync_to_neo4j": true
}
}
]
}
关键字段:
package_id:包唯一标识items[]:执行项列表(可声明依赖顺序depends_on)kind:执行器类型(由 collector-service 的 executor 映射到具体动作)config:执行器所需配置;支持${PACKAGE_DIR}占位符
3) 执行器(kind → internal API 调用)
collector-service 的执行器会把 kind 映射为对目标服务的 internal API 调用。
常见映射(示例):
platform.seed.system_configs.upsert- 调用 platform-service:写入 config key/value(用于 matters.service_types 等)
knowledge.seed.structured.import- 调用 knowledge-service:
POST /api/v1/internal/seed/structured/import
- 调用 knowledge-service:
knowledge.seed.system_kb_documents.import- 调用 knowledge-service:
POST /api/v1/internal/seed/system-kb-documents/import
- 调用 knowledge-service:
说明:
- manifest 的
description可能仍包含历史实现措辞(例如“写入 Weaviate”),但执行器以 当前 internal API 为准。
4) collector-service API(管理端/运维)
collector-service 同时挂载在 /api/v1 与 /internal(方便对齐 Java 服务的协议/网关策略)。
4.1 列出与查看 seed packages(internal api key)
GET /api/v1/internal/seed-packagesGET /api/v1/internal/seed-packages/{package_id}/manifestGET /api/v1/internal/seed-packages/{package_id}/download(下载 zip)
以上接口使用 X-Internal-Api-Key 鉴权。
4.2 执行 seed packages
两种方式:
1) 需要登录权限(管理端入口):
POST /api/v1/seed-packages/{package_id}/apply
2) 运维/CI 用(仅 internal api key):
POST /api/v1/internal/seed-packages/apply-internal
请求体(示例):
{
"package_ids": ["knowledge_system_resources", "knowledge_structured_seeds"],
"dry_run": false,
"force": false
}
4.3 启动时自动执行(env)
collector-service 支持启动时自动执行种子包:
SEED_PACKAGE_IDS_ON_STARTUP=...(逗号分隔)- 或
SEED_RESOURCES_ON_STARTUP=true使用默认包集合(dev 可容忍失败继续启动)
5) seed-init CLI(lawseekdog-seed-init)
lawseekdog-seed-init 是一个轻量 CLI,通过调用 collector-service 的 internal seed 接口完成:
- list packages
- view manifest
- apply packages
适合本地开发/运维脚本化。