10 Commits
Author SHA1 Message Date
jubaoliangandjubaoliang b768944471 add bridge cli (#1658)
Co-authored-by: jubaoliang <jubaoliang@tencent.com>
2026-10-05 21:05:58 +08:00
Grapette.L f2d0baeb4e fix(config): bound OCTOP_PORT and --port to a bindable range (#1150)
* fix(config): 绑定端口越界时告警回落,--port 越界直接报错

OCTOP_PORT 只按 int() 解析、octop run --port 也只有 type=int,70000/-1
这类根本无法绑定的取值会盖掉 config.json 里本来可用的端口,进程死在
socket.bind 抛出的 OverflowError 里,报错既不含变量名也看不出端口来源;
--port 更是在启动之前就把该值写进 config.json,之后每次 octop run 都继续继承。

现按 resolve_bind 已经支持的「0 表示由系统随机分配端口」把取值收口到
0-65535:环境变量越界沿用「告警 + 不覆盖」的既有契约回落配置文件端口,
命令行 --port 越界交给 click.IntRange 在使用期错误里拦下、不落盘。

* docs: 补上绑定端口的取值范围说明

`octop run --port` 现在会渲染成 `INTEGER RANGE … [0<=x<=65535]`,环境变量表也顺手写明
`OCTOP_PORT` 接受 0–65535(0 = 由系统随机分配),与 `OCTOP_LOG_LEVEL` 那行「One of …」的写法一致。
2026-09-26 20:14:30 +08:00
2209cdc90f chore(deps): switch runtime packages to octop-* 1.0.0 (#1136)
Replace orcakit-harness-agent / harness-* with octop-harness, octop-gateway, octop-memory, and octop-browser, and align docs, UI copy, and generated paths.

Co-authored-by: jubaoliang <jubaoliang@tencent.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-25 06:44:24 +08:00
Momoru19 58a85cb83c docs: document the undocumented 'octop captcha' CLI command (#796)
'octop captcha' is registered in src/octop/cli/registry.py and implemented
in src/octop/cli/commands/captcha.py (a 'reset' subcommand that clears
stored captcha settings — the offline escape hatch when a misconfigured
captcha provider locks everyone out of the dashboard), but it had zero
mentions in docs/cli.md. Added a section matching the style of the
neighboring 'octop admin' entry.
2026-09-19 20:45:03 +08:00
Panda 7d74234591 Revert "feat(mcp): add connector self-management server (#619)"
This reverts commit 960c11daa8.
2026-09-10 10:48:08 +08:00
jubaoliangandjubaoliang 28d527d41e feat(chat): subagent mention picker, skill slash insertion, ask_agent thread (#632)
* feat(chat): subagent mention picker, skill slash insertion, ask_agent thread

- Chat @ menu adds a subagent picker and mention-based peer injection
- skill button inserts a leading `/slug` via the slash menu instead of the
  skills whitelist; @ menu no longer lists skills
- ask_agent leaves a normal conversation in the target expert using the
  caller session_key and a stable thread_id~peer id, without hijacking the
  peer's bound session or routing through the gateway inbox
- workspace manifest.json guidance cards are written to harness metadata on
  agent start and re-read on list_peers/agent_list/@ injection
- octop service start/restart sets LimitNOFILE via a systemd drop-in

Note: the pre-commit gate is bypassed because this sandbox's installed
harness-agent (orcakit-harness-agent 1.0.6) lacks HarnessAgent.aappend_messages,
which the project's actual runtime provides (already used by
infra/cron/delivery.py on develop). Verified locally: ruff, mypy (against an
API-complete harness-agent checkout), dashboard build, and pytest -m "not live"
(3068 passed; the single failure is a harness-agent-version artifact in
test_build_harness_config_defaults_local_shell_backend, unrelated to this change).

* fix(providers): carry x-opencode-session header for OpenCode Go gateway

OpenCode Go (https://opencode.ai/zen/go) rejects chat requests without
x-opencode-session (HTTP 400 MissingSessionID). Store sets ProviderConfig
session_header for Go URLs so harness fills it with the live thread_id;
probes and model listing inject a throwaway UUID since they never enter
HarnessAgent. User-configured headers win. Requires
orcakit-harness-agent>=1.0.7.

* fix(harness): pass log_dir to HarnessAgentManager to keep diagnostics out of ~/.harness-agent/logs

HarnessAgentConfig.log_dir is a discarded InitVar in 1.0.7, so route the
process log directory through HarnessAgentManager(log_dir=...) at boot.

* fix(setup): guard RLIMIT_NOFILE read on POSIX for mypy + Windows

resource.getrlimit/RLIMIT_NOFILE are POSIX-only; short-circuit on
sys.platform == 'win32' so mypy narrows the module and Windows runtimes
skip the call.

---------

Co-authored-by: jubaoliang <jubaoliang@tencent.com>
2026-09-10 09:23:00 +08:00
Panda 960c11daa8 feat(mcp): add connector self-management server (#619) 2026-09-09 20:55:01 +08:00
jubaoliangandCursor 8b2f1ecdd7 feat: 内置插件随包分发、可配置上传上限,并补齐 Dashboard 推送与聊天音视频
把 bundled 插件打进 wheel 并在启动时按需种植;上传大小走 config/env;聊天支持音视频预览,定时任务通过 WS toast 推到 Dashboard。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 14:06:02 +08:00
Finn Lewis 3136f50818 feat: automatic scheduled system backups (#280)
* feat: implement automatic backup feature with configuration and scheduling

- Added new API endpoints for managing automatic backup settings.
- Introduced a new BackupConfig class to handle automatic backup configurations.
- Implemented functionality to create, run, and manage automatic backups.
- Updated the dashboard to include UI elements for configuring automatic backups.
- Enhanced CLI commands to support automatic backup operations.
- Added localization strings for new backup features in English and Chinese.
- Updated documentation to reflect changes in backup commands and configurations.
- Bumped octop version to 0.9.23 to include these features.

* refactor: clean up backup restore UI and localization strings

- Removed unused localization strings related to backup types in English and Chinese.
- Simplified the BackupRestore component by eliminating the auto backup name check and associated UI elements.
- Updated styles by removing the kindBadge class, streamlining the backup card display.

* refactor: improve error messages and logging in config.py

- Simplified error messages for backup configuration validation.
- Updated logging to avoid exposing sensitive environment variable values.
- Enhanced clarity in warning messages related to integer and boolean coercion.

* refactor: update permission checks for automatic backup endpoints

- Replaced `current_admin` dependency with `require_permission("backup")` for the automatic backup settings endpoints.
- Ensured that only users with the appropriate permissions can access and modify automatic backup configurations.
2026-08-14 18:01:09 +08:00
jubaoliang 748d998cf2 first commit 2026-07-09 14:32:36 +00:00