feat: add skill and assistant knowledge bases

This commit is contained in:
Administrator committed 2026-09-02 00:49:13 +08:00
1 parent dd0ee282df
commit fbd8dec48f
45 files changed
+5262 -21

No files matched your search

@@ -953,3 +953,30 @@ The final rewrite commit uses a deliberately short sibling temporary filename,
which keeps long Windows artifact paths below the path-length limit. It also
recreates a missing `outputs` parent before retrying, so transient
sandbox-directory recreation cannot discard a completed rewrite.
## Skill knowledge distillation and assistant knowledge
The Gateway now exposes an administrator-only skill distillation pipeline at
`/api/skill-knowledge`. A matrix job can send up to 200 skills to multiple
WeKnora or global assistant-knowledge targets. The scanner never reads or
uploads code/script files, strips Markdown code fences, blocks credential-like
files and content, safely inspects ZIP members, and converts supported
Office/PDF/spreadsheet files off the event loop. Jobs use database claims and
renewable leases, stage snapshots before activation, retain the prior active
version on failure, support per-item retry and entity/relation review, and keep
per-binding contribution records for safe detach/delete.
Bindings may opt into debounced file watching and cron synchronization through
`/api/skill-knowledge/auto-sync-settings`. Only non-code knowledge digests can
mark a binding stale. WeKnora Wiki, document, FAQ, conversation-archive and
read-only sidecar targets have separate projections. Optional Neo4j direct
writes are disabled by default under `llmwiki.weknora.graph`; when enabled they
use only fixed parameterized templates and Neo4j's transactional HTTP endpoint.
`/api/assistant-knowledge` owns exactly one global DeerFlow-native base named
`知识梳理`. Reads and search are available to authenticated users; initialization,
local-file import, WeKnora export/import, source reimport/delete, and revision
rollback are admin-only. Imports align canonical entities and relations while
retaining source contributions, publish source/entity/relation Wiki revisions,
and remove canonical knowledge only after its final contribution disappears.
The database schema is introduced by Alembic revision `20260901_01`.