zcbot/core
caoqianming 8b6e66b006 feat(context): 压缩加"上下文压力门槛",短任务不压缩以护缓存+保信息
prepare_messages_with_stats 加 compact_threshold_chars:总 chars 未超阈值
则完全跳过压缩、原样发 —— 短任务 prompt 前缀逐轮字节一致、DeepSeek 前缀
缓存全程命中,且不白丢旧 tool 细节(context 预算还很空时无谓压缩=纯损失)。
超阈值才走原压缩逻辑。

- loop 按 caps.reliable_context × 0.5 × 2.5(char/token 粗折算)算阈值
  (flash ≈ 33 万 chars),_COMPACT_CONTEXT_RATIO/_CHARS_PER_TOKEN 可调
- compaction_skipped 进 stats / llm_start 事件可观测
- 默认 compact_threshold_chars=0 = 永远压缩(向后兼容)

背景:实测 task b27466a0 DeepSeek 缓存命中已 92-94%、滑动边界损失有限
(压缩函数确定性、旧消息压缩态稳定),故只补门槛、暂不改边界为阶梯式。
新增 2 测试(below/above 门槛),全量 105 过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 13:42:18 +08:00
..
sandbox fix(loop): 工具调用 arguments 损坏时丢弃重试 + 非流式兜底,断投毒级联 2026-06-06 20:51:45 +08:00
storage feat(usage): 记账给前缀缓存命中折价 + 前端体现缓存命中/真实成本 2026-06-05 08:26:09 +08:00
__init__.py Initial import: zcbot personal task agent 2026-05-06 11:02:59 +08:00
agent_builder.py Add task progress tool 2026-06-08 08:44:16 +08:00
ark_client.py feat(media): 接入豆包 Seedream 5.0 图像生成 tool + 0007 cost_usd→cost_cny 全表统一币种 2026-05-20 15:20:34 +08:00
bocha_client.py Add web_search and web_fetch tools via Bocha AI search API 2026-05-25 11:37:33 +08:00
capabilities.py feat(loop): 停机判据从"步数"解耦为"是否在推进" 2026-06-10 13:22:02 +08:00
context.py feat(context): 压缩加"上下文压力门槛",短任务不压缩以护缓存+保信息 2026-06-10 13:42:18 +08:00
executor.py Stage C Step 1: Executor 接口骨架 + HostExecutor in-process backend 2026-05-26 10:07:55 +08:00
executor_docker.py Reduce chat context token usage 2026-06-04 16:41:14 +08:00
executor_host.py fix(loop): 工具调用 arguments 损坏时丢弃重试 + 非流式兜底,断投毒级联 2026-06-06 20:51:45 +08:00
export_docx.py core(0003): name + working_dir + skill schema 重构 + per-user .memory 2026-05-17 19:15:37 +08:00
llm.py fix(usage): 顶栏 token 累计修 — sync_task_tokens 改走 messages SUM,删 LLM.TokenCounter 2026-05-21 13:39:57 +08:00
loop.py feat(context): 压缩加"上下文压力门槛",短任务不压缩以护缓存+保信息 2026-06-10 13:42:18 +08:00
memory.py auth(dev SPA): 邀请码登录(invites 表 0005) + SENTINEL user 彻底撤 2026-05-19 13:14:31 +08:00
paths.py refactor(paths): 砍 ROOT 外路径分支 — 写入入口只接 simple name join workspace 2026-05-20 22:05:32 +08:00
probe.py Phase 4 + 6: capability probe + task 概念 / state.json 2026-05-06 16:21:17 +08:00
session.py skills+core(命名约定): task 级宪法文件 <date>-<short_id>-<name>.spec.md + spec_lock → spec 简化 2026-05-20 14:03:21 +08:00
sinks.py fix(usage): 顶栏 token 累计修 — sync_task_tokens 改走 messages SUM,删 LLM.TokenCounter 2026-05-21 13:39:57 +08:00
skills.py Initial import: zcbot personal task agent 2026-05-06 11:02:59 +08:00
task.py feat(media): 接入豆包 Seedream 5.0 图像生成 tool + 0007 cost_usd→cost_cny 全表统一币种 2026-05-20 15:20:34 +08:00
ui.py core/ui: 抽出语义化 console 主题, 调用方去硬编码颜色 2026-05-07 16:10:11 +08:00