Skip to content

Releases: Tencent/WeKnora

v0.8.3

Choose a tag to compare

@lyingbug lyingbug released this 14 Oct 07:53
3e22822

What's Changed

  • fix(website-docs): serve everything but the homepage from /docs/ by @lyingbug in #3664
  • test(website-docs): update integration test for the v0.8.2 header and release gallery by @lyingbug in #3665
  • fix(session): keep auto-generated titles plain text by @lyingbug in #3633
  • feat(models): add system admin model catalog console by @lyingbug in #3662
  • fix(ui): restore inner padding on form popups by @vinhchuquang in #3673
  • fix(browser): let shared-space agents drive the caller's local browser by @lyingbug in #3670
  • docs: restructure the English and Chinese READMEs by @lyingbug in #3676
  • docs(readme): website-matched design for all four READMEs by @lyingbug in #3679
  • fix(retriever/es): keep vectors and enabled state on CopyIndices by @lyingbug in #3678
  • fix(embed): warn at startup when no signing key is configured by @lyingbug in #3680
  • feat(docparser): support MinerU 4.0 V1 API for self-hosted MinerU by @lyingbug in #3671
  • fix(frontend): link docs to the public docs site instead of GitHub by @lyingbug in #3674
  • feat(retrieval): unify rerank across search APIs and expose diagnostics by @lyingbug in #3675
  • fix(desktop): pair the Lite browser against the local API listener by @nullptr-error in #3677
  • fix(rss): reject oversized responses instead of accepting truncated content by @yeliheng-010 in #3658
  • docs: new intro video, with its source by @lyingbug in #3684
  • feat(lite): install and run skills on the host by @nullptr-error in #3661
  • docs(readme): surface agent tools in the overview and condense feature tables by @lyingbug in #3688
  • fix(retrieval): fix recall correctness, score scales, cost and agent tools by @lyingbug in #3687
  • feat(gallery): add an image gallery tab with schema-driven filters by @tayadwx in #3694
  • feat(gallery): rework the gallery toolbar, header tabs and image viewer by @lyingbug in #3703
  • feat(chat): open cited documents at the cited passage by @lyingbug in #3700
  • fix(knowledge): stop parses from getting stuck in processing or finalizing by @lyingbug in #3696
  • docs(readme): swap in the new intro video by @lyingbug in #3685
  • fix: harden agent tool execution, stream completion and LLM retries by @lyingbug in #3706
  • fix(docparser): make the MinerU parse timeouts configurable by @lyingbug in #3707
  • fix(weaviate): accept a class another worker created first by @po-et in #3689
  • fix(notion): abort incremental sync when resource discovery fails by @yeliheng-010 in #3682
  • fix(feishu): stop Wiki pagination on repeated page tokens by @hahahahahayesyeseys in #3645
  • fix(agent): 合并相邻 assistant 消息时保留 tool_calls,避免孤儿 tool 消息导致整轮 400 by @linus-liu-web in #3574
  • fix(files): accept canonical storage:// paths in bare provider services by @dzc-bit in #3166
  • fix(im): handle unresolved Feishu resource images by @Jonesxq in #2761
  • docs: drop references to source files that no longer exist by @Jinzhengxu in #3631
  • docs(dev): clarify Swagger access in Docker Compose by @yeliheng-010 in #3620
  • fix(container): propagate host project lookup errors by @dvd233 in #3611
  • fix(helm): pin application images to chart version by @dafyy321-pixel in #3669
  • fix(frontend): mount the settings modal only once on /platform/settings by @lyingbug in #3717
  • refactor(frontend): drop TTL resource caches and remove duplicate startup requests by @lyingbug in #3562
  • feat(wiki): 增加跨知识库 Wiki 搜索 POST /wiki-search by @MercuialC in #3535
  • fix(models): stop advertising graded thinking levels the wire format drops by @DerrickLinus in #3552
  • fix(datasource): validate cron schedules and persist manual-only mode by @Perfecto23 in #3653
  • fix(knowledge): reject invalid JSON uploads before async parse by @xiaojunxiang2023 in #3360
  • fix(client): accumulate multiline SSE data by @quan020406 in #2122
  • feat(confluence): add directory sync and private image assets by @jacentsao in #3319
  • fix(docreader): sanitize non-conforming styles.xml fills before openpyxl loads (#3637) by @vicfei in #3638
  • fix(docreader): drop data validation ranges openpyxl cannot parse instead of failing the sheet (#3599) by @po-et in #3608
  • feat(datasource/yuque): preserve TOC folder hierarchy for synced documents by @RichardChengshaojin in #3476
  • fix(frontend): initialize chat citation popover after botmsg props by @lyingbug in #3732
  • feat(plugin): plugin system foundation — builtin plugins, config schemas and workspace switches by @lyingbug in #3711
  • feat(plugin): install declarative plugins — MCP servers, skills and model vendors by @lyingbug in #3716
  • feat(plugin): code plugins — extension protocol, Go SDK, plugin host, web search and data source adapters by @lyingbug in #3720
  • feat(plugin): Host API with a key-value store, and document parsers from plugins by @lyingbug in #3721
  • feat(plugin): remote runtime, Python SDK and python host plugins (P2 batch 3) by @lyingbug in #3724
  • feat(plugin): standalone plugin hosts with Redis discovery (P2 batch 4) by @lyingbug in #3725
  • feat(plugin): sandboxed plugin pages and the @weknora/plugin-ui bridge (P2 batch 5) by @lyingbug in #3727
  • feat(plugin): event delivery and webhooks for plugins (P2 batch 6) by @lyingbug in #3728
  • feat(plugin): dynamic form options, OAuth connections and resource limits (P2 batch 7) by @lyingbug in #3729
  • feat(examples): Jira Cloud plugin with OAuth, dynamic options and a skill by @lyingbug in #3730
  • feat(plugin): agent tools served by plugins, with result views (P2 batch 8) by @lyingbug in #3733
  • revert: take the plugin system back out of main by @lyingbug in #3735
  • fix(dev): propagate dev.sh exit status and pull MinIO from pgsty/minio by @lyingbug in #3738
  • fix(chat): drop stale minimap-target class binding by @lyingbug in #3754
  • fix(citations): 修复原文定位、高亮范围与 DocReader 启动失败 by @lyingbug in #3794
  • test(wiki): 表格夹具改用合成数据 by @linus-liu-web in #3795
  • fix(faq): actually clean FAQ entry payloads before validation and storage by @VictorMaznyuk in #3749
  • test(skills): wait for the host install to release its lock before asserting by @VictorMaznyuk in #3799
  • docs: extract active tenant ID in the API quickstart by @kwsYegar in #3719
  • fix(frontend): label host-sandbox skill secret cards like the sandbox cards by @VictorMaznyuk in #3736
  • fix(chat): clear stale KB scope on session restore by @bigdu332 in #3801
  • fix: skip table-summary tasks for missing documents by @Perfecto23 in #3742
  • fix: reject empty table-summary model responses by @Perfecto23 in #3740
  • fix(sandbox): pass desktop slot timing to the renew goroutine by @VictorMaznyuk in #3744
  • fix(wiki): fan out follow-up triggers so backlogs drain at ingest_max_inflight by @BaiMoHan in #3726
  • fix(server): run ResourceCleaner on signal shutdown instead of racing Fatalf exit by @vicfei in #3804
  • fix(datasource/dingtalk): 跳过不再静默,展开叶子不再报错 by @linus-liu-web in #3784
  • fix(datasource/dingtalk): 块级渲染不再静默丢内容(列表按线上真实形状渲染 + 未建模块类型可见) by @linus-liu-web in #3822
  • fix(gitlab): compare snapshots directly during i...
Read more

v0.8.2

Choose a tag to compare

@lyingbug lyingbug released this 24 Sep 06:43

What's Changed

  • feat(session): show owner badge for API sessions in sidebar by @FincherYuan in #3024
  • fix(agent): web_fetch 兼容 LLM 双重序列化的 items 参数 by @asmh1989 in #3019
  • feat(miniprogram): zh/en i18n, tab icons, and base library compatibility by @ouhaibing5 in #3010
  • fix: widen audit log drawer by @hiasky in #3001
  • feat(agent): unify sandbox tools and drop host preloaded skills by @lyingbug in #3033
  • fix(feishu): preserve images embedded in post messages by @Legimity in #3031
  • fix(message): log why chat history indexing was skipped by @linhongyu510 in #3030
  • feat(mcp): add per-tool enable toggle by @myysophia in #2989
  • feat(session): show in-progress status in the sidebar by @lyingbug in #3038
  • feat(system): add admin UI for creating users by @mdrkrg in #3034
  • fix(system): keep one-time create-user passwords and copy full account details by @lyingbug in #3039
  • fix(security): reject traversal in local prefixes, task IDs, and wiki sort by @lyingbug in #3066
  • fix(chat): keep OCR/caption text of scanned-page image hits in merge by @LuckVd in #3064
  • fix(initialization): pass stored ExtraConfig to model connection test by @LuckVd in #3063
  • fix(knowledge): keep long non-ASCII folder names valid UTF-8 by @MaxFreedomPollard in #3056
  • feat(datasource): keep the source document's last-modified time through ingestion by @po-et in #3055
  • fix(frontend): finish knowledge base tour without creating a knowledge base by @yushangcan in #3050
  • feat(sandbox): run sandboxed execs as root by default by @nullptr-error in #3067
  • fix(organization): 修正成员权限说明中编辑角色的共享知识库权限 by @WLH55 in #3068
  • feat(frontend): expose HTTP status on API responses via $httpStatus by @mdrkrg in #3048
  • refactor(system): extract reset-password popup into ResetPasswordDialog by @mdrkrg in #3047
  • fix: sanitize qdrant string payloads by @Roovelrz in #2997
  • fix: persist cleared IM knowledge bases by @linhongyu510 in #3043
  • fix(preview): stop routing legacy .doc/.ppt to the OOXML previewers by @dzc-bit in #3041
  • feat(mcp): support updating manual knowledge by @Jonesxq in #2937
  • fix: report embedding dimension mismatches by @Jonesxq in #2919
  • fix(wiki): treat rate-limit-shaped 403 responses as transient by @LuckVd in #2933
  • fix(ui): prevent invite registration form header overlap by @hiasky in #2996
  • fix(session): serve org-shared KB images through the message file proxy by @vicfei in #3069
  • fix(knowledge): confirm document deletion before reporting success by @lyingbug in #3073
  • fix(preview): lazy-load markdown images without dropping data URIs by @lyingbug in #3075
  • feat(integrations): add CLI setup page by @lyingbug in #3081
  • fix(wiki): keep folder names that look like page-type labels when placing pages by @coderdailyone in #3076
  • refactor(system): signal create-user idempotency via HTTP status by @mdrkrg in #3077
  • fix(chat): send one completion-token field per provider by @lyingbug in #3082
  • feat(i18n): add Japanese (ja-JP) locale support by @3a3 in #3080
  • fix(i18n): proofread ja-JP locale strings by @3a3 in #3084
  • feat(ui): multi-stage Docker frontend build (no host npm) by @huangcheng in #3074
  • feat(datasource): persist source created time; Feishu uses content edit time for source_updated_at by @xiaoyaner0201 in #3083
  • fix(frontend): recover the chat stream from an expired access token by @hjxccc in #3028
  • fix(wiki): make the category_path directory filter match on SQLite by @coderdailyone in #3078
  • feat(web-search): add Bocha AI Search provider by @vicfei in #3036
  • fix(i18n): restore natural Japanese in proofread strings by @3a3 in #3085
  • fix(agent): improve web search and persistent page reading by @lyingbug in #3086
  • docs: update website guides and improve writing style by @lyingbug in #3095
  • refactor(agent): discover and invoke MCP tools on demand by @lyingbug in #3094
  • fix(frontend): keep agent editor dependency loading alive for contributors by @vicfei in #3096
  • fix: remove GPL converter and bundle third-party license sources by @lyingbug in #3105
  • refactor(resource-access): unify scoped authorization and transfer recovery by @lyingbug in #3097
  • feat(sandbox): add an interactive terminal and files tab beside chat by @nullptr-error in #3110
  • fix(mcp): require schema discovery before calls and render tool results by @lyingbug in #3113
  • fix(graph): feed OCR chunks to graph extraction instead of image-link placeholders by @3a3 in #3092
  • docs: add English and bilingual product tours to READMEs by @lyingbug in #3117
  • feat(mcp)!: persist tool catalogs and add guided configuration by @lyingbug in #3118
  • fix(skills): accept UTF-8 BOM in skill manifests by @lyingbug in #3126
  • feat(mcp)!: streamline setup and use short routing handles by @lyingbug in #3127
  • feat(chat): append messages to a running agent turn by @nullptr-error in #3123
  • feat(sandbox): unify the interactive PTY prompt and reconnect running sandboxes by @nullptr-error in #3128
  • fix(chat): preserve steering continuity and composer focus by @lyingbug in #3136
  • fix(embed): add missing chat and references i18n keys by @tsukiga-kirei in #3137
  • fix(chat): improve sandbox artifact navigation and steering consistency by @lyingbug in #3138
  • fix(chat): prevent pending steer messages from jittering during streaming by @lyingbug in #3141
  • fix(skills): verify runtime prerequisites and support installer steering by @lyingbug in #3140
  • fix(skills): pin install guidance and generalize runtime prompts by @lyingbug in #3143
  • fix(agent): prevent MCP answers from citing unrelated KB sources by @lyingbug in #3144
  • fix(preview): improve keyboard scrolling and fullscreen controls by @lyingbug in #3152
  • fix(preview): align header controls and artifact cards by @lyingbug in #3153
  • fix(preview): support storage in sandboxed HTML artifacts by @lyingbug in #3155
  • feat(faq): filter entries by enabled status by @langcaiye in #3157
  • feat(sandbox): add safe live file management to session sandboxes by @WHUTcjh-2024 in #3181
  • Revert "feat(sandbox): add safe live file management to session sandboxes" by @lyingbug in #3188
  • fix(agent): honor MCP service advanced_config.timeout for CallTool window by @LuckVd in #3183
  • feat(browser): connect local Chrome with task controls and display modes by @lyingbug in #3180
  • feat(browser): polish connection settings, open tasks in a new window, and streamline prompts by @lyingbug in #3193
  • fix(browser): support human handoffs and resume interrupted tasks by @lyingbug in #3200
  • fix(browser): complete task cancellation, screenshots, and result display by @lyingbug in #3206
  • fix(preview): repair PptxGenJS slide masters so previews render by @lyingbug in #3208
  • fix(tracing): keep sandbox RPC spans under their owning operations by @lyingbug in #3207
  • feat(sandbox): stream live shell and install command output by @lyingbug in https://github.com/Tencent/WeKnora/p...
Read more

v0.8.0

Choose a tag to compare

@lyingbug lyingbug released this 03 Sep 07:03

What's Changed

  • fix(tenant): clear stale home tenant after member removal by @jiahao6635 in #2589
  • Feat/issue 2401 auto tag by @Syt3s in #2548
  • fix(knowledge): harden auto-tagging and let it respect manual tags by @lyingbug in #2595
  • feat(auth): add self-service change password in user profile by @jiahao6635 in #2591
  • fix(auth): harden self-service change password after #2591 by @lyingbug in #2596
  • fix(query-understand): LLM 输出不可解析时应回退到原始查询输入 by @mdrkrg in #2592
  • docs: fix 登陆 typo to 登录 by @jiahao6635 in #2598
  • feat(files): add message-scoped proxy for shared-agent chat images by @lyingbug in #2605
  • fix(vlm): use max_completion_tokens for GPT-5 / o-series vision models by @renezander030 in #2614
  • fix: pptx/ppt attachment parsing fails — missing parser engine + markitdown extras by @putcn in #2621
  • fix(security): harden outbound URL SSRF protection by @lyingbug in #2626
  • feat: add Metaso web search provider by @hiasky in #2625
  • feat: 邀请链接在 invite_only 模式下改为登录后加入空间 by @asmh1989 in #2627
  • feat(invitation): add auto-accept switch for inviting registered users by @asmh1989 in #2633
  • fix(invitation): harden auto-accept follow-ups from code review by @lyingbug in #2638
  • fix(im): persist session mode configuration by @jacentsao in #2629
  • feat(agent): prefill default rerank model on agent creation by @mdrkrg in #2631
  • fix(frontend): dismiss stale card popover on folder navigation by @hiasky in #2624
  • fix(mcp): preserve omitted service update fields by @jay3cx in #2622
  • fix(test): use resolvable URLs in MCP service update test by @lyingbug in #2640
  • fix(cli): preserve agent update flags in retry_argv by @jiahao6635 in #2599
  • refactor(handler): extract shared searchResultFromMap by @mdrkrg in #2610
  • fix(config): 补齐 WEKNORA_TENANT_ENABLE_CROSS_TENANT_ACCESS 的 env 读取 by @asmh1989 in #2594
  • feat(yunzhijia): support thread sessions by @jacentsao in #2630
  • feat(sandbox) by @nullptr-error in #2301
  • fix(i18n): add common update success translations by @hanxiantao in #2649
  • feat(auth): add /auth/oidc/start endpoint for direct 302 OIDC login by @asmh1989 in #2647
  • feat(sandbox): 沙箱后端改为按空间配置,并补齐 E2B 模板与检测诊断 by @lyingbug in #2651
  • fix: 修复共享空间下拉列表无法滚动 by @WHUTcjh-2024 in #2644
  • fix(embedding): validate WeKnoraCloud response indexes by @pengpengyi92 in #2646
  • feat: add Exa WebSearch by @Syt3s in #2617
  • feat(sandbox): unify remote sandbox on E2B protocol with self-hosted support by @lyingbug in #2655
  • feat(knowledge): add document download action by @hanxiantao in #2654
  • feat(i18n): 前端默认语言支持经 DEFAULT_LOCALE 环境变量运行时配置 by @asmh1989 in #2658
  • fix(i18n): harden DEFAULT_LOCALE runtime config after #2658 by @lyingbug in #2660
  • feat(sandbox): enhance logging for sandbox operations and error diagnostics by @lyingbug in #2659
  • fix(docreader): preserve vertically merged table cells by @Lion-Leporidae in #2657
  • fix(frontend): keep knowledge view controls visible by @hiasky in #2661
  • feat: allow updating API key knowledge base scope by @estongu in #2607
  • fix(wiki): set MaxTokens for generateWithTemplate LLM calls by @jiahao6635 in #2608
  • feat: paginate document chunks by @hiasky in #2664
  • fix(frontend): harden document chunk pagination state handling by @lyingbug in #2665
  • fix(docreader): avoid chart serialization during xlsx preprocessing by @jiahao6635 in #2663
  • feat(datasource): add Tencent IMA datasource by @chengjoey in #2662
  • fix(frontend): refine user profile change-password popup UX by @lyingbug in #2670
  • fix(ui): 统一剪贴板复制为公共方法,HTTP 环境回退 execCommand by @asmh1989 in #2668
  • fix: restore FAQ batch actions by @ttommybot in #2669
  • fix(agent): shared knowledge bases render doc_count=0 in runtime_context by @ShadowSmallBaby in #2564
  • feat(im): process file attachments in QA by @jacentsao in #2667
  • feat(datasource): 支持 GitLab 数据源文档同步 by @Numblgw in #2656
  • feat(im): support reverse proxy for feishu websocket long connection by @Greenplumwine in #2550
  • fix(datasource/gitlab): 修复项目路径编码与连接器单例缓存问题 by @lyingbug in #2673
  • fix: support folder drag-and-drop upload with directory structure preserved by @wheatzone in #2677
  • fix: allow clearing optional model selections by @ttommybot in #2675
  • fix(data-analysis): 修复 Excel 表格摘要丢失样本数据 by @Numblgw in #2682
  • fix(chunking): preserve parent-child text child embeddings by @sandaogouchen in #2680
  • fix(dev): use IPv4 loopback for local services by @hanxiantao in #2683
  • feat(memory): add cross-session long-term memory by @lyingbug in #2689
  • 修复:同步 knowledge-search 的 Swagger 路由与实际接口 by @T3L000 in #2691
  • fix(docparser): preserve filename extension in MinerU multipart uploads by @oscarlius in #2695
  • ci: add golangci-lint workflow gating new PR code by @lyingbug in #2696
  • fix(datasource): perform real sync deletions scoped per data source by @mdrkrg in #2690
  • 修复:完善 API Playground SSE 终态处理 by @T3L000 in #2697
  • fix(chunk-merge): stop dropping content when contiguous chunks repeat text by @ChenRussell in #2686
  • fix: filter menus by deployment capabilities by @ttommybot in #2674
  • fix(chat): 修复对话时间轴的三处失真(占位行样式、历史丢步骤、兜底计数) by @lyingbug in #2699
  • 【Fix】修复docker-compose.yml中配置的postgres 安全检查问题 by @Greenplumwine in #2704
  • feat(docparser): 引入 anydoc 引擎,在 Go 进程内解析 office 文档 by @lyingbug in #2702
  • fix(docker): copy anydoc-go go.mod before go mod download by @lyingbug in #2719
  • fix(anydoc): 升级到 0.1.9,为恶意 PDF 的解析开销加上上界 by @lyingbug in #2720
  • fix(docker): 默认在 app 镜像中链接 anydoc 解析引擎 by @lyingbug in #2721
  • fix(build): Enable Docker BuildKit in build_images.sh by @hbh112233abc in #2287
  • docs: update website screenshot tracker by @hata333 in #2735
  • fix(chunk): sanitize context headers before persistence by @oscarlius in #2701
  • docs(cli): align retry guidance with retry_argv by @Lem0nTea2002 in #2731
  • fix(hybrid-search): guard MatchCount=0 truncating all results by @toy0116 in #1156
  • Fix/hybrid search match count normalization by @iuyo5678 in #2750
  • fix(i18n): restore tenantless onboarding copy by @koishi514-Z in #2739
  • fix: localize builtin agent cards when config is persisted in DB by @LHMQ878 in #2710
  • fix(retrieval): 分段中删除的图片不再被检索到 by @lawrence1912 in #2730
  • fix: navigate chat references to document folder by @hiasky in #2754
  • fix(migrations): 补齐 Lite 模式缺失的 SQLite 版本化迁移 (fixes #2158) by @icatw in #2749
  • fix(deps): Upgrade dingtalk-stream-sdk-go to fix the crash caused by sending on a closed channel by @jettjia in #2727
  • feat: support editing document summaries by @hiasky in #2752
  • ci: 按路径裁剪 PR checks,避免 anydoc 与无关模块 lint 误触发 by @lyingbug in #2755
  • feat(frontend): 选择VLLM模型时添加supports_vision判断 by @cainbit in https://g...
Read more

v0.7.2

Choose a tag to compare

@lyingbug lyingbug released this 07 Aug 03:37

What's Changed

  • refactor(agent): consolidate model-handle codecs into internal/modelcontext by @lyingbug in #2330
  • refactor(auth,router): unify auth session context and split router by domain by @lyingbug in #2331
  • fix(knowledge): clean bound vector stores in batch delete by @BigFishDreamWater in #2329
  • fix: support string args for skill script execution by @koishi514-Z in #2318
  • fix(agent): keep batched wiki_read_page results within output budget by @lyingbug in #2333
  • fix(pipeline): 修复合并阶段输出顺序的不确定性 by @mdrkrg in #2319
  • fix(knowledge): reconcile wiki state when moving documents across KBs by @lyingbug in #2335
  • feat(wiki): page revision history with diff, revert, and manual editing by @lyingbug in #2336
  • style(wiki): polish revision drawer and sidebar to match session list UX by @lyingbug in #2338
  • feat(feishu): sync docx via blocks API with per-type downdrill by @voidkey in #2334
  • fix(i18n): remove duplicate 'members' key in organization locale objects by @hiasky in #2305
  • fix(migrations): renumber knowledge metadata index migration to 000076 by @lyingbug in #2340
  • fix(im): harden connection lifecycle across replicas by @lyingbug in #2349
  • Refine user settings menu and access shortcuts by @lyingbug in #2368
  • Remove redundant Wiki operation log by @lyingbug in #2367
  • feat(knowledge): configure upload tags and processing options by @lyingbug in #2369
  • fix: Remove SanitizeForDisplay from chunk handler responses by @mdrkrg in #2323
  • feat(knowledge): support editable chunks and retrieval metadata by @lyingbug in #2370
  • fix(mcp-server): correct SSE message route to prevent initialization … by @FincherYuan in #2375
  • fix(im): recover channels after leader lock loss by @March-77 in #2365
  • fix(knowledge): clear stale errors when reparse starts by @March-77 in #2363
  • docs: clarify scope-aware contributor validation by @March-77 in #2366
  • fix(frontend): distinguish main stages from postprocess tasks by @March-77 in #2364
  • fix(wiki): prevent finalizing stalls on enqueue failure by @BigFishDreamWater in #2362
  • fix(docparser): resolve remote images referenced by HTML img tags by @ochanism in #2355
  • fix(mcp-server): route diagnostics to stderr to fix stdio protocol crash by @annopick in #2371
  • fix(im): render resource:// images in IM channels (nginx /r/ + config guards) by @voidkey in #2352
  • fix(chat): prevent duplicate terminal answer events by @koishi514-Z in #2353
  • fix(docreader): restore optional XLSX header context by @WHUTcjh-2024 in #2314
  • fix: 在chunk overlap中保留更细的语义边界 by @ttommybot in #2342
  • [Bug] preserve web evidence when page fetches fail by @langcaiye in #2309
  • fix(knowledge): default custom metadata on create by @lyingbug in #2379
  • fix(knowledge): distinguish duplicate files by type by @koishi514-Z in #2384
  • fix(storage): allow image uploads to use file service fallback by @lyingbug in #2389
  • fix(retriever): rebuild a missing vector store engine on demand by @ochanism in #2357
  • fix(agent): exclude disabled FAQ entries by @lyingbug in #2392
  • fix(mcp-server): pin MCP Python SDK to v1.x by @lyingbug in #2395
  • Redesign upload confirmation dialog by @lyingbug in #2397
  • ci(mcp-server): remove duplicate workflow.yml (superseded by mcp-server.yml) by @annopick in #2398
  • fix(knowledge): support local HTML file uploads by @BigFishDreamWater in #2393
  • fix(session): include external users in API session group by @lyingbug in #2405
  • fix(organization): pass avatar when creating shared space by @hiasky in #2408
  • feat(knowledge): add batch tag dialog for selected documents by @hiasky in #2406
  • fix: harden shared agent source permissions by @lyingbug in #2417
  • ci: add PR checks for app, frontend, and DocReader by @lyingbug in #2416
  • fix(mcp-server): migrate to MCPServer high-level API (mcp 2.x) [v1.1.0] by @annopick in #2420
  • fix(docparser): normalize PaddleOCR-VL Cloud HTML tables by @zldkr in #2419
  • test(ci): stabilize MCP session test and decouple frontend checks by @lyingbug in #2424
  • fix(mcp): 修复非 UUID Agent ID 无法解析的问题 by @ZhuangShiHao1207 in #2422
  • fix(sessions): 放行 embed 运行时读取自身会话,修复追问建议 500 与刷新丢对话 by @asmh1989 in #2421
  • fix(frontend): resolve i18n @ syntax errors and TDesign drawer warnings by @lyingbug in #2426
  • fix: preserve wiki folder path after creation by @ttommybot in #2429
  • fix(sqlite): filter vector candidates before top-k by @BigFishDreamWater in #2440
  • fix: 修复 SQLite 下删除 DataSource 失败 by @yuefanxiao in #2435
  • fix(evaluation): use sync passage indexing to fix always-zero retrieval metrics by @lazyayuan in #2359
  • fix(frontend): 编辑保存后自动关闭编辑器,创建后引导继续配置 by @lyingbug in #2448
  • fix(frontend): restore audit and KB activity i18n after locale prune by @lyingbug in #2449
  • fix(frontend): route embed protected images through channel file proxy by @lyingbug in #2454
  • fix(knowledge): allow xlsx in URL import (#2447) by @lyingbug in #2452
  • fix(chat): segment Chinese query expansions with jieba by @BigFishDreamWater in #2463
  • fix(knowledge): surface batch reparse failures by @Myang-print in #2453
  • fix(rerank): batch LKEAP requests within API limits by @BigFishDreamWater in #2501
  • fix(chat): keep attachment upload status reactive by @jacentsao in #2498
  • fix(rerank): normalize NVIDIA logit scores by @BigFishDreamWater in #2496
  • fix(rerank): preserve code and math passages by @BigFishDreamWater in #2495
  • fix: count skipped stages in parsing progress by @ttommybot in #2500
  • fix(docparser): preserve MinerU automatic PDF parsing by @oscarlius in #2493
  • feat(mcp-server): add list_shared_knowledge_bases tool by @FincherYuan in #2497
  • fix: exclude archived wiki pages from lint cursor by @quan020406 in #2503
  • fix(knowledge): clear stale error_message on reprocessing and finalize by @oscarlius in #2488
  • fix(knowledge): clear stale error_message on the remaining reprocess paths by @lyingbug in #2506
  • fix: unify organization settings modal scrolling by @ttommybot in #2508
  • fix: show answer generation status after retrieval by @ttommybot in #2514
  • fix(embedding): prevent ants worker panic and mutex deadlock on empty/mismatched results by @qfzc in #2520
  • feat(knowledge): folder tree sidebar, folder path storage, and document re-filing by @lyingbug in #2528
  • fix(frontend): restore runtime queue i18n and guard against prune by @lyingbug in #2529
  • fix(chat): preserve retrieval results during embedding failures by @KKtwo in #2525
  • perf(container): batch legacy storage alias lookup at startup by @lyingbug in #2530
  • feat(storage): support AWS S3 NoAk default credentials by @qilifan in #2008
  • fix(summary): preserve rows across table chunks by @BigFishDreamWater in #2538
  • feat(api): resource_urls=public for directly loadable file URLs by @lyingbug in #2531
  • fix(chunking): align prev...
Read more

v0.7.1

Choose a tag to compare

@lyingbug lyingbug released this 24 Jul 08:54

What's Changed

  • feat(chat): add session header actions and Markdown export by @lyingbug in #2109
  • feat(tracing): migrate langfuse client to OTLP/OTel wire protocol by @lordk911 in #2099
  • fix(tracing): merge Langfuse finish metadata and export auto root spans by @lyingbug in #2111
  • style(chat): widen conversation content area from 800px to 960px by @lyingbug in #2114
  • fix(wiki): prevent stale pending tasks after ingest timeout by @014-code in #2106
  • fix: stabilize top-k retrieval ordering by @KKtwo in #2091
  • refactor: remove Neo4j-based conversation memory feature by @lyingbug in #2130
  • feat(web-search): add Zhipu AI web search provider support by @lyingbug in #2115
  • feat(session): add admin API session bucket and stabilize sidebar filter by @lyingbug in #2151
  • fix(frontend): pin nginx base image by digest for old-host compatibility by @lyingbug in #2153
  • fix(api-keys): allow scoped file serve and ingest batch routes by @lyingbug in #2154
  • fix(frontend): load complete TDesign styles by @jacentsao in #2148
  • feat: support Volcengine rerank by @KKtwo in #2147
  • fix(rerank): batch Volcengine rerank requests over API document limit by @lyingbug in #2155
  • feat(session): gate IM/embed/API channel sessions behind admin by @lyingbug in #2156
  • fix(embed): 兼容不支持 crypto.randomUUID 的浏览器以及http请求模式 by @hbh112233abc in #2159
  • fix(types): use correct GORM tag separator in Message.KnowledgeReferences by @steptian in #2157
  • fix(rerank): stop sending vLLM truncate_prompt_tokens by default by @draix in #2160
  • feat(im): add Yunzhijia integration by @jacentsao in #2149
  • feat(compose): align env vars with code + fix helm GraphRAG bug by @Greenplumwine in #2164
  • fix(compose): let PDF render parallelism follow CPU-aware code default by @lyingbug in #2168
  • fix(feishu): resilient large-wiki sync — retry, streaming resume, failure visibility by @voidkey in #2166
  • feat(api-keys): add platform-scoped API keys for control-plane automation by @lyingbug in #2165
  • fix(knowledge): multiset AminusB for KB clone sync by @lyingbug in #2169
  • fix(frontend): keep custom theme tokens in production builds by @lyingbug in #2172
  • feat(im): render Yunzhijia replies as Markdown by @jacentsao in #2180
  • fix(knowledge): rewrite chunk content image URLs on clone by @lyingbug in #2183
  • fix(knowledge): rewrite parent text chunk image URLs via global pass by @lyingbug in #2188
  • fix: 修复IM问答无法读取session的问题 by @wangkeee2002 in #2182
  • fix(cli): repair acceptance e2e for current CLI contracts by @yuefanxiao in #2178
  • fix(knowledge): copy embedded chunk images into exports namespace by @lyingbug in #2191
  • fix(chat): show model reasoning inline in agent timeline by @lyingbug in #2193
  • fix: normalize API key expiry timestamps to UTC (#2137) by @lyingbug in #2171
  • fix(knowledge): stop async delete from leaving visible/zombie rows (#2192) by @lyingbug in #2195
  • fix: correct graph and multimodal processing traces by @ttommybot in #2190
  • feat(wiki): prune empty folders after document retract by @lyingbug in #2196
  • fix(dev): nc 兼容BSD netcat by @hbh112233abc in #2205
  • 修复跨工作空间共享知识库原始文档预览失败 by @chang30519-art in #2200
  • fix(wiki): support orphan count on sqlite by @wolfkill in #2209
  • feat(knowledge): add scoped activity audit trail by @lyingbug in #2198
  • fix(embedding): reuse SSRF-safe HTTP transport by @March-77 in #2201
  • refactor(http): share SSRF-safe transport across model clients by @lyingbug in #2213
  • fix: refresh pending join request counts after review by @ttommybot in #2212
  • fix(search): validate hybrid search query text by @March-77 in #2203
  • fix(tasks): dequeue work for deleted knowledge bases by @March-77 in #2202
  • fix(tasks): detach KB deletion queue cleanup from request ctx by @lyingbug in #2215
  • feat(im): support Yunzhijia WebSocket image messages by @jacentsao in #2214
  • fix(im): harden Yunzhijia image download after #2214 by @lyingbug in #2216
  • fix(task-inspector): handle lazy queue not found errors by @LHYintheCode in #2218
  • fix(mcp): coordinate OAuth token refresh and authorization polling by @lyingbug in #2227
  • fix: prevent API keys from assigning owner role by @ttommybot in #2225
  • docs: clarify workspace owner cardinality by @ttommybot in #2224
  • feat(runtime): bulk purge archived queue tasks and chat_attachment i18n by @lyingbug in #2233
  • feat(llm): add prompt-cache observability and wiki cache-friendly prompts by @lyingbug in #2236
  • feat(chat): show wiki tool results in the references drawer by @lyingbug in #2239
  • fix(models): align model debug upload limit with global MAX_FILE_SIZE by @lyingbug in #2240
  • feat(frontend): polish shared space settings and join preview UI by @lyingbug in #2245
  • feat(frontend): polish organization space UI and share-to-space panels by @lyingbug in #2249
  • fix(knowledge): restrict source file download to Editor and above by @lyingbug in #2250
  • fix: synchronize organization state after writes by @ttommybot in #2268
  • fix(frontend): correct optimistic organization state after review and detail loads by @lyingbug in #2269
  • fix(agent): honor suggested-questions limit parameter by @jack-wang-176 in #2253
  • fix: prevent TDesign textarea autosize crash in org settings popup by @lyingbug in #2271
  • fix(org): disambiguate shared-space terms and tighten invite search by @lyingbug in #2273
  • fix(doris): harden Stream Load HTTP with SSRF-safe client by @lyingbug in #2276
  • fix(wiki): harden slug integrity across ingest and agent write paths by @lyingbug in #2280
  • chore(release): prepare v0.7.1 by @lyingbug in #2286

New Contributors

Full Changelog: v0.7.0...v0.7.1

v0.7.0

Choose a tag to compare

@lyingbug lyingbug released this 17 Jul 06:44

What's Changed

  • feat(im): 新增QQBot即时通讯平台集成支持 by @YS-zdck in #1824
  • fix(frontend): hide redundant card badges when section headers apply by @lyingbug in #1825
  • chore: bump version to 0.6.3 by @lyingbug in #1826
  • fix(embedding): add SSRF validation and safe HTTP client for embedders by @lyingbug in #1828
  • ui(frontend): polish channel cards and use official QQBot icon by @lyingbug in #1830
  • feat(frontend): Chrome 插件与 Claw Skill 集成落地页 by @lyingbug in #1832
  • fix(frontend): reposition card hover popover to card instead of cursor by @hiasky in #1829
  • feat(frontend): show stacked integration icons on sidebar hover by @lyingbug in #1837
  • fix: make infrastructure host/port configurable via env vars in docker-compose by @hiasky in #1840
  • test: fix stale Doris SQL-shape and flaky OSS bucket assertions by @lyingbug in #1842
  • feat(chat): @Skill/@MCP mentions with scoped agent runtime by @lyingbug in #1841
  • optimize grep tag mention scope by @lyingbug in #1843
  • feat(mcp): drive auth by AuthType and auto-detect OAuth on connection test by @lyingbug in #1844
  • feat(mcp): prompt and resume OAuth authorization mid-conversation by @lyingbug in #1845
  • Align MCP OAuth and tool approval cards with agent tool timeline by @lyingbug in #1846
  • feat: scope API MCP OAuth by principal by @lyingbug in #1847
  • fix(frontend): gate API integration tab and polish landing pages by @lyingbug in #1850
  • fix(docker): default DB_HOST to postgres in .env.example by @lyingbug in #1851
  • feat(frontend): add API integration playground by @lyingbug in #1852
  • Chore: update dev script checks and Air docs by @oxkrypton in #1854
  • fix(vlm): allow configurable temperature for VLM models by @lawrence1912 in #1858
  • feat(agent): add configurable MCP OAuth wait timeout per agent by @lyingbug in #1863
  • Fix lint and test failures by @lyingbug in #1871
  • feat(im): include per-service MCP OAuth URLs in IM auth notices by @lyingbug in #1874
  • Fix MCP code import placeholder by @lyingbug in #1877
  • fix(security): close SQL validator bypass in agent database tools by @lyingbug in #1881
  • fix(security): enforce KB access on wiki reads and related IDOR paths by @lyingbug in #1882
  • fix(security): block SSRF in knowledge import, web_fetch, and datasource connectors by @lyingbug in #1883
  • fix(security): redact integration secrets from viewer-accessible endpoints by @lyingbug in #1884
  • fix(security): close open GHSA findings from security triage by @lyingbug in #1887
  • fix(security): block refresh tokens as bearer and sandbox MCP uploads by @lyingbug in #1890
  • fix(nginx):embed iframe x-frame-options by @oxkrypton in #1879
  • fix(security): redact IM list credentials and harden MinerU SSRF by @lyingbug in #1897
  • fix(security): harden follow-up request and preview surfaces by @lyingbug in #1899
  • fix(client): harden chat and agent SSE reliability by @coconut-yc in #1740
  • feat(cli)!: add agent-first chat / session ask output modes by @coconut-yc in #1741
  • fix(cli): align stream error handling after output-mode merge by @lyingbug in #1903
  • Fix manual knowledge editor publish flow by @lyingbug in #1911
  • fix(frontend): prevent white screen from corrupted localStorage by @hiasky in #1925
  • fix(frontend): harden settings localStorage load after #1925 by @lyingbug in #1927
  • [codex] Fix Feishu card markdown image uploads by @lyingbug in #1933
  • refactor(frontend): extract shared document action menu and card view component by @hiasky in #1931
  • fix(frontend): unify document action menu styles and reset move state on close by @lyingbug in #1939
  • feat(cli)!: v0.10 CLI reliability, agent-UX & command-surface hardening by @voidkey in #1917
  • feat(redis): support TLS for Redis connections by @qilifan in #1930
  • fix(redis): harden TLS tests and surface TLS config at startup by @lyingbug in #1940
  • fix(im/feishu): actually close WebSocket long connection when channel is stopped by @Greenplumwine in #1908
  • fix(agent): treat end_turn as natural stop by @jacentsao in #1868
  • fix(search): apply tag filters to knowledge search by @langcaiye in #1907
  • feat: add scoped tenant API keys by @lyingbug in #1922
  • fix(frontend): keep HMAC secret visible for copy after save by @lyingbug in #1947
  • feat: add Keenable as a configurable web search provider by @ilya-bogin-keenable in #1946
  • fix(web-search): polish Keenable provider integration after #1946 by @lyingbug in #1948
  • Improve quick QA source drawer and agent capability controls by @lyingbug in #1949
  • Close references drawer when switching chat sessions by @lyingbug in #1951
  • fix(agent): polish selector capability status chips by @lyingbug in #1956
  • fix(search): harden tag scope resolution after #1907 by @lyingbug in #1952
  • fix(faq): guard against division by zero in import timing logs by @lyingbug in #1965
  • feat(dev): support remote infrastructure via .env.local by @lyingbug in #1966
  • fix(knowledge-base): improve doc filter bar responsive layout by @lyingbug in #1967
  • feat(knowledge-list): show Wiki badge on knowledge base cards by @lyingbug in #1970
  • Add knowledge base duplicate flow by @lyingbug in #1971
  • feat(frontend): add inline session title rename in sidebar by @lyingbug in #1973
  • fix: harden document pipeline concurrency and diagnostics by @lyingbug in #1978
  • fix(im): ingest DingTalk file/image messages into knowledge base by @voidkey in #1969
  • fix(im): harden DingTalk file download with SSRF checks by @lyingbug in #1982
  • feat(wiki): dedicated worker pool with concurrent claim-based batching by @lyingbug in #1979
  • feat(models): cap background LLM concurrency per model by @lyingbug in #1986
  • chore(env): update WEKNORA_MODEL_MAX_CONCURRENCY to 32 in configuration files by @lyingbug in #1995
  • feat(tenant): optional legacy auto-create API key on tenant creation by @lyingbug in #1999
  • fix(im/feishu): reply via reply-message API so replies land in the or… by @Greenplumwine in #1898
  • feat(system): add runtime task queue observability dashboard by @lyingbug in #2001
  • refactor(RuntimeQueues): enhance UI layout and styling for better readability by @lyingbug in #2002
  • feat(system): expose model concurrency stats on runtime queues dashboard by @lyingbug in #2003
  • chore(deps): resolve Dependabot security alerts by @lyingbug in #2005
  • fix(docreader): route mislabeled legacy DOC files correctly by @lyingbug in #2004
  • fix(spans): expand knowledge span name column for long wiki slugs by @lyingbug in #2020
  • fix(spans): make fitSpanName rune-aware and normalize lookups by @lyingbug in #2021
  • fix(router): allow scoped API keys to poll FAQ import progress by @lyingbug in #2022
  • fix(files): serve shared KB images via KB-scoped file proxy by @lyingbug in #2023
  • feat(knowledge-base): add per-pipeline custom instruction fields by @lyingbug in https://github.co...
Read more

v0.6.3

Choose a tag to compare

@lyingbug lyingbug released this 26 Jun 08:05

What's Changed

  • feat(docker): streamline frontend build process and update Docker configuration by @lyingbug in #1642
  • style(frontend): adjust padding and margins for improved layout in AgentList, Chat, and KnowledgeBaseList components by @lyingbug in #1648
  • feat(ui): enhance knowledge base creation with initial section support by @lyingbug in #1649
  • Refine parser rule display for the active knowledge file type by @lyingbug in #1650
  • feat(menu): enhance sidebar functionality with search and toggle buttons by @lyingbug in #1655
  • feat(menu): enhance menu component with new chat functionality and localization updates by @lyingbug in #1661
  • refactor(settings): unify empty state handling across settings views by @lyingbug in #1662
  • Fix 1646 lacking error set by @jack-wang-176 in #1669
  • feat(im): sidebar source filter, content titles & in-flight reply recovery by @voidkey in #1659
  • fix(datasource): clarify edit does not sync by @langcaiye in #1652
  • fix: validate sync log limit parameter by @kshitijshresth in #1568
  • fix(tcvdb): improve collection compatibility by @langcaiye in #1575
  • fix(wiki): clear stale citation chunks on deletion by @langcaiye in #1666
  • feat(embed): 支持将智能体以 iframe / 浮窗形式嵌入第三方网站 (#1657) by @lyingbug in #1673
  • feat(frontend): polish knowledge base datasource settings UI by @lyingbug in #1684
  • fix(wiki): mask image URLs before LLM to prevent UUID/path corruption by @FFFFFFpy in #1681
  • fix:dimensions not sent in embedding API requests by @MaoMengww in #1654
  • fix(auth): clear session resource caches on logout by @lyingbug in #1685
  • Add embedding dimension override support by @lyingbug in #1686
  • feat(im): enhance IMChannelPanel and SettingDrawer components by @lyingbug in #1690
  • feat(backend): chunk merge, imageinfo matching, and RAG progress events by @lyingbug in #1691
  • feat(agent): rerank threshold, tool persist trimming, and Langfuse tracing by @lyingbug in #1692
  • feat(chat): shared markdown rendering and citation popover by @lyingbug in #1693
  • feat(chat): agent stream refactor, tool results, and layout UX by @lyingbug in #1694
  • feat: add EPUB and MHTML document support by @FFFFFFpy in #1695
  • fix(wiki): use placeholder src for protected provider images to avoid… by @FFFFFFpy in #1697
  • feat(docreader): add quick availability probe for opendataloader parser by @lyingbug in #1702
  • fix(frontend): list writable shared KBs in manual knowledge editor by @adawang1210 in #1701
  • fix: mark knowledge delete failures after retry exhaustion by @langcaiye in #1699
  • fix(chunker): carry deep sub-heading context into large-section chunks by @adawang1210 in #1700
  • feat(wiki): front-load static rules in chunk-citation prompt for prefix cache by @adawang1210 in #1705
  • perf(sandbox): compile command-substitution regexps once by @adawang1210 in #1710
  • perf(common): compile LLM-JSON code-fence regexp once by @adawang1210 in #1711
  • feat(wiki): add page hierarchy/category metadata and retrieval APIs by @lyingbug in #1703
  • feat(wiki): show category hierarchy and navigation in wiki browser by @lyingbug in #1704
  • feat(wiki): enhance anchored form popups and internationalization updates by @lyingbug in #1715
  • fix(docreader): restore epub and mhtml parser registration by @FFFFFFpy in #1714
  • fix(vectordb): 修复 question 数据复制到向量数据库的 ID 映射问题 by @cctv549681 in #1668
  • feat: add tenant workspace deletion UI by @langcaiye in #1706
  • fix(tenant): purge memberships on delete and filter stale switcher rows by @lyingbug in #1718
  • perf(utils): compile SQL-validation regexps once instead of per call by @adawang1210 in #1708
  • fix(docreader): align pdf JPEG quality default assertion by @JojaCola312 in #1717
  • feat(frontend): improve manual knowledge editor and chat citation rendering by @lyingbug in #1724
  • [codex] Polish chat suggestions, citations, and drawers by @lyingbug in #1728
  • style(frontend): update ListSpaceSidebar styles for improved hover and active states by @lyingbug in #1730
  • feat(frontend): enhance chat streaming visuals with shimmer effect and fade tail by @lyingbug in #1744
  • feat(frontend): add directory view toggle and improve localization by @lyingbug in #1745
  • fix(frontend): lower UploadConfirmDialog z-index so Settings modal appears above it by @hiasky in #1737
  • fix(frontend): prevent settings modal from overflowing viewport by @hiasky in #1732
  • feat(frontend): add wiki tool support and enhance agent tool icon mapping by @lyingbug in #1746
  • fix(frontend): enhance repairFlankingEmphasis to handle opening delimiters correctly by @lyingbug in #1747
  • feat(frontend): add MCP config section and unify modal navigation styles by @lyingbug in #1749
  • fix(im): prevent DingTalk stream connection from going stale by @lyingbug in #1750
  • feat(i18n): add key descriptions for various settings in multiple languages by @lyingbug in #1751
  • fix: preserve MHTML image resolution and Markdown structure by @FFFFFFpy in #1743
  • fix(docparser): rename close variable to avoid shadowing builtin by @lyingbug in #1752
  • feat(im): integrate IM service for custom agent deletion by @lyingbug in #1753
  • fix(api): add POST for hybrid-search while keeping GET compatibility (#1727) by @lyingbug in #1754
  • fix(docparser): normalize PaddleOCR-VL HTML tables to reduce token waste and chunk fragmentation by @lyingbug in #1755
  • fix(datasource): lazy-load Feishu wiki resources to avoid listing timeout (#1672) by @lyingbug in #1756
  • feat(datasource): reveal pre-existing selections in lazily-loaded picker by @lyingbug in #1757
  • fix(organization): invalidate fetch cache after creating org by @hiasky in #1761
  • feat(mcp): add OAuth2 authorization for MCP services by @lyingbug in #1762
  • feat(retriever): configure Tencent VectorDB replicas via env by @langcaiye in #1759
  • feat(mcp): add code import functionality for MCP service configuration by @lyingbug in #1763
  • feat(mcp): add custom headers functionality to MCP service dialog by @lyingbug in #1764
  • feat(datasource): add RSS feed connector with full-text ingestion by @lyingbug in #1769
  • fix(agent): remove unused RunnableByViewer gate blocking viewer chat by @lyingbug in #1772
  • fix(qa): wire agent thinking toggle and show reasoning in RAG timeline by @lyingbug in #1773
  • fix(model): block deletion when model is referenced by KB or agent by @lyingbug in #1774
  • fix(frontend): unify sidebar other-sources section typography by @lyingbug in #1776
  • feat(im): align agent stream display with web thinking and tool progress by @lyingbug in #1775
  • fix(frontend): polish session source filter panel and WeCom icon by @lyingbug in #1780
  • fix(web-search): improve SearXNG test connection error messages by @lyingbug in #1784
  • fix(excel): filter out image function strings from parsed content by @estelledc in #1785
  • feat(integrations): add publish center and polish channel editors by @lyingbug in #1787
  • feat(chat): unify resource chips and browse recent files in @ mention by @lyingbug ...
Read more

v0.6.2

Choose a tag to compare

@lyingbug lyingbug released this 10 Jun 07:22

What's Changed

  • fix(auth): allow anonymous access to share-link endpoints (#1617) by @lyingbug in #1618
  • refactor(chat): improve model name sanitization and path validation by @lyingbug in #1619
  • fix(knowledge): update doc-scroll-container class binding to account for loading state by @lyingbug in #1623
  • fix(frontend): KB list renders empty with ≥2 knowledge bases (#795) by @draix in #1620
  • feat(migrations): HNSW index for 1024-dim embeddings (bge-m3) by @toy0116 in #1609
  • fix(migrations): update migration comments for HNSW index by @lyingbug in #1624
  • fix(duckdb): avoid extension install during startup by @langcaiye in #1615
  • fix: support custom jieba dictionary directory by @langcaiye in #1627
  • fix: refresh wiki status after document polling completes by @shifang0511 in #1622
  • feat(cli)!: v0.9 agent-first CLI — contract harmonization, auth/profile consolidation, bundled Agent Skills by @voidkey in #1551
  • refactor(tracing): remove Jaeger integration and related components by @lyingbug in #1629
  • fix:langfuse init failed by @MaoMengww in #1634
  • refactor(frontend): streamline knowledge base and agent handling with chat resources store by @lyingbug in #1630
  • feat(frontend): inject commit ID into frontend build for version tracking by @lyingbug in #1635
  • feat(client): enhance knowledge file upload with process configuration support by @lyingbug in #1636
  • fix(chat): preserve provider tool-call metadata by @ziwon in #1625
  • feat(frontend): enhance dark mode syntax highlighting for code previews by @lyingbug in #1637
  • feat(frontend): implement marquee selection for knowledge base by @lyingbug in #1639
  • refactor(get_document_info): update schema definition and input parameters by @lyingbug in #1640
  • feat(release): update to version 0.6.2 with new features and improvements by @lyingbug in #1641

New Contributors

Full Changelog: v0.6.1...v0.6.2

v0.6.1

Choose a tag to compare

@lyingbug lyingbug released this 05 Jun 08:37

What's Changed

  • perf(repository): exclude embedding field from Elasticsearch search r… by @majinding in #1433
  • fix(swagger): Fix some Swagger API endpoints returning 404 errors and regenerate the Swagger documentation by @ChenRussell in #1436
  • fix(repository): qualify tenant_id with table name to resolve ambiguous column reference by @ChenRussell in #1435
  • fix(frontend): improve tenant settings and member list UX by @lyingbug in #1438
  • fix(summary): preserve image caption/OCR text in document summaries by @lyingbug in #1447
  • fix (chat history): #1431 Preserve multiline formatting in chat messages by @tranphuongyd in #1446
  • feat(frontend): expose KB ↔ vector store binding in editor, list, and detail by @ochanism in #1427
  • fix(frontend): keep X-Tenant-ID override when switching back to home by @lyingbug in #1451
  • refactor(logger): support LOG_FORMAT template and harden level coloring by @nixidexiangjiao in #1426
  • feat(retriever): add OpenSearch type prep ahead of Phase 3 driver by @ochanism in #1445
  • feat(wiki): add "View in Graph" entry on wiki page by @lyingbug in #1452
  • fix: correct agent selector position under zoom by @shenDv6 in #1459
  • fix(frontend): correct floating UI positioning under root zoom (follow-up to #1459) by @lyingbug in #1460
  • fix(chat): stabilize tool ordering and report cached prompt tokens by @young1lin in #1463
  • 修复客户端模型类型枚举 by @cn-kali-team in #1464
  • fix: skip empty milvus enabled status groups by @wolfkill in #1462
  • 增加sandbox对windows编译支持,现在默认是linux的实现,windows直接编译报错 by @Hitvz in #1434
  • refactor(knowledge): route single delete through async pipeline by @lyingbug in #1467
  • feat(chunk): support filtering chunks by multiple chunk_type params by @lyingbug in #1470
  • feat(docreader): improve web parser for WeChat Official Account articles by @lyingbug in #1473
  • refactor(chunk): remove unused VideoInfo field from Chunk struct by @lyingbug in #1472
  • refactor(knowledge): make checkStorageEngineConfigured a service method with global file-service fallback by @lyingbug in #1471
  • feat(frontend): consolidate KB metadata into an info popover by @lyingbug in #1478
  • fix: respect multi-turn-disabled flag in KnowledgeQA pipeline by @lyingbug in #1480
  • feat(builtin-models): add YAML-based declarative config with ${ENV} interpolation by @jackson-jia-914 in #1453
  • feat(builtin-models): add YAML lifecycle (delete, resurrect, default invariant) on top of #1453 by @lyingbug in #1483
  • fix(frontend): apply default context template when switching to quick-answer mode by @HelloAndyZhang in #1492
  • fix(input-field): wrong toast when selecting built-in agents other than quick-answer / smart-reasoning by @jackson-jia-914 in #1489
  • fix(doris): inline LIMIT/OFFSET as literals and enable parameter inte… by @SilentMil in #1488
  • feat(agent): add intent prompt customization in agent editor by @HelloAndyZhang in #1491
  • fix(pipeline): fallback to raw retrieval results when rerank API fails by @ChenRussell in #1484
  • fix(datasource): support Yuque team token in connector by @Once-the-sea-was-difficult-for-water in #1477
  • feat(retriever): add OpenSearch driver skeleton with gated interface stubs by @ochanism in #1481
  • fix(agent): preserve agent intent prompt whitespace and add tests by @lyingbug in #1494
  • feat(system): unified system administration console + platform audit log by @lyingbug in #1493
  • feat(cli)!: v0.7 agent-first wire contract + command-surface cleanup by @voidkey in #1475
  • feat(settings): regroup sidebar nav and redesign model card by @lyingbug in #1495
  • fix(im): recover from deleted session when GetSession returns app sentinel (#1499) by @lyingbug in #1500
  • feat(rbac): add multi-use share-link invitations for invite_only mode by @lyingbug in #1504
  • refactor(qdrant): optimize batch save, map iteration, and error wrapping by @sheep44044 in #1508
  • fix(agent): harden tool parameter parsing against LLM type mismatches by @caiyuze-cpu in #1505
  • feat(retriever): implement OpenSearch driver read/write paths by @ochanism in #1482
  • fix(im): make presigned URL flow diagnosable end-to-end by @lyingbug in #1507
  • fix(knowledge): prevent stuck parsing with span-tree progress tracking by @lyingbug in #1503
  • feat(knowledge-base): integrate trace availability checks and enhance UI interactions by @lyingbug in #1514
  • fix: add model display name by @wolfkill in #1523
  • fix: show agent id in editor by @wolfkill in #1521
  • feat(cli): v0.8 — --dry-run, MCP annotations, session continue-stream by @voidkey in #1510
  • feat: add knowledge parse cancellation with finalizing post-process state by @lyingbug in #1522
  • fix: apply document process timeout to asynq tasks by @HelloWeit in #1525
  • test: add document process task options tests by @lyingbug in #1529
  • feat(frontend): improve agent/KB editor ID display and intent prompts UX by @lyingbug in #1532
  • fix(im,kb): storage URL rewriting and tenant default KB storage by @lyingbug in #1540
  • feat(frontend): enhance IMChannelsOverviewPanel layout and functionality by @lyingbug in #1543
  • fix(knowledgeBase): improve tag loading logic and ensure consistent behavior by @lyingbug in #1544
  • fix(container): correct resetPendingTasks SQL on startup by @lyingbug in #1538
  • fix(knowledgeBase): improve tag loading logic and ensure consistent behavior by @lyingbug in #1545
  • feat(retriever): activate OpenSearch k-NN driver (PR 3 of 3) by @ochanism in #1542
  • feat(mcp): expose read-only wiki tools via Python MCP server by @zhuzhaoyun in #1502
  • feat(mcp-server): add multi-transport support and restore session configuration by @SilentMil in #1490
  • fix: avoid stale knowledge records on upload failure by @wolfkill in #1537
  • fix: scrub inline image payloads before embedding by @wolfkill in #1536
  • refactor(keywords_vector_hybrid_indexer): enhance image payload sanitization logic by @lyingbug in #1546
  • feat(migrations): add display_name column to models table by @lyingbug in #1547
  • fix(knowledge): unstick summary and isolate manual re-index trace attempts by @lyingbug in #1548
  • feat(knowledge): add stop-parse button to the trace timeline panel by @lyingbug in #1549
  • feat(knowledge): count wiki ingest in the finalizing subtask counter by @lyingbug in #1550
  • fix(chat): keep in-progress message reactive so continue-stream renders by @lyingbug in #1553
  • fix(knowledge): make finalizing subtask counter reliable + async question fan-out by @lyingbug in #1552
  • fix(knowledge): wrap locale code with LanguageLocaleName in wiki ingest prompts by @jackson-jia-914 in #1554
  • fix(knowledge): stitch chunks by text overlap, not by position by @lyingbug in #1555
  • refactor(settings): unify drawer style across model/parser/storage/vector/websearch/mcp by @lyingbug in #1558
  • refactor(settings): enhance card interactions and accessibility across components by @lyingbug in #1561
  • fix(doc_parser): enhance DOC to DOCX conversion reliability by @lyingbug in #1566
  • feat(chat): implement local image resolver for multimodal chat by @lyingbug in https://github.com/Tence...
Read more

v0.6.0

Choose a tag to compare

@lyingbug lyingbug released this 21 May 09:19

What's Changed

  • fix(compose): stop publishing docreader gRPC port to the host by @lyingbug in #1308
  • feat(frontend): show UI build version on system info page by @lyingbug in #1313
  • fix(org): searchable join bypasses invite code expiry by @tsukiga-kirei in #1324
  • fix(frontend): make rerank model optional in agent editor save by @guangyang1206 in #1317
  • feat(cli): v0.3 — extended management surface and session subtree by @voidkey in #1315
  • refactor(retriever): introduce factory for KB-scoped retrieve engine resolution by @ochanism in #1310
  • fix(session): scope session access by user by @wolfkill in #1309
  • feat(system-info): surface DB migration errors with troubleshooting links by @lyingbug in #1335
  • fix(session): map ErrSessionNotFound to 404 across all handlers (#1309 follow-up) by @lyingbug in #1336
  • fix(migration): ensure pg_trgm is created before trigram index in 000041 by @lyingbug in #1334
  • fix(kb): map ErrKnowledgeBaseNotFound to 404 across handler helpers by @lyingbug in #1339
  • feat(cli): v0.4 - output contract hardening and mainstream alignment by @voidkey in #1342
  • feat: modify the skills registration directory by @1141520944 in #1344
  • fix: extend document processing timeout for large files by @HelloWeit in #1346
  • fix(model): hide Ollama tip for remote models by @wolfkill in #1330
  • fix(knowledge): prevent infinite scroll race condition causing missing documents by @caiyuze-cpu in #1356
  • feat(cli): v0.5 — agent CRUD + chunk subtree + audit-driven cleanup by @voidkey in #1354
  • feat(auth): 连接docreader支持auth by @CodeMarker0 in #1359
  • fix(docreader/auth): harden gRPC TLS/Token rollout from #1359 by @lyingbug in #1361
  • fix: redact sensitive fields and prevent credential loss on edit by @ochanism in #990
  • fix(docreader): bump grpcio floor to 1.78.0 to match generated proto by @toy0116 in #1363
  • refactor(credentials): /credentials subresource, at-rest encryption, and test-connection UX by @lyingbug in #1364
  • feat(embedding): add Zhipu AI embedder implementation by @Wellbek in #1365
  • fix(embedding): repair broken comment in Zhipu embedder by @lyingbug in #1366
  • test(repo): add wiki_config + indexing_strategy to sqlite test DDL by @toy0116 in #1362
  • fix: guard against empty choices and message=None in LLM response by @qizwiz in #1369
  • feat(cli): v0.6 — output contract, doc wait, status, multi-id delete by @voidkey in #1368
  • feat(knowledge-base): validate vector store bindings on create, copy, and delete by @ochanism in #1372
  • fix(agent): exclude processing docs from prompt by @wolfkill in #1370
  • feat(rbac): multi-tenant RBAC — schema, enforcement, member management, ownership, audit log (#1303) by @lyingbug in #1367
  • fix(session): update AgentQA to conditionally disable title based on request by @lyingbug in #1375
  • feat(frontend): redesign knowledge document tag selector by @lyingbug in #1376
  • feat(obs): 支持华为云obs存储 by @CodeMarker0 in #1377
  • feat(url): 支持docreader不上传替换白名单url的图片 by @CodeMarker0 in #1378
  • feat(tenant): richer workspace-switch toast that survives the post-switch reload by @lyingbug in #1379
  • feat(tenant): remember user's last-active workspace across logins by @lyingbug in #1381
  • fix(auth): unify DISABLE_REGISTRATION and auth.registration_mode by @lyingbug in #1384
  • chore(env): expose tenant RBAC + per-user tenant cap as env knobs by @lyingbug in #1385
  • fix(docparser): unescape MinerU markdown image syntax by @nixidexiangjiao in #1382
  • fix(moonshot): pin temperature=1 for models that reject other values by @nixidexiangjiao in #1383
  • style(menu): tighten session list density in sidebar by @lyingbug in #1387
  • fix(menu): avoid refreshing session list when opening an existing chat by @lyingbug in #1388
  • fix(menu): stop truncating session titles when extra space is available by @lyingbug in #1389
  • feat(session): persist last request state for UI restoration by @lyingbug in #1390
  • revert: drop colored role chip styling on tenant members page by @lyingbug in #1391
  • fix(i18n): escape '@' in invite email placeholder by @lyingbug in #1392
  • fix(chunker): keep top-level heading chunks separate by @wolfkill in #1396
  • doris: add configurable compatibility modes and guard mode switches by @SilentMil in #1395
  • feat: add vLLM server URL configuration for MinerU by @xdgu0275 in #1405
  • chore: update Go version to 1.26.0 in go.mod by @lyingbug in #1407
  • fix(frontend): mirror cross-tenant superuser Admin role in UI gates by @lyingbug in #1406
  • refactor(agent): simplify grep_chunks tool to a single regex query by @lyingbug in #1410
  • feat(frontend): make Vite dev proxy target configurable by @lyingbug in #1412
  • fix(chat): stabilize history pagination and keep message order by @lyingbug in #1409
  • feat(search): fan-out KB retrieval across bound vector stores by @ochanism in #1386
  • fix(knowledge): complete indexed documents immediately by @wolfkill in #1408
  • fix(client): align UpdateAgent request types with internal API by @HQF2017 in #1398
  • fix(session): scope wiki fixer to shared KB tenant by @wolfkill in #1413
  • fix(chat): improve history rendering stability by @lyingbug in #1419
  • fix(docparser): preserve MinerU markdown and persist relative images by @M1dnightSUN in #1404
  • fix(docparser): address review feedback on #1404 (MinerU markdown & image persistence) by @lyingbug in #1420
  • docs: add Chinese RBAC guide and link with shared space docs by @lyingbug in #1421
  • fix(frontend): guard knowledge list against stale updates by @iceloon in #1424
  • fix(chat): adjust user message container to support pre-wrapped text by @ThinhTT84 in #1425
  • fix(repository): correct query syntax to get correctly built-in models #1373 by @ThinhTT84 in #1428
  • chore(release): v0.6.0 by @lyingbug in #1422
  • docs(readme): flatten Latest Updates into single-line per-version list by @lyingbug in #1430

New Contributors

Full Changelog: v0.5.2...v0.6.0