Repository navigation
Releases: TencentCloud/octop-memory
Release list
v1.0.1
修复
- 线程 ident 复用时关闭被丢弃的 SQLite 连接,短命线程不再累积 fd 并最终进入不可恢复的 disk I/O error(TencentCloud/Octop#1339)。
- PostgreSQL 空闲连接不再长期占用:连接建立时申请
idle_session_timeout(PostgreSQL 14+,旧版本自动降级);本地按同一阈值主动关闭并重拨,不必等下一条语句。checkpointer 连接池min_size改为 0,空闲超过max_idle后关闭。常驻 agent 不再永久持有 1–2 个连接(TencentCloud/Octop#1795)。小时 checkpoint 裁剪在打开连接池之前会拒绝已空闲的 Postgres backend。 - checkpointer 连接池在取出连接时做存活性探测,丢弃服务器已关闭的连接并重建(TencentCloud/Octop#1172)。
- 提炼补全默认带
max_tokens预算(2048);调用方传入None视为未设置并回落到该默认值,避免推理模型占满上下文并超过读取超时(TencentCloud/Octop#1360)。 - 提高删除后与空闲维护的 SQLite 增量 vacuum 页数,避免 300 页的小时预算在大批删除后追不上。compact 统计计入 SQLite 主库、WAL 与 shm,Postgres 则报告数据库大小与回收字节。
变更
- 发版时同步检查多语言 README 版本。
What's Changed
- chore: sync main into develop after 1.0.0 by @github-actions[bot] in #2
- fix(sqlite): close the orphaned connection when a thread ident is reused by @vicfei in #5
- fix(postgres): probe checkpointer pool connections on checkout by @vicfei in #3
- docs(publish): sync version checks across localized READMEs by @jubaoliang in #4
- fix(memory): bound extraction completions with a default max_tokens budget (TencentCloud/Octop#1360) by @haiyu614 in #6
- fix(postgres): release idle connections instead of holding them forever by @fengyue-xve in #7
- fix(vacuum): reclaim more SQLite pages after deletes and on idle main… by @Bosheng0422 in #8
- fix(postgres): close idle connections without waiting for the next query by @Bosheng0422 in #11
- polish vacuum by @Bosheng0422 in #12
- chore: release 1.0.1 by @Bosheng0422 in #13
New Contributors
- @github-actions[bot] made their first contribution in #2
- @vicfei made their first contribution in #5
- @haiyu614 made their first contribution in #6
- @fengyue-xve made their first contribution in #7
- @Bosheng0422 made their first contribution in #8
Full Changelog: v1.0.0...v1.0.1
v1.0.0
新增
- 首个 1.0.0 正式版本发布到 PyPI。
变更
- 对齐 Octop:引入
develop集成分支策略;禁止直推main/develop;发版后由sync-main-to-develop.yml同步;新增/publishskill(发版同步 CHANGELOG / README)。
Changed
- Rename the project and distribution to
octop-memory, the Python package tooctop_memory, and host plugin IDs tooctopmemory. - Rename CLI entry points, environment variables, default paths, and the PostgreSQL shared schema. Existing installations require explicit migration; see the migration guide.
- Update host adapters, build metadata, examples, documentation, and the README banner. SQLite checkpoint and portable package formats remain unchanged.
- 最低 Python 版本提升到 3.12,与 Octop 基线对齐;核心、Hermes 包声明、开发环境与 CI 同步调整,Python 3.11 不再受支持。
Documentation
- README banner 改用仓库相对路径,补充代码目录与记忆数据流;明确 Candidate 可自动处理、EntityPage 按触发再生成、Episode 为独立提炼流程。
- 清理个人工具配置、重复发布 skill 和私人数据库诊断脚本;合并基础/树示例为公共 API 临时库演示,保留合成 recall eval 并明确指标与覆盖限制。
- 合并 OpenClaw/Hermes 安装、配置和排错到
docs/integrations.md;贡献入口集中到 CONTRIBUTING,AI 规则集中到 AGENTS;保留精简、脱敏的docs/agent/Harness 澄清、决策与交接流程。
Added
-
新增宿主协调的 SQLite/WAL 在线 checkpoint 瘦身:一致备份、并发安全的批次去重和显式空间回收结果,不删历史或共享正文。
scripts/memory-slim --online AGENT调用运行中的新版 Octop 显示维护提示并协调暂停/恢复,不能用于旧 reader。 -
新增
db slim FILE简单瘦身入口:默认只读预览;--apply --offline自动备份、复用 checkpoint 重复字段并回收文件空间,不删除历史。提供本地源码启动器scripts/memory-slim。 -
SQLite checkpoint 默认复用重复的
skills_metadata/workspace_file_contents(工作区文件内容;底层字段仍为 DeepAgents 的memory_contents)内容版本,兼容读取旧 inline 快照;OCTOP_MEMORY_CHECKPOINT_DEDUP=0可关闭新增引用写入。新增db checkpoints只读预览、离线批量迁移、保守历史裁剪、压缩及--expand格式回退。新格式须使用兼容读端,不能直接回退旧二进制;详见 Checkpoint 维护。
Fixed
-
SQLite checkpoint 解码器支持为独立只读连接创建专用实例与缓存,供宿主安全回填历史;离线裁剪逐条释放正文,避免内存按重复正文总量增长。补充 SQLite/真实 PostgreSQL 重开后审批恢复且不重复已完成步骤的对照测试。
-
Episode 时间统一为 UTC:LLM 返回不带时区的
occurred_at时不再把 naivedatetime写入存储;SQLite/PostgreSQL 写入和查询边界统一规范化为 UTC,SQLite 读取历史 naive Episode 时也会兼容转换。Dashboard 对 Episode 的两个排序入口增加 UTC 防御,避免混合 naive/aware 历史数据触发TypeError: can't compare offset-naive and offset-aware datetimes并让情绪日记页面显示为空。
What's Changed
- chore: release 1.0.0 by @jubaoliang in #1
New Contributors
- @jubaoliang made their first contribution in #1
Full Changelog: https://github.com/TencentCloud/octop-memory/commits/v1.0.0