Repository navigation
Releases: TencentCloud/octop-harness
Releases · TencentCloud/octop-harness
Release list
v1.0.4
新增
- 插件系统支持 channel 类型:插件可注册通道实现及展示元数据,宿主按注册所有权收集;同类型冲突时保留先注册的通道。
- 可选决策模型在主模型开口前筛选技能、工具和队友;决策调用失败时保留完整目录。后续轮次打分时带上最近对话,状态预算溢出时仍保留最新消息。
USER.md与MEMORY.md由用户手动维护,文件工具禁止 Agent 写入;首次引导只引导用户填写档案。两份文档每个会话加载一次并复用快照,手动修改对新会话生效。用户说「记住」时通过memory_save写入 octop-memory,并依赖octop-memory>=1.0.2。- 记忆写入或晋升后与当前手动文档核对。召回按实际会话快照过滤重复;明确冲突以手动文档为准并转为候选审核,同时提示用户。
修复
- 本地 Laya 的 CPU 决策批次可能需要约二十秒,通用十五秒客户端超时会导致反复回退到未变更结果;放宽该超时以便批次完成。
变更
- 工作区上下文复用 deepagents 原生
MemoryMiddleware的读取、会话快照、提示词格式和缓存断点。加载器只包裹文件内容,MEMORY.md写保护并入现有FilesystemGuardMiddleware,移除单独的记忆规则模块。 - 模型重试耗尽后抛出异常(
on_failure="error"),由 checkpoint 与宿主记录失败;沿用原有重试判定、次数与退避。团队任务捕获 SDK 异常并释放任务锁;自动失败通知不进入记忆采集。
What's Changed
- chore: sync main into develop after 1.0.3 by @github-actions[bot] in #71
- feat: narrow a turn with an optional decision model by @jubaoliang in #73
- feat(plugins): 支持通道插件及注册所有权校验 by @ideshun in #52
- fix: let local Laya finish CPU decision batches by @jubaoliang in #77
- feat: send recent conversation to the decision model by @jubaoliang in #78
- feat(memory): separate manual session context from ordinary memory by @Bosheng0422 in #76
- chore: release 1.0.4 by @Bosheng0422 in #79
New Contributors
Full Changelog: v1.0.3...v1.0.4
v1.0.3
新增
MemoryMiddleware.pause_background支持宿主按专家暂停并排空后台记忆任务,供备份恢复使用。- 记忆辅助调用使用独立 SDK 实例控制重试次数与退避;回退时重新计算目标模型参数,不携带首选模型的厂商扩展,避免影响主聊天(TencentCloud/Octop#1360)。
- 记忆辅助调用可配置客户端兜底
memory_aux_max_tokens(提炼预算仍走memory_extract_max_tokens),以及 OpenAI 兼容端点的memory_aux_extra_body。显式extra_body覆盖memory_aux_thinking生成的同名键。 - OpenAI 兼容模型支持按模型选择 Chat Completions 或 Responses API,并可显式开启受限的 Responses → Chat Completions 回退。
修复
- ChatGPT Codex 端点使用无状态流式 Responses 请求,将主系统提示词映射到 instructions,后续系统消息保留为 developer;显式 instructions 原样保留,并保留多轮工具历史;将 langchain-openai 最低版本提高至 1.3.3,避免无状态历史引用未存储条目。
- 减少启动和对话过程中的重复诊断日志,保留需要关注的错误与告警。
What's Changed
- chore: sync main into develop after 1.0.2 by @github-actions[bot] in #57
- feat(memory): configurable aux LLM call options (timeouts, budget, thinking) (TencentCloud/Octop#1360) by @haiyu614 in #28
- feat(openai): 支持 Responses API 与受控回退 by @Pandakingxbc in #62
- fix(llm): adapt ChatGPT Codex requests to stateless Responses by @lureiny in #64
- fix: quiet repeated startup and turn diagnostics by @jubaoliang in #67
- feat(memory): 独立控制提炼重试并支持按专家排空后台任务 by @Bosheng0422 in #69
- chore: release 1.0.3 by @Bosheng0422 in #70
New Contributors
- @haiyu614 made their first contribution in #28
- @Pandakingxbc made their first contribution in #62
- @lureiny made their first contribution in #64
Full Changelog: v1.0.2...v1.0.3
v1.0.2
修复
- 将
deepagents下限提高到>=0.7.16,接入上游同路径并行edit_file/write_file防护(langchain-ai/deepagents#6446)。 - 记忆辅助调用可单独配置读取超时。提炼输出预算写入 memory runtime 的
extraction.max_tokens(提取器总会自带预算,客户端兜底覆盖不到)。OpenAI 兼容端点在auto下对 Qwen3 / QwQ / DeepSeek-R / reasoner 默认关闭深度思考(TencentCloud/Octop#1360)。 - 小时增量 vacuum 预算提高到 5000 页,大批删除后的 freelist 可在数小时内回收,而不是数周。
What's Changed
- chore: sync main into develop after 1.0.0 by @github-actions[bot] in #9
- chore: sync main into develop after dependabot-batch by @github-actions[bot] in #11
- fix(protocols): handle streamed content blocks (thinking/text) in chunk projection by @dangzitou in #23
- docs(publish): sync version checks across localized READMEs by @jubaoliang in #18
- feat(providers): add iFlytek Astron Token Plan preset by @FenjuFu in #25
- fix(docker): refresh global environment before every execution by @chqcjq in #37
- fix(backends): first-party S3 and Postgres 0.7 workspaces by @jubaoliang in #39
- fix: surface model and path failures to the agent instead of aborting by @jubaoliang in #40
- feat: convert explicit virtual paths for subtree experts by @jubaoliang in #41
- fix(subagents): only warn on genuine duplicate subagent names by @yftx293 in #34
- feat(pii): detect mainland mobile numbers and resident IDs by @jubaoliang in #42
- chore: sync main into develop after 1.0.1 by @github-actions[bot] in #44
- fix(deps): require deepagents>=0.7.16 for same-path edit protection by @jubaoliang in #47
- fix(memory): cap aux calls for reasoning models by @Bosheng0422 in #55
- Fix/hourly vacuum budget by @Bosheng0422 in #54
- chore: release 1.0.2 by @Bosheng0422 in #56
New Contributors
- @github-actions[bot] made their first contribution in #9
- @dangzitou made their first contribution in #23
- @FenjuFu made their first contribution in #25
- @chqcjq made their first contribution in #37
- @yftx293 made their first contribution in #34
- @Bosheng0422 made their first contribution in #55
Full Changelog: v1.0.1...v1.0.2
v1.0.1
新增
- PII 可识别大陆手机号与 18 位居民身份证。
- 子树专家支持
explicit_virtual_paths,由调用方自行转换虚拟路径。 - 新增讯飞星辰 Token Plan 供应商预设。
修复
- 子 Agent 仅在真正重名时告警。
- 模型和路径错误回传给 Agent,不再整轮中止。
- 修复 S3 / Postgres workspace 与 deepagents 0.7 的兼容,文件不再摊平到存储根。
- Docker 每次执行刷新全局环境。
- 流式 thinking / text 块不再导致协议投影崩溃。
变更
- 发版时同步检查多语言 README 版本。
What's Changed
- chore(deps): Update opensandbox requirement from <0.2,>=0.1.16 to >=0.1.16,<1.2 by @dependabot[bot] in #1
- chore(deps): Update mcp requirement from <2,>=1.27.1 to >=1.27.1,<3 by @dependabot[bot] in #2
- chore(ci): Bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #7
- chore(ci): Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #6
- chore(ci): Bump astral-sh/setup-uv from 4 to 7 by @dependabot[bot] in #3
- chore(ci): Bump actions/checkout from 4 to 7 by @dependabot[bot] in #5
- chore: release 1.0.1 by @jubaoliang in #43
New Contributors
- @dependabot[bot] made their first contribution in #1
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)。
Fixed
- Built-in tools soft-fail instead of aborting the agent turn:
web_fetch
(non-http(s) / oversized body),current_time(unknown timezone),
desktop_screenshot(captureRuntimeError),acp_runner(missing
thread_idon close/stream), and localexecute(non-positive timeout). - Filesystem tools:
Path ... outside root directoryValueErrorfrom
deepagentsFilesystemBackendis softened byFilesystemGuardMiddleware
(always mounted) into aToolMessage(status="error")so ToolNode does not
abort the agent turn; deny-path rules still apply when permissions are set.
What's Changed
- chore: release 1.0.0 by @jubaoliang in #8
New Contributors
- @jubaoliang made their first contribution in #8
Full Changelog: https://github.com/TencentCloud/octop-harness/commits/v1.0.0