Skip to content

Releases: TencentCloud/octop-harness

v1.0.4

Choose a tag to compare

@github-actions github-actions released this 16 Oct 09:50
adee3e3

新增

  • 插件系统支持 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

Choose a tag to compare

@github-actions github-actions released this 14 Oct 12:27
e5e58ba

新增

  • 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

Full Changelog: v1.0.2...v1.0.3

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 10 Oct 02:22
bf9c882

修复

  • 将 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

Full Changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 14:01

新增

  • 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

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 10:13
1384dda

新增

  • 首个 1.0.0 正式版本发布到 PyPI。

变更

  • 对齐 Octop:引入 develop 集成分支策略;禁止直推 main/develop;发版后由 sync-main-to-develop.yml 同步;新增 /publish skill(发版同步 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 (capture RuntimeError), acp_runner (missing
    thread_id on close/stream), and local execute (non-positive timeout).
  • Filesystem tools: Path ... outside root directory ValueError from
    deepagents FilesystemBackend is softened by FilesystemGuardMiddleware
    (always mounted) into a ToolMessage(status="error") so ToolNode does not
    abort the agent turn; deny-path rules still apply when permissions are set.

What's Changed

New Contributors

Full Changelog: https://github.com/TencentCloud/octop-harness/commits/v1.0.0