mirror of
https://github.com/Tencent/WeKnora.git
synced 2026-06-04 13:30:32 +08:00
chore: release v0.5.2
Bump version to v0.5.2 across VERSION, Helm chart, frontend package files, and cloud-image script comment. Update CHANGELOG and all four language READMEs with v0.5.2 highlights (Wiki Mode at scale, MCP human-in-the-loop approval, new LLM/vector/storage/search backends, adaptive 3-tier chunking, global command palette, CLI preview, etc.).
This commit is contained in:
65
CHANGELOG.md
65
CHANGELOG.md
@@ -2,7 +2,7 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unreleased]
|
||||
## [0.5.2] - 2026-05-13
|
||||
|
||||
### 🚀 New Features
|
||||
- **NEW**: `weknora` CLI v0.2 — the official command-line client lives under `cli/`. Mirrors the `gh` CLI `<noun> <verb>` convention with 10 top-level commands (`api`, `auth`, `chat`, `context`, `doc`, `doctor`, `kb`, `link`, `search`, `version`). Highlights:
|
||||
@@ -14,12 +14,31 @@ All notable changes to this project will be documented in this file.
|
||||
- Health check via `weknora doctor` (4 statuses: ok / warn / fail / skip).
|
||||
- See `cli/README.md` for install + 5-minute quickstart.
|
||||
- **NEW**: Adaptive 3-tier chunking — documents are now profiled before splitting and routed to one of three strategies: heading-aware (Markdown structure), heuristic (form-feeds, multilingual chapter markers DE/EN/ZH, all-caps titles, visual separators), or recursive (the modernized legacy splitter as a fallback). Auto-strategy is the new default for fresh KBs; existing KBs keep their previous behavior until the user opts in. See `docs/CHUNKING.md`.
|
||||
- **NEW**: Human-in-the-loop approval for MCP tool calls (#1173) — when an MCP tool is marked sensitive, the agent now pauses and surfaces a `ToolApprovalCard` in the chat UI. Approval state is persisted (so refreshing the page does not lose context), enforced per user, and hardened for concurrent multi-instance deployments. See `docs/zh/mcp-approval.md`.
|
||||
- **NEW**: Anthropic chat provider — first-class support for Claude models, including streaming through the Anthropic gateway and `reasoning_content` round-tripping for thinking-mode providers.
|
||||
- **NEW**: Apache Doris 4.1 retriever backend — Doris joins pgvector / Elasticsearch / Milvus / Weaviate / Qdrant / Tencent VectorDB as a supported vector store, with native stream-load ingest and hybrid query.
|
||||
- **NEW**: Tencent VectorDB retriever — full-text / keyword retrieval against Tencent Cloud VectorDB.
|
||||
- **NEW**: KS3 (Kingsoft Cloud) object storage — joins Local / MinIO / AWS S3 / Volcengine TOS / Alibaba Cloud OSS as a supported storage backend.
|
||||
- **NEW**: SearXNG web search provider (#1166) — self-hosted, federated metasearch as a first-class web search option, with zero-config defaults and hardened secret handling.
|
||||
- **NEW**: Global Command Palette — replaces the standalone search page with a global ⌘K palette that fuzzy-searches knowledge bases / chats / commands and can directly start a new chat from a result.
|
||||
- **NEW**: Cloud-image packaging scripts — `scripts/cloud-image/` ships `prepare.sh`, `firstboot.sh`, `cleanup.sh`, and systemd units for producing reproducible self-hosted images (validated on Tencent Lighthouse; cloud-agnostic). Includes apt-based Docker install for restricted-egress hosts and idempotent firstboot with pinned image versions. See `docs/cloud-image/`.
|
||||
- **NEW**: KB editor — chunking settings panel surfaces the new strategy selector (Automatic / Markdown-optimized / Smart structure detection / Classic) plus advanced options for token limit per chunk and language hints. Sharper inline help text on every setting explains when defaults apply and when to tune.
|
||||
- **NEW**: Chunking debug panel — embedded "Test with sample text" panel under the chunking settings. Paste a snippet, hit Run preview, see selected tier, rejected tiers + reasons, document profile, size distribution stats over the full chunk set, and per-chunk cards with breadcrumb + content preview. Read-only, no DB or embedding side effects, 5-second server-side timeout.
|
||||
- **NEW**: `POST /api/v1/chunker/preview` endpoint backing the debug panel. Returns `selected_tier`, `tier_chain`, `rejected[]`, `profile`, `chunks[]`, and `stats`. Capped at 64k input runes / 500 chunks per response.
|
||||
- **NEW**: Per-tenant RRF (Reciprocal Rank Fusion) tuning — `RRFK`, `RRFVectorWeight`, `RRFKeywordWeight` are now configurable on the tenant `RetrievalConfig`. Defaults preserve the previous hardcoded behavior (k=60, weights 0.7/0.3).
|
||||
- **NEW**: Dedicated query-understanding model — agents can now route the query-rewrite / understanding step to a cheaper, faster model than the main reasoning model.
|
||||
- **NEW**: Document-level KB list filters with explicit batch-management UX (multi-select, batch delete, pinned-group section).
|
||||
- **NEW**: Frontend font picker + per-user UI preferences (font family, font size, theme) with a migration latch so legacy settings carry over safely.
|
||||
- **NEW**: OpenMaiC Classroom skill — generate micro-classroom content from knowledge-graph concepts, with an updated requirement-builder template.
|
||||
|
||||
### ⚡ Improvements
|
||||
- **IMPROVED**: Agent multi-turn history is now rebuilt from the database on every turn — the dedicated `llmcontext` storage layer (in-memory / Redis) has been removed entirely. Eliminates cache invalidation bugs, avoids attachments being dropped between turns (`fix: propagate user attachments to agent query in AgentQA`), and simplifies deployment (no extra Redis namespace required).
|
||||
- **IMPROVED**: Wiki ingest scaled to 40k-document KBs — operations move through a generic task queue with dead-letter handling, conflict retries are bounded, requeue counts are capped, and the wiki ingest log is moved off the request path to a dedicated `wiki_log_entries` table with an on-demand API.
|
||||
- **IMPROVED**: Wiki page-link graph performance — new subgraph API + interactive exploration UI so large graphs no longer hang the browser; documentation clarifies the distinction between the wiki page-link graph and the entity-relation knowledge graph.
|
||||
- **IMPROVED**: Wiki sidebar lazy-loads page list with virtual-scroll tabs; image / graph overview now shows operation help entry and refined legend visuals.
|
||||
- **IMPROVED**: Langfuse observability — spans expanded across the chat pipeline (retrieval, rerank, agent step), end-to-end TTFB is logged on both ends of the chat stream, and natural-stop candidates are recorded when the model returns no tool call.
|
||||
- **IMPROVED**: LLM call timeout hardening — non-stream / stream LLM calls now have a defensive fallback timeout (300s chat / 600s stream by default, configurable up to 3600s on the agent editor), only applied when no upstream deadline is present. Prevents worker pools from being permanently blocked by hung provider requests, and stops `cancel` leaks on the raw-HTTP streaming path.
|
||||
- **IMPROVED**: GPT-5 / o-series compatibility — `MaxTokens` is now mapped to `MaxCompletionTokens` for models that require the new field.
|
||||
- **IMPROVED**: Chunker recursive priority — `splitBySeparators` now genuinely walks separators by priority and recursively re-splits oversize sub-pieces with the next-priority separator. Mirrors the Python reference. Without this fix, a "one paragraph break followed by a long run of newline-separated lines" pattern could emit ~1900-rune chunks at chunkSize=300.
|
||||
- **IMPROVED**: ChunkOverlap default consolidated to 80 (~15% of ChunkSize). Previously the Go DefaultConfig used 64, the knowledge service used 50, the Python docreader used 100, and the frontend form initialised to 100. All paths now align.
|
||||
- **IMPROVED**: ContextHeader (Markdown breadcrumb) lives on `Chunk.ContextHeader`, separate from `Chunk.Content`. Restores the `End-Start == len(Content)` invariant that the document-reconstruction path in `knowledge.go` relies on for summary generation and UI highlighting. Eliminates a duplicate-heading regression where the section heading appeared twice in a chunk's body.
|
||||
@@ -29,17 +48,49 @@ All notable changes to this project will be documented in this file.
|
||||
- **IMPROVED**: Validator flow — when every tier is rejected, the chain returns the legacy tier's output directly instead of running SplitText a second time.
|
||||
- **IMPROVED**: Token limit per chunk — when set, ChunkSize is auto-clamped to a per-language character budget (with a 10% safety factor). Prevents overshooting embedding model token caps on CJK content where 1 char ≈ 0.6 tokens.
|
||||
- **IMPROVED**: KB-config API — `strategy`, `tokenLimit`, `languages` use pointer DTOs server-side so a payload omitting a field means "no change" while an explicit empty / 0 / [] resets to default. Previously these were write-once fields.
|
||||
- **IMPROVED**: Wiki prompts enforce strict citation tracing and ontology reuse, with dedicated handling for contradictions and per-rule conflict policy.
|
||||
- **IMPROVED**: Chunker recognises CN chapter titles and multi-level numeric headings; surrounding whitespace is trimmed before embedding; protected spans are honoured during heuristic splitting; tiny adjacent chunks are coalesced in the heading splitter.
|
||||
- **IMPROVED**: Frontend nginx serves static resources with gzip + correct `Cache-Control` headers.
|
||||
- **IMPROVED**: Feishu connector tolerates partial wiki-node listing failures instead of aborting the whole sync.
|
||||
- **IMPROVED**: KB list — pinned KBs are now grouped under a dedicated section; the type column is replaced with a richer source + description subtitle.
|
||||
- **IMPROVED**: Frontend — SPA respects `BASE_URL` and now works correctly behind a path-prefix reverse proxy.
|
||||
- **IMPROVED**: GitHub issue / PR templates translated to English and rewritten; Dependabot grouping + monthly cadence applied across all ecosystems.
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
- **FIXED**: Chunker — `Chunk.Start` / `End` rune-offset invariant restored after the heading-aware splitter started prepending breadcrumbs to content (regression introduced during the initial Tier-1 work, fixed before any release).
|
||||
- **FIXED**: Heuristic splitter — `applyOverlap` aligns to boundaries instead of doing blind char-subtraction that could leave chunks starting mid-word in CJK text.
|
||||
- **FIXED**: Preview endpoint — chunk-size statistics are now computed over the FULL chunk set before truncating the response payload to 500 entries. Previously `avg`/`min`/`max`/`stddev` reflected only the first 500 chunks of a larger split.
|
||||
- **FIXED**: Preview endpoint — empty / whitespace-only sample text now returns a friendly 400 ("paste a sample…") instead of gin's cryptic `Field validation failed` error.
|
||||
- **FIXED**: Frontend chunking debug panel — added explicit `type="button"`, prominent loading and error states, and console error logging so failed previews are debuggable from DevTools without enabling verbose logging. Earlier the panel could appear to "vanish" silently when a request failed.
|
||||
- **FIXED**: KB-editor i18n — `chunkOverlap` initial form value aligned with the backend default (80, not 100); description texts on every chunking setting now state the recommended ranges per use-case.
|
||||
- **FIXED**: Mimo / DeepSeek-class providers — `reasoning_content` is now passed back to providers that require it for multi-turn thinking, and historical agent steps in the frontend correctly re-render `reasoning_content` instead of dropping it.
|
||||
- **FIXED**: Embedding pipeline — `OpenAIEmbedder.doRequestWithRetry` no longer shadows `err` and returns `(nil, nil)` on connection failure, which previously caused callers to SIGSEGV.
|
||||
- **FIXED**: Agent — quick-answer (RAG) mode excludes wiki-only KBs; rerank model requirement relaxed for custom agents; `data_analysis` toggle moved to the retrieval section and the stage is now opt-in per agent (#1244); attachments replayed correctly across multi-turn history; trailing thinking events that duplicate the final answer are suppressed; whitespace-only thinking events dropped; unified rendering when the model skips the `final_answer` tool; stream answer no longer mixes `think` and `answer` content; conversation end marker now reliably shown.
|
||||
- **FIXED**: Wiki ingest — concurrent lock conflict no longer exhausts retry budget; summary links and feed log reconciled when reduce LLM fails; JSON recovered from malformed / truncated fences in `extract_entity`; cap on `requeueFailedOps` retry count prevents queue pile-up.
|
||||
- **FIXED**: Storage — `tos` / `s3` / `oss` / `ks3` tenant configs are merged in `buildStorageConfig` (#1117); fall back to the global file service when tenant storage config is unavailable; sanitized document HTML now forbids `<style>` blocks.
|
||||
- **FIXED**: Data-analysis tool captures `LOCAL_STORAGE_BASE_DIR` at init time (#1040); shared knowledge included in knowledge search; graph config reporting corrected; multimodal pipeline unblocks when a `provider://` image read fails.
|
||||
- **FIXED**: FAQ — PostgreSQL cast precedence in FAQ search; ingest no longer hallucinates summaries from filenames on empty PDFs; OCR text preserved on ingest QA follow-up; insufficient-content gate covered by tests.
|
||||
- **FIXED**: Middleware — camelCase secret fields are masked in request logs.
|
||||
- **FIXED**: Chat — model fallback now includes history; pipeline data-analysis stage no longer runs for agents that did not opt in.
|
||||
- **FIXED**: Memory — episode write deduped on duplicate streaming Done.
|
||||
- **FIXED**: IM — `wecom` reconnect backoff clamped to avoid int64 overflow → busy loop; OIDC auth login fixed.
|
||||
- **FIXED**: Frontend — markdown tables render in chat wiki drawer; radio button theme + disabled selection unified; external doc-link style and outline add-button styling unified; model-settings UI polished (disabled brand color); pnpm v11 build approvals configured for Docker build; `npm` used in production build to match the committed lockfile; LaTeX formula loading restored in the rare-case markdown path; KB-editor i18n: `chunkOverlap` initial value aligned with backend default (80, not 100); description texts updated.
|
||||
- **FIXED**: Chunker — `Chunk.Start` / `End` rune-offset invariant restored; heuristic `applyOverlap` aligned to boundaries; preview endpoint stats computed over the FULL chunk set; empty / whitespace-only sample returns friendly 400; recursive split fixed by QA audit (pointer DTOs, profile reuse, stats correctness).
|
||||
- **FIXED**: Docreader — heavy parser concurrency now throttled.
|
||||
- **FIXED**: Frontend i18n — duplicate `liveIndicator` key removed from `ko-KR`; preference fallback no longer infectious.
|
||||
- **FIXED**: Client SDK — `GetChunkByIDOnly` endpoint corrected; SDK stdout logging silenced via opt-in `slog`.
|
||||
|
||||
### 🔧 Refactoring
|
||||
- **REFACTOR**: `internal/application/service/knowledge.go` (9.8k lines) split by responsibility into focused files (`knowledge_create.go`, `knowledge_delete.go`, `knowledge_clone_move.go`, `knowledge_faq.go`, `knowledge_faq_import.go`, `knowledge_post_process.go`, `knowledge_process.go`, `knowledge_util.go`).
|
||||
- **REFACTOR**: Agent — dedicated `internal/agent/approval/` package for the MCP human-in-the-loop gate; tools gain a shared `exec_context.go`.
|
||||
- **REFACTOR**: Web-search — dropped dead `api_key` path in the SearXNG provider; SSRF whitelist tests reformatted.
|
||||
- **REFACTOR**: CLI — command surface aligned with mainstream `gh`-style conventions across releases; unused v0.0 scaffolding removed.
|
||||
|
||||
### 🧱 Infrastructure & Build
|
||||
- **BUILD**: Go bumped to 1.26; docreader Python dependencies slimmed (removed legacy `ocr/` package, retired `storage.py`, retired `download_deps.py`).
|
||||
- **BUILD**: Major dependency bumps across server-deps and frontend-deps groups (Dependabot grouped, monthly cadence): `gorm`, `pgx/v5`, `aws-sdk-go-v2`, `weaviate`, `volcengine-tos`, `alibabacloud-oss`, `milvus`, `ollama`, `chromedp`, `duckdb-go/v2`, `minio-go/v7`, `sashabaranov/go-openai`, `volcengine-tos`, `aliyun-oss`, `vue 3.5.34`, `dompurify`, `papaparse`, `less`/`less-loader`, plus GitHub Actions (`checkout@6`, `upload-artifact@7`, `setup-go@6`, `setup-node@6`, `docker/*`).
|
||||
- **BUILD**: Migrations — `000040_wiki_log_entries`, `000041_task_queue_and_wiki_indexes`, `000042_mcp_tool_approval`; SQLite init migration updated to match.
|
||||
|
||||
### 📚 Documentation
|
||||
- **DOC**: New `docs/CHUNKING.md` — strategy explanations, settings reference with use-case presets, token-limit guide per embedding model, debugging workflow, and known trade-offs.
|
||||
- **DOC**: New `docs/zh/mcp-approval.md` describing the MCP human-in-the-loop approval flow.
|
||||
- **DOC**: New `docs/cloud-image/README.md` and `docs/cloud-image/tencent-lighthouse.md` covering cloud-image packaging.
|
||||
- **DOC**: API documentation — Swagger annotations restored across handlers, Swagger regenerated via `make docs`, and the hand-written `docs/api/*.md` rewritten to match current routes. Includes a new `docs/api/auth.md`.
|
||||
- **DOC**: New `cli/README.md`, `cli/AGENTS.md`, top-level CLI mention added to main README, plus a CHANGELOG and ADR section under `cli/`.
|
||||
|
||||
## [0.5.1] - 2026-04-30
|
||||
|
||||
|
||||
33
README.md
33
README.md
@@ -28,7 +28,7 @@
|
||||
<img src="https://img.shields.io/badge/License-MIT-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="License">
|
||||
</a>
|
||||
<a href="./CHANGELOG.md">
|
||||
<img alt="Version" src="https://img.shields.io/badge/version-0.5.1-2e6cc4?labelColor=d4eaf7">
|
||||
<img alt="Version" src="https://img.shields.io/badge/version-0.5.2-2e6cc4?labelColor=d4eaf7">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -57,17 +57,18 @@ The framework supports auto-syncing knowledge from Feishu, Notion, and Yuque (mo
|
||||
|
||||
## ✨ Latest Updates
|
||||
|
||||
**v0.5.1 Highlights:**
|
||||
**v0.5.2 Highlights:**
|
||||
|
||||
- **Wiki Mode**: A brand-new agent-driven Wiki knowledge system that automatically distills raw documents into interlinked markdown pages. It ships with a dedicated WikiBrowser and an interactive knowledge graph that visualizes references and relationships between pages, helping teams grow a structured, continuously evolving knowledge base from their own materials.
|
||||
- **Observability**: Integrated Langfuse for agent ReAct loop, LLM token tracking, tool calls, and asynq pipeline tracing, providing deep visibility into agent reasoning and system performance.
|
||||
- **Customizable Indexing Strategy**: Independently configure and toggle Vector Search, Keyword Search (Hybrid), Wiki, and Knowledge Graph indexing per knowledge base.
|
||||
- **Vector Store UI & Per-KB Binding**: Full frontend management for Vector Stores with connectivity testing, plus the ability to bind distinct vector databases to specific knowledge bases.
|
||||
- **Yuque Connector**: Yuque data source integration with full and incremental fetch, enabling seamless synchronization of Yuque documents.
|
||||
- **WeChat Mini Program**: New lightweight mobile client (`miniprogram/`) for configuring WeKnora API access, picking knowledge bases, importing URLs, and chatting directly from WeChat.
|
||||
- **Knowledge Base List View & Batch Operations**: Document management now supports a list view alongside cards, multi-select with a floating action bar, and batch delete for large knowledge bases.
|
||||
- **Conversation & IM Workflow**: Tenant-wide IM Channels overview under the user menu, conversation list keyword search, user-scoped session pinning, and clear IM-source labels for chats coming from IM channels.
|
||||
- **Bug Fixes**: Fixed LaTeX flashing during streaming responses (#1056), removed the default 100-page DOCX parsing cap, dropped IM pipeline-level timeouts that killed multi-round agent reasoning, isolated IM sessions per agent, hardened Wiki ingest against malformed JSON / failed-operation loss, and made encrypted-field decryption fail loudly instead of silently returning empty data.
|
||||
- **Wiki Mode at Scale**: Wiki ingest now handles tens-of-thousands-document KBs via a generic task queue with dead-letter handling; the page-link graph gains a subgraph API + interactive exploration UI.
|
||||
- **MCP Human-in-the-Loop Approval**: Sensitive MCP tool calls pause the agent and wait for explicit user approval in the chat UI.
|
||||
- **More LLM / Vector DB / Storage / Search**: Anthropic (Claude), Apache Doris 4.1, Tencent VectorDB, Kingsoft Cloud KS3, and SearXNG are all new backends — pairing with the Vector Store management UI and per-KB indexing strategy toggles.
|
||||
- **Deeper Observability**: Langfuse spans expanded across retrieval / rerank / agent stages; end-to-end TTFB logged on both ends of the chat stream; LLM call timeouts hardened to keep worker pools healthy.
|
||||
- **Adaptive 3-Tier Chunking**: Documents are auto-routed to heading-aware / heuristic / recursive strategies, with a live preview panel in the KB editor. See [`docs/CHUNKING.md`](./docs/CHUNKING.md).
|
||||
- **Global Command Palette**: A ⌘K palette replaces the standalone search page and can start a new chat directly from any result.
|
||||
- **More Connectors & Mobile**: Yuque connector (full + incremental sync) joins Feishu / Notion; lightweight WeChat Mini Program client under `miniprogram/`.
|
||||
- **`weknora` CLI (Preview)**: An early version of the official command-line client lives under `cli/` — feedback welcome.
|
||||
- **Other Improvements**: Per-tenant RRF tuning, a dedicated query-understanding model, batch KB management, user-scoped session pinning, a tenant-wide IM channels overview, per-user font / theme preferences, a new OpenMaiC Classroom agent skill, and a full API-docs / Swagger / Client-SDK overhaul.
|
||||
- **Bug Fixes**: Embedder `(nil, nil)` SIGSEGV fixed; Mimo / DeepSeek `reasoning_content` round-trip restored; multi-turn agent history rebuilt from DB (with attachment replay); OIDC login fixed; many Wiki ingest reliability fixes; FAQ no longer hallucinates summaries from filenames on empty PDFs.
|
||||
|
||||
<details>
|
||||
<summary><b>Earlier Releases</b></summary>
|
||||
@@ -232,19 +233,19 @@ Fully modular pipeline from document parsing, vectorization, and retrieval to LL
|
||||
|
||||
| Capability | Details |
|
||||
|------------|---------|
|
||||
| LLMs | OpenAI / Azure OpenAI / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
|
||||
| LLMs | OpenAI / Azure OpenAI / Anthropic (Claude) / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
|
||||
| Embeddings | Ollama / BGE / GTE / OpenAI-compatible APIs |
|
||||
| Vector DBs | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant |
|
||||
| Object Storage | Local / MinIO / AWS S3 / Volcengine TOS / Alibaba Cloud OSS |
|
||||
| Vector DBs | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB |
|
||||
| Object Storage | Local / MinIO / AWS S3 / Volcengine TOS / Alibaba Cloud OSS / Kingsoft Cloud KS3 |
|
||||
| IM Channels | WeCom / Feishu / Slack / Telegram / DingTalk / Mattermost / WeChat |
|
||||
| Web Search | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama |
|
||||
| Web Search | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama / SearXNG |
|
||||
|
||||
**Platform**
|
||||
|
||||
| Capability | Details |
|
||||
|------------|---------|
|
||||
| Deployment | Local / Docker / Kubernetes (Helm) with private and offline support |
|
||||
| UI | Web UI / RESTful API / Chrome Extension / WeChat Mini Program |
|
||||
| UI | Web UI / RESTful API / CLI (`weknora`) / Chrome Extension / WeChat Mini Program |
|
||||
| Observability | Integrated Langfuse for ReAct loops, token tracking, tool calls, and pipeline tracing |
|
||||
| Task Management | MQ async tasks, automatic database migration on version upgrade |
|
||||
| Model Management | Centralized config, per-knowledge-base model selection, multi-tenant built-in model sharing, WeKnora Cloud hosted models and parsing |
|
||||
|
||||
33
README_CN.md
33
README_CN.md
@@ -28,7 +28,7 @@
|
||||
<img src="https://img.shields.io/badge/License-MIT-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="License">
|
||||
</a>
|
||||
<a href="./CHANGELOG.md">
|
||||
<img alt="版本" src="https://img.shields.io/badge/version-0.5.1-2e6cc4?labelColor=d4eaf7">
|
||||
<img alt="版本" src="https://img.shields.io/badge/version-0.5.2-2e6cc4?labelColor=d4eaf7">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -56,17 +56,18 @@
|
||||
|
||||
## ✨ 最新更新
|
||||
|
||||
**v0.5.1 版本亮点:**
|
||||
**v0.5.2 版本亮点:**
|
||||
|
||||
- **Wiki 模式**:全新推出 Agent 驱动的 Wiki 知识体系,可从原始文档中自动梳理并生成相互关联的 Markdown 页面,内置独立的 Wiki 浏览器与可视化知识图谱,直观呈现页面之间的引用与关联关系,帮助团队沉淀结构化、可迭代演进的专属知识库。
|
||||
- **可观测性**:集成 Langfuse,深入跟踪 Agent ReAct 循环、LLM Token 消耗、工具调用以及 asynq 任务流水线,全面掌控 Agent 推理与系统性能。
|
||||
- **自定义索引策略**:在知识库级别独立开启或关闭 向量检索、关键词检索(混合检索)、Wiki 模式 以及 知识图谱 构建。
|
||||
- **向量数据库 UI 与知识库绑定**:新增前端 Vector Store 管理界面与连通性测试,并支持为不同知识库绑定专属的向量数据库实例。
|
||||
- **语雀数据源**:新增语雀连接器,支持文档的全量与增量同步,实现语雀知识的无缝接入。
|
||||
- **微信小程序**:新增轻量级微信小程序客户端(位于 `miniprogram/`),可在手机端配置 WeKnora API、选择知识库、导入网页 URL 并直接在微信中进行知识对话。
|
||||
- **知识库列表视图与批量操作**:文档管理新增列表视图(与卡片视图并存),支持多选、悬浮批量操作栏与批量删除,大幅简化大规模知识库的整理工作。
|
||||
- **会话与 IM 流程优化**:用户菜单新增租户维度的 IM 频道总览、对话列表新增关键词搜索与按用户维度置顶,IM 频道发起的会话也明确标注了来源。
|
||||
- **重要修复**:修复 LaTeX 公式在流式输出过程中闪现并消失的问题(#1056)、移除 DOCX 解析默认 100 页限制、去掉会打断多轮 IM Agent 推理的流水线级超时、IM 会话按 Agent 隔离、加固 Wiki 入库流程(异常 JSON 不再静默丢数据、失败操作自动重入队),并让加密字段解密失败时显式报错而非返回空数据。
|
||||
- **Wiki 模式规模化**:Wiki 入库通过通用任务队列 + 死信队列支撑万级文档知识库;页面链接图新增子图 API + 交互式探索 UI。
|
||||
- **MCP 工具人机审批(Human-in-the-Loop)**:敏感的 MCP 工具调用会暂停 Agent,并在对话 UI 中等待用户显式审批。
|
||||
- **更多模型 / 向量库 / 存储 / 搜索后端**:新增 Anthropic(Claude)、Apache Doris 4.1、腾讯云 VectorDB、金山云 KS3、SearXNG;配合向量数据库管理 UI 与按知识库独立开关的索引策略使用。
|
||||
- **观测性深化**:Langfuse Span 扩展至 retrieval / rerank / agent 各阶段;对话流首尾两端记录端到端 TTFB;LLM 调用兜底超时加固,避免 worker 池被卡死请求永久阻塞。
|
||||
- **自适应三层分块**:文档自动路由到 标题感知 / 启发式 / 递归 三种策略,知识库编辑器内嵌实时调试面板。详见 [`docs/CHUNKING.md`](./docs/CHUNKING.md)。
|
||||
- **全局命令面板**:⌘K 面板取代原独立搜索页,可直接从结果开启新对话。
|
||||
- **更多数据源与移动端**:新增语雀连接器(全量 + 增量同步),与飞书 / Notion 并列;附带轻量级微信小程序客户端(位于 `miniprogram/`)。
|
||||
- **`weknora` CLI(早期版本)**:位于 `cli/` 的官方命令行客户端早期版本,欢迎反馈。
|
||||
- **其他改进**:租户级 RRF 调参;查询理解专用模型;知识库批量管理与置顶分组;用户维度的会话置顶与关键词搜索;租户级 IM 频道总览;按用户保存的字体 / 主题偏好;新增 OpenMaiC 微课堂 Agent 技能;API 文档 / Swagger / Client SDK 全量整改。
|
||||
- **重要修复**:修复 Embedder 在连接失败时返回 `(nil, nil)` 导致 SIGSEGV 的问题;Mimo / DeepSeek 类提供商 `reasoning_content` 正确回传;Agent 多轮历史改为从 DB 重建并修复附件跨轮丢失;修复 OIDC 登录;多个 Wiki 入库可靠性问题;空 PDF 不再凭文件名编造摘要。
|
||||
|
||||
<details>
|
||||
<summary><b>更早版本</b></summary>
|
||||
@@ -230,11 +231,11 @@
|
||||
|
||||
| 能力 | 详情 |
|
||||
|------|------|
|
||||
| 模型厂商 | OpenAI / Azure OpenAI / DeepSeek / Qwen(阿里云)/ 智谱 / 混元 / 豆包(火山引擎)/ Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
|
||||
| 向量数据库 | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant |
|
||||
| 对象存储 | 本地 / 腾讯云COS / 火山引擎 TOS / MinIO / AWS S3 / 阿里云 OSS |
|
||||
| 模型厂商 | OpenAI / Azure OpenAI / Anthropic(Claude)/ DeepSeek / Qwen(阿里云)/ 智谱 / 混元 / 豆包(火山引擎)/ Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
|
||||
| 向量数据库 | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant / Apache Doris / 腾讯云 VectorDB |
|
||||
| 对象存储 | 本地 / 腾讯云COS / 火山引擎 TOS / MinIO / AWS S3 / 阿里云 OSS / 金山云 KS3 |
|
||||
| IM 集成 | 企业微信 / 飞书 / Slack / Telegram / 钉钉 / Mattermost / 微信 |
|
||||
| 网络搜索 | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama |
|
||||
| 网络搜索 | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama / SearXNG |
|
||||
|
||||
|
||||
**平台能力**
|
||||
@@ -242,7 +243,7 @@
|
||||
| 能力 | 详情 |
|
||||
|------|------|
|
||||
| 部署 | 本地 / Docker / Kubernetes (Helm),支持私有化离线部署 |
|
||||
| 界面 | Web UI / RESTful API / Chrome Extension / 微信小程序 |
|
||||
| 界面 | Web UI / RESTful API / 命令行(`weknora`)/ Chrome Extension / 微信小程序 |
|
||||
| 可观测性 | 集成 Langfuse 以追踪 ReAct 循环、Token 消耗、工具调用和任务流水线 |
|
||||
| 任务管理 | MQ 异步任务,版本升级自动数据库迁移 |
|
||||
| 模型管理 | 集中配置,知识库级别模型选择,多租户共享内置模型,WeKnora Cloud 托管模型与文档解析 |
|
||||
|
||||
33
README_JA.md
33
README_JA.md
@@ -28,7 +28,7 @@
|
||||
<img src="https://img.shields.io/badge/License-MIT-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="License">
|
||||
</a>
|
||||
<a href="./CHANGELOG.md">
|
||||
<img alt="バージョン" src="https://img.shields.io/badge/version-0.5.1-2e6cc4?labelColor=d4eaf7">
|
||||
<img alt="バージョン" src="https://img.shields.io/badge/version-0.5.2-2e6cc4?labelColor=d4eaf7">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -56,17 +56,18 @@ Feishu、Notion、Yuqueなどの外部プラットフォームからのナレッ
|
||||
|
||||
## ✨ 最新アップデート
|
||||
|
||||
**v0.5.1 バージョンのハイライト:**
|
||||
**v0.5.2 バージョンのハイライト:**
|
||||
|
||||
- **Wiki モード**:Agent 主導の Wiki ナレッジシステム。生のドキュメントから相互リンクされた Markdown ページを自動的に整理・生成し、専用の Wiki ブラウザとページ間の参照・関連を可視化するインタラクティブなナレッジグラフを備え、構造化され継続的に進化するチーム専用ナレッジベースを構築できます。
|
||||
- **可観測性**:Langfuse を統合し、Agent の ReAct ループ、LLM トークントラッキング、ツール呼び出し、asynq パイプラインを詳細に追跡。Agent の推論とシステムパフォーマンスを包括的に把握できます。
|
||||
- **カスタマイズ可能なインデックス戦略**:ナレッジベースごとに、ベクトル検索、キーワード検索(ハイブリッド)、Wiki、およびナレッジグラフのインデックス付けを個別に有効化/無効化できます。
|
||||
- **ベクトルデータベース UI と KB バインド**:接続テストを含む Vector Store 管理用フロントエンド UI を追加し、特定のナレッジベースに専用のベクトルデータベースをバインドできます。
|
||||
- **Yuque コネクタ**:API クライアントを通じた Yuque データソース統合。フルおよび増分同期をサポートし、Yuque ドキュメントのシームレスな取り込みを実現。
|
||||
- **WeChat ミニプログラム**:軽量なモバイル向けクライアント(`miniprogram/`)を新たに同梱。WeChat 上から API 設定、ナレッジベース選択、URL 取り込み、ナレッジチャットが可能。
|
||||
- **ナレッジベース・リストビューと一括操作**:カードビューと並ぶリストビューを追加し、複数選択・フローティング一括アクションバー・一括削除に対応。大規模 KB の整理を効率化。
|
||||
- **会話と IM のワークフロー強化**:ユーザーメニュー配下にテナント全体の IM チャネル概観、会話一覧へのキーワード検索とユーザー単位の会話ピン留め、IM チャネル発の会話には明確な出所表示を追加。
|
||||
- **バグ修正**:ストリーミング応答中に LaTeX 数式が一瞬表示されて消える問題 (#1056)、DOCX パースのデフォルト 100 ページ制限、IM パイプラインレベルのタイムアウトによる多段 Agent 推論の中断、Agent 単位の IM セッション分離、Wiki インジェストの不正 JSON によるサイレントなデータ欠損、暗号化フィールド復号失敗時のサイレントエラーなどを修正。
|
||||
- **Wiki モードのスケール強化**:Wiki インジェストが汎用タスクキュー + デッドレターキューにより万件規模の KB に対応。ページリンクグラフはサブグラフ API + インタラクティブ探索 UI を追加。
|
||||
- **MCP ツールの Human-in-the-Loop 承認**:センシティブな MCP ツール呼び出しで Agent が一時停止し、チャット UI でユーザーの明示承認を待機。
|
||||
- **新規 LLM / ベクター DB / ストレージ / 検索**:Anthropic(Claude)、Apache Doris 4.1、Tencent VectorDB、金山雲 KS3、SearXNG をバックエンドとして追加。Vector Store 管理 UI と KB ごとのインデックス戦略 ON/OFF と組み合わせて利用可能。
|
||||
- **オブザーバビリティ強化**:Langfuse Span を retrieval / rerank / agent 各ステージに拡張;チャットストリームの両端で end-to-end TTFB を記録;LLM 呼び出しのフォールバックタイムアウトを強化し worker プールの恒久ブロックを防止。
|
||||
- **適応型 3 段階チャンキング**:見出しベース / ヒューリスティック / 再帰 の 3 戦略に自動振り分け、KB エディタにライブプレビューパネルを内蔵。詳細は [`docs/CHUNKING.md`](./docs/CHUNKING.md)。
|
||||
- **グローバルコマンドパレット**:⌘K パレットが独立検索ページを置き換え、結果から直接新規チャットを起動可能。
|
||||
- **データソースとモバイル**:Yuque コネクタ(フル + 増分同期)が Feishu / Notion と並んで利用可能、軽量な WeChat ミニプログラムクライアントを `miniprogram/` 配下に同梱。
|
||||
- **`weknora` CLI(プレビュー版)**:`cli/` 配下に公式コマンドラインクライアントの早期版を同梱、フィードバック歓迎。
|
||||
- **その他の改善**:テナント単位の RRF 調整;クエリ理解用の専用モデル;KB の一括管理;ユーザー単位のセッションピン留めとキーワード検索;テナント全体の IM チャネル概観;ユーザー単位で保存されるフォント / テーマ設定;OpenMaiC マイクロクラスルームの新規 Agent スキル;API ドキュメント / Swagger / Client SDK の全面リフレッシュ。
|
||||
- **バグ修正**:Embedder が接続失敗時に `(nil, nil)` を返して SIGSEGV に至る問題を修正;Mimo / DeepSeek 系プロバイダーの `reasoning_content` ラウンドトリップ復元;Agent 多ターン履歴を DB から再構築(添付ファイル replay 含む);OIDC ログイン修正;Wiki インジェストの信頼性向上多数;空 PDF でファイル名から要約を捏造しないよう修正。
|
||||
|
||||
<details>
|
||||
<summary><b>過去のリリース</b></summary>
|
||||
@@ -232,19 +233,19 @@ Feishu、Notion、Yuqueなどの外部プラットフォームからのナレッ
|
||||
|
||||
| 機能 | 詳細 |
|
||||
|------|------|
|
||||
| 大規模モデル | OpenAI / Azure OpenAI / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
|
||||
| 大規模モデル | OpenAI / Azure OpenAI / Anthropic (Claude) / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
|
||||
| Embedding | Ollama / BGE / GTE / OpenAI 互換 API |
|
||||
| ベクトル DB | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant |
|
||||
| オブジェクトストレージ | ローカル / MinIO / AWS S3 / 火山引擎 TOS / Alibaba Cloud OSS |
|
||||
| ベクトル DB | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB |
|
||||
| オブジェクトストレージ | ローカル / MinIO / AWS S3 / 火山引擎 TOS / Alibaba Cloud OSS / 金山雲 KS3 |
|
||||
| IM 統合 | WeChat Work / Feishu / Slack / Telegram / DingTalk / Mattermost / WeChat |
|
||||
| Web 検索 | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama |
|
||||
| Web 検索 | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama / SearXNG |
|
||||
|
||||
**プラットフォーム**
|
||||
|
||||
| 機能 | 詳細 |
|
||||
|------|------|
|
||||
| デプロイ | ローカル / Docker / Kubernetes (Helm)、プライベート化・オフラインデプロイ対応 |
|
||||
| UI | Web UI / RESTful API / Chrome Extension |
|
||||
| UI | Web UI / RESTful API / CLI (`weknora`) / Chrome Extension / WeChat ミニプログラム |
|
||||
| 可観測性 | ReActループ、トークン消費、ツール呼び出し、パイプライン追跡のためのLangfuse統合 |
|
||||
| タスク管理 | MQ 非同期タスク、バージョンアップ時の DB 自動マイグレーション |
|
||||
| モデル管理 | 集中設定、ナレッジベース単位のモデル選択、マルチテナント組み込みモデル共有、WeKnora Cloud ホスティングモデルとドキュメント解析 |
|
||||
|
||||
33
README_KO.md
33
README_KO.md
@@ -28,7 +28,7 @@
|
||||
<img src="https://img.shields.io/badge/License-MIT-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="License">
|
||||
</a>
|
||||
<a href="./CHANGELOG.md">
|
||||
<img alt="버전" src="https://img.shields.io/badge/version-0.5.1-2e6cc4?labelColor=d4eaf7">
|
||||
<img alt="버전" src="https://img.shields.io/badge/version-0.5.2-2e6cc4?labelColor=d4eaf7">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -56,17 +56,18 @@ Feishu, Notion, Yuque 등 외부 플랫폼에서 지식 자동 동기화를 지
|
||||
|
||||
## ✨ 최신 업데이트
|
||||
|
||||
**v0.5.1 하이라이트:**
|
||||
**v0.5.2 하이라이트:**
|
||||
|
||||
- **Wiki 모드**: Agent 기반의 Wiki 지식 체계. 원본 문서에서 상호 연결된 마크다운 페이지를 자동으로 정리·생성하고, 전용 Wiki 브라우저와 페이지 간 참조·연관을 시각화하는 인터랙티브 지식 그래프를 제공하여, 팀 전용 지식 베이스를 구조화하고 지속적으로 진화시킬 수 있도록 돕습니다.
|
||||
- **관측 가능성(Observability)**: Langfuse를 통합하여 Agent의 ReAct 루프, LLM 토큰 추적, 도구 호출 및 asynq 파이프라인을 심층적으로 추적해 Agent 추론과 시스템 성능을 완벽하게 파악할 수 있습니다.
|
||||
- **사용자 정의 인덱싱 전략**: 지식베이스 수준에서 벡터 검색, 키워드 검색(하이브리드), Wiki 및 지식 그래프 인덱싱을 독립적으로 설정·전환할 수 있습니다.
|
||||
- **벡터 데이터베이스 UI 및 KB 바인딩**: 연결 테스트가 포함된 벡터 DB 관리 프론트엔드 UI를 추가했으며, 특정 지식베이스에 고유한 벡터 DB를 바인딩할 수 있습니다.
|
||||
- **Yuque 커넥터**: API 클라이언트 기반 Yuque 데이터 소스 통합. 전체·증분 동기화를 지원하여 Yuque 문서를 원활하게 가져옵니다.
|
||||
- **WeChat 미니프로그램**: 새 경량 모바일 클라이언트(`miniprogram/`)를 통해 WeChat에서 WeKnora API 설정, 지식베이스 선택, URL 가져오기 및 지식 채팅을 바로 사용할 수 있습니다.
|
||||
- **지식베이스 리스트 뷰 및 일괄 작업**: 카드 뷰와 함께 사용할 수 있는 리스트 뷰, 다중 선택, 플로팅 일괄 작업 바, 일괄 삭제를 지원해 대규모 지식베이스 관리를 효율화합니다.
|
||||
- **세션과 IM 워크플로 강화**: 사용자 메뉴 아래 테넌트 전체 IM 채널 개요, 대화 목록 키워드 검색, 사용자 단위 세션 고정, IM 채널에서 시작된 대화에 대한 명확한 출처 표시를 추가했습니다.
|
||||
- **버그 수정**: 스트리밍 응답 중 LaTeX 수식이 잠깐 보였다가 사라지는 문제 (#1056), DOCX 파싱의 기본 100페이지 제한, 다중 라운드 IM Agent 추론을 끊는 파이프라인 단위 타임아웃, Agent 단위 IM 세션 격리, Wiki 인제스트의 잘못된 JSON으로 인한 무성한 데이터 손실, 암호화 필드 복호화 실패 시 무성한 빈 응답 등 주요 이슈를 수정했습니다.
|
||||
- **Wiki 모드 대규모 확장**: Wiki 인제스트가 일반 작업 큐 + 데드레터 큐로 만 건 규모 KB까지 확장; 페이지 링크 그래프에 서브그래프 API + 인터랙티브 탐색 UI 추가.
|
||||
- **MCP 도구 Human-in-the-Loop 승인**: 민감한 MCP 도구 호출은 Agent를 일시정지시키고 채팅 UI에서 사용자의 명시 승인을 대기.
|
||||
- **새 LLM / 벡터 DB / 스토리지 / 웹 검색**: Anthropic(Claude), Apache Doris 4.1, Tencent VectorDB, Kingsoft Cloud KS3, SearXNG를 새 백엔드로 추가. Vector Store 관리 UI 및 KB별 인덱싱 전략 토글과 함께 사용 가능.
|
||||
- **관측 가능성 심화**: Langfuse Span을 retrieval / rerank / agent 단계로 확장; 채팅 스트림 양쪽에서 end-to-end TTFB 기록; LLM 호출 폴백 타임아웃 강화로 worker 풀 영구 차단 방지.
|
||||
- **적응형 3단계 청킹**: 헤딩 인식 / 휴리스틱 / 재귀 전략으로 자동 라우팅; KB 에디터에 실시간 미리보기 패널 내장. 자세한 내용은 [`docs/CHUNKING.md`](./docs/CHUNKING.md).
|
||||
- **글로벌 명령 팔레트**: ⌘K 팔레트가 독립 검색 페이지를 대체, 결과에서 바로 새 채팅을 시작 가능.
|
||||
- **데이터 소스와 모바일**: Yuque 커넥터(전체 + 증분 동기화) 추가, 경량 WeChat 미니프로그램을 `miniprogram/` 에 포함.
|
||||
- **`weknora` CLI(프리뷰)**: `cli/` 에 공식 명령줄 클라이언트의 초기 버전 포함, 피드백 환영.
|
||||
- **기타 개선**: 테넌트별 RRF 튜닝; 쿼리 이해 전용 모델; KB 일괄 관리; 사용자 단위 세션 고정과 키워드 검색; 테넌트 전체 IM 채널 개요; 사용자별 저장되는 글꼴 / 테마 설정; 새로운 OpenMaiC 마이크로 클래스룸 Agent 스킬; API 문서 / Swagger / Client SDK 전면 정비.
|
||||
- **버그 수정**: Embedder가 연결 실패 시 `(nil, nil)` 을 반환해 SIGSEGV를 유발하던 문제 수정; Mimo / DeepSeek 계열 `reasoning_content` 라운드트립 복원; Agent 다중 턴 히스토리를 DB에서 재구성(첨부 replay 포함); OIDC 로그인 수정; Wiki 인제스트 신뢰성 다수 개선; 빈 PDF에서 파일명으로 요약을 환각하지 않도록 수정.
|
||||
|
||||
<details>
|
||||
<summary><b>이전 릴리스</b></summary>
|
||||
@@ -241,19 +242,19 @@ Feishu, Notion, Yuque 등 외부 플랫폼에서 지식 자동 동기화를 지
|
||||
|
||||
| 기능 | 상세 |
|
||||
|------|------|
|
||||
| LLM | OpenAI / Azure OpenAI / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
|
||||
| LLM | OpenAI / Azure OpenAI / Anthropic (Claude) / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama |
|
||||
| Embedding | Ollama / BGE / GTE / OpenAI 호환 API |
|
||||
| 벡터 DB | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant |
|
||||
| 오브젝트 스토리지 | 로컬 / MinIO / AWS S3 / Volcengine TOS / Alibaba Cloud OSS |
|
||||
| 벡터 DB | PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB |
|
||||
| 오브젝트 스토리지 | 로컬 / MinIO / AWS S3 / Volcengine TOS / Alibaba Cloud OSS / Kingsoft Cloud KS3 |
|
||||
| IM 통합 | WeChat Work / Feishu / Slack / Telegram / DingTalk / Mattermost / WeChat |
|
||||
| 웹 검색 | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama |
|
||||
| 웹 검색 | DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama / SearXNG |
|
||||
|
||||
**플랫폼**
|
||||
|
||||
| 기능 | 상세 |
|
||||
|------|------|
|
||||
| 배포 | 로컬 / Docker / Kubernetes (Helm), 프라이빗/오프라인 배포 지원 |
|
||||
| UI | Web UI / RESTful API / Chrome Extension |
|
||||
| UI | Web UI / RESTful API / CLI (`weknora`) / Chrome Extension / WeChat 미니 프로그램 |
|
||||
| 관측 가능성 | ReAct 루프, 토큰 소비, 도구 호출, 파이프라인 추적을 위한 Langfuse 통합 |
|
||||
| 작업 관리 | MQ 비동기 작업, 버전 업그레이드 시 자동 DB 마이그레이션 |
|
||||
| 모델 관리 | 중앙 설정, 지식베이스별 모델 선택, 멀티테넌트 내장 모델 공유, WeKnora Cloud 호스팅 모델 및 문서 파싱 |
|
||||
|
||||
4
frontend/package-lock.json
generated
4
frontend/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "knowledage-base",
|
||||
"version": "0.5.1",
|
||||
"version": "0.5.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "knowledage-base",
|
||||
"version": "0.5.1",
|
||||
"version": "0.5.2",
|
||||
"dependencies": {
|
||||
"@microsoft/fetch-event-source": "^2.0.1",
|
||||
"@types/dompurify": "^3.2.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "knowledage-base",
|
||||
"version": "0.5.1",
|
||||
"version": "0.5.2",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -5,7 +5,7 @@ description: |
|
||||
with document parsing, vector search, and LLM integration.
|
||||
type: application
|
||||
version: 0.1.0
|
||||
appVersion: "v0.5.1"
|
||||
appVersion: "v0.5.2"
|
||||
kubeVersion: ">=1.25.0-0"
|
||||
home: https://github.com/Tencent/WeKnora
|
||||
icon: https://raw.githubusercontent.com/Tencent/WeKnora/main/docs/images/logo.png
|
||||
|
||||
@@ -164,7 +164,7 @@ sed -i 's/^GIN_MODE=.*/GIN_MODE=release/' .env || true
|
||||
# 把 WEKNORA_VERSION 与 WEKNORA_REF 对齐, 让 docker compose 拉取与 ref 一致的
|
||||
# 镜像 tag。无条件覆盖, 避免 .env 残留上一次 prepare 留下的旧版本号。
|
||||
# Docker Hub 上 wechatopenai/weknora-* 的 tag 实际值就是 git ref 原样
|
||||
# (`main` / `v0.5.1`), 因此这里不剥 v、也不映射到 latest。
|
||||
# (`main` / `v0.5.2`), 因此这里不剥 v、也不映射到 latest。
|
||||
WEKNORA_VERSION_VAL="${WEKNORA_REF}"
|
||||
if grep -qE '^WEKNORA_VERSION=' .env; then
|
||||
sed -i "s|^WEKNORA_VERSION=.*|WEKNORA_VERSION=${WEKNORA_VERSION_VAL}|" .env
|
||||
|
||||
Reference in New Issue
Block a user