Commit Graph
216 Commits
Author SHA1 Message Date
Chris ChengandClaude Opus 5 6e27968bb0 feat(tools): localize tool descriptions by locale for every runtime
Tool and parameter descriptions were handed to the LLM in Chinese on every
runtime regardless of locale: the English metadata table in
packages/tools/src/tool-metadata.ts had no caller, the desktop translateTool
looked up i18n keys that exist in no locale file, and the MCP server had no
locale at all.

Fill the table for every tool whose definition text is Chinese (37 entries,
only translating what the definitions write in Chinese so the two copies
cannot drift), and route the four consumers through getLocalizedToolMetadata:
the cross-chat agent adapters, the CLI Web agent adapter, the desktop shared
tool adapter (replacing the dead translateTool), and the MCP server, which
now resolves its locale from config.locale.lang or the system locale for both
the standalone binary and the chatlab mcp subcommand.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 16:54:06 +08:00
Sanssssssssssssssss f72198f2c5 fix(cli): persist tool history for continuation / 保存工具历史供续聊
CLI dropped completed tool results from replay. Persist bounded results by call ID with error state.
CLI 续聊遗漏已完成的工具结果;按调用 ID 保存限长结果和错误状态。

Add SQLite reload regression for concurrent calls and truncated answers.
新增 SQLite 重载回归,覆盖并行调用与回答截断。
2026-09-21 11:19:53 +08:00
digua 3b44facf87 release: v0.37.2 2026-09-18 18:37:42 +08:00
digua db4ce30852 fix(ai): persist truncated turns across chat entry points
Preserve partial output and token usage in CLI turns and edited UI rounds while leaving ordinary failures and cancellation unchanged. Use OutputLimitError across agent runners so incomplete turns remain visibly unsuccessful but can be reloaded and continued.

Cover real stream handling, SQLite persistence, reload, CLI continuation, and unsuccessful one-shot JSON output.
2026-09-18 10:53:06 +08:00
digua 1388aaccf7 fix(ai): handle model output truncation 2026-09-18 10:53:06 +08:00
Sanssssssssssssssss 02b75f8532 fix(ai): cancel session context compression with the request
向会话压缩传递取消信号,防止停止后继续请求并写入摘要。
Forward the request signal to session compression to prevent requests and summary writes after cancellation.
2026-09-12 23:49:32 +08:00
digua d844578bab release: v0.37.1 2026-09-04 16:49:46 +08:00
Sanssssssssssssssss 02b9ccb59f fix(ai): enforce the tool round limit
Stop after one final-answer turn and pin Pi 0.84.2 for the public stop hook.
到达工具轮次上限后只允许一轮终答,并锁定提供公开停止钩子的 Pi 0.84.2。
2026-08-28 22:33:10 +08:00
KokerZhou 758b0667fc feat(docker): preinstall default NLP dictionary 2026-08-28 22:24:13 +08:00
digua 3fe82e039d release: v0.37.0 2026-08-28 10:50:43 +08:00
KokerZhou bb36fc5221 docs(cli): secure Unix socket proxy setup 2026-08-28 10:21:39 +08:00
KokerZhou e3c2e8ec58 feat(cli): support Unix domain socket listener 2026-08-28 10:21:39 +08:00
digua dcee433174 fix(import): preserve fallback message multiplicity
Preserve repeated same-second WeFlow and EchoTrace messages while consuming existing fallback occurrences one for one across overlapping imports and merged sources.
2026-08-27 17:19:06 +08:00
digua f4017b0adf feat(ai): link memories to source messages 2026-08-26 22:23:04 +08:00
Sanssssssssssssssss 893f1c05ec fix(ai): persist conversation turns atomically
中文:将用户与助手消息合并为单事务写入,失败时不再留下孤儿消息或误报成功。

English: Persist user and assistant messages in one transaction so failures leave no orphaned turn or false success.
2026-08-26 21:11:35 +08:00
digua c69a927615 fix(ai): keep global memory always enabled
Remove the proactive-memory preference and its cross-platform runtime plumbing so memory behavior has one clear contract. Normalize away the obsolete setting and keep source type limited to provenance.
2026-08-24 22:35:47 +08:00
digua 04916041b4 fix(ai): bind memory tools to current entity selection 2026-08-24 22:35:47 +08:00
digua 2938c42f9f feat(ai): expose global memory management api 2026-08-24 22:35:47 +08:00
digua ed8ab84b4b feat(ai): integrate memory with global agent 2026-08-24 22:35:47 +08:00
digua f9ba12e535 fix(ai): harden cross-chat analysis results
Resolve private ranking display names, apply privacy preprocessing consistently across cached recaps and structural labels, and bound model-visible overview payloads to the configured tool budget.
2026-08-24 00:25:35 +08:00
digua 05d9b34f30 chore(ai): finalize global statistics integration 2026-08-24 00:25:35 +08:00
digua 207c41afaa feat(ai): expose cached global activity summaries 2026-08-24 00:25:35 +08:00
digua 6d64333675 feat(ai): rank private contacts globally 2026-08-24 00:25:35 +08:00
digua 75eff70e23 feat(ai): improve cross-chat evidence retrieval 2026-08-24 00:25:35 +08:00
digua dc3bd82c90 fix(ai): enforce cross-chat execution budgets
Count complete tool payloads with the runtime tokenizer so Chinese evidence respects the configured model context budget.\n\nResolve contact sources incrementally with cancellation checks and targeted member lookups to keep long cross-chat investigations responsive.
2026-08-22 17:09:23 +08:00
digua d1a6c711fe feat(ai): add isolated cross-chat agent 2026-08-22 17:09:23 +08:00
digua f9b87c00ee release: v0.36.2 2026-08-20 11:00:51 +08:00
digua 39afeffbcd release: v0.36.1 2026-08-18 17:54:36 +08:00
digua 2e624f6beb feat(ai): stream tool execution progress 2026-08-18 17:27:48 +08:00
digua cf1aee9e5b refactor(ai): upgrade pi runtime and define execution semantics 2026-08-18 17:27:48 +08:00
digua 0f46352b8d feat(plugin): migrate time investment plugin 2026-08-18 14:29:38 +08:00
digua b00959fd5f feat(plugin): add annual summary plugin foundation 2026-08-18 14:29:38 +08:00
digua 47299a94cb feat(cli): make clb web the primary web command 2026-08-12 12:47:00 +08:00
digua bcaa19c27b release: v0.36.0 2026-08-11 14:18:26 +08:00
digua b12018b916 release: v0.35.0 2026-08-09 12:01:23 +08:00
digua 17320045dc feat(ai): enable automatic context compression 2026-08-07 15:35:29 +08:00
digua b130e43e73 release: v0.34.3 2026-08-06 14:29:39 +08:00
digua b569293846 fix(import): stabilize QQ automatic session matching
Match ownerless QQ exports safely across UID and UIN drift, preserve merged message scopes through single and batch imports, and apply only sender mappings proven by overlapping platform message IDs. Reject incomplete group mappings to avoid member identity corruption.
2026-08-05 22:16:24 +08:00
digua d5f34af445 refactor(parser): standardize format identifiers 2026-08-04 17:29:09 +08:00
digua 256e93605a refactor(database): remove legacy session FTS 2026-08-03 17:28:19 +08:00
digua 034f0b768f release: v0.34.2 2026-08-01 17:09:49 +08:00
digua 2bb5eb3715 test(apps): strengthen application and build verification 2026-08-01 16:41:30 +08:00
digua f96fef7b46 feat(cli): install local embedding runtime on demand 2026-08-01 13:19:41 +08:00
digua 93fc26fb83 fix(cli): avoid installing local embedding runtime 2026-08-01 13:19:41 +08:00
kelaocai d48745f00b fix(cli): declare sqlite-vec and @huggingface/transformers as runtime dependencies
The CLI tsup build inlines @openchatlab/node-runtime into dist chunks.
Both sqlite-vec and @huggingface/transformers load platform-specific
native packages at runtime (sqlite-vec-linux-arm64, onnxruntime-node,
sharp), so inlining them breaks global/npm and Docker installs of
chatlab-cli: the bundled chunks reference native packages that were
never installed, and configuring the semantic index vector model fails
with HTTP 500 (Cannot find package 'sqlite-vec-linux-arm64').

Declare both packages as chatlab-cli dependencies and mark them as tsup
external so they are installed from npm with their native bindings,
matching how better-sqlite3 and @node-rs/jieba are already handled.
2026-08-01 11:33:41 +08:00
digua 3debb13ff9 fix(import): wire batch adapters and failure diagnostics
Preserve batch support through telemetry, forward item-scoped progress across Desktop and CLI Web, and retain original backend failure details for diagnostics and unfinished results.
2026-07-31 20:22:50 +08:00
digua 62b7104f1f feat(import): add safe batch coordinator 2026-07-31 20:22:50 +08:00
digua 4155386676 fix(import): generate session index once 2026-07-31 17:22:05 +08:00
digua 860bf52d62 feat(analytics): add privacy-safe product telemetry
Add self-hosted Umami reporting alongside existing telemetry across Desktop and CLI Web.

Track normalized startup, import, feature, and AI usage with a stable anonymous ID and strict privacy allowlists. Keep incremental usage platform-independent and preserve accurate failure classifications and platform metadata across import paths.
2026-07-29 14:28:48 +08:00
digua db60339829 release: v0.34.1 2026-07-27 23:57:06 +08:00