7 Commits
Author SHA1 Message Date
jubaoliang 9f99ac29a1 fix: cap python grep fallback so unscoped search cannot OOM the host (#2116)
Agent grep with path=None walks from backend root `/`. Without ripgrep,
deepagents' readline() on /proc/pagemap can grow RSS until the kernel
OOM-kills Octop. Install rg in the images and replace the fallback at
process start with a walk that skips virtual filesystems and bounds each
read (#2101).
2026-10-16 22:18:19 +08:00
Deshun 9984cc64f2 fix(docker): include local knowledge runtimes in image (#2082) 2026-10-16 11:02:19 +08:00
liukewia bd92457dd2 chore: make Playwright Chromium opt-in in installers and images (#537)
* refactor: update Dockerfile and installation scripts to make Playwright Chromium optional

- Removed pre-installation of Playwright Chromium in Dockerfile and installation scripts.
- Updated documentation to clarify that Playwright Chromium is not downloaded by default; users can opt-in using the `--extras browser` flag.
- Adjusted README and script comments to reflect changes in installation behavior regarding Chromium.
- Ensured that existing system Chrome/Chromium installations are reused when available.

* refactor(browser): update browser environment interface and add Chrome installation check

- Modified the BrowserEnvStatus interface to include new properties for Playwright and Chrome detection.
- Enhanced the Chat component to check for Chrome installation and prompt users to install if missing.
- Added utility functions to determine if a redirect to the Chrome installation page is necessary.
- Updated localization files to include messages related to Chrome installation prompts in English and Chinese.
- Introduced tests for the new Chrome installation logic to ensure correct behavior.

* fix(browser): update Chrome installation prompt and navigation logic

- Modified the message displayed when Chrome is not installed to provide clearer instructions.
- Replaced the info message with a confirmation modal that prompts users to navigate to the Chrome installation page.
- Updated dependencies in the Chat component to include the new modal functionality and ensure mobile responsiveness.

* fix(localization): update Chrome installation prompts in English and Chinese

- Changed the message for missing browser detection to provide clearer instructions.
- Updated the Chat component to reflect the new localization keys for the Chrome installation prompt.
- Ensured consistency in messaging across different languages for better user experience.

* fix(localization): improve browser installation prompts in English and Chinese

- Updated messages for browser detection and installation to provide clearer instructions for users.
- Ensured consistency in localization across both English and Chinese versions for better user experience.
- Enhanced user guidance for installing a browser to facilitate remote browsing and automated actions.

* fix(localization): update browser status messages in English and Chinese

- Revised messages related to browser readiness and uninstallation for clarity and consistency.
- Enhanced user guidance in both languages to improve the overall experience when managing the built-in browser.
- Ensured that the localization updates reflect the intended functionality and user interactions.

* fix(localization): update shutdown messages in English and Chinese

- Revised shutdown confirmation messages for clarity and consistency across both languages.
- Enhanced user understanding of the browser shutdown process and its implications.
- Ensured localization updates align with the intended user experience when managing the browser.

* chore(dependencies): update harness-browser to version 0.7.8

- Bumped harness-browser dependency from 0.7.7 to 0.7.8 in pyproject.toml and uv.lock.
- Updated associated package metadata to reflect the new version and its dependencies.
2026-09-03 14:47:26 +08:00
jubaoliangandjubaoliang 86fa910449 feat: Docker sandbox, browser HITL stream, and gateway preemption (#227)
* feat: Docker sandbox, workspace_dir, default_open, HITL and runtime knobs

WIP against local editable orcakit-harness-agent 0.9.20 (PyPI not published yet).
Includes Admin Docker storage, agent workspace_dir, connector default_open,
chat HITL resume/todos UI, and runtime limit fields.


* feat: browser HITL stream listen, gateway preempt stop/cancel

Wire the browser streaming endpoint to listen for human-in-the-loop
events, add gateway-side preemption (stop/cancel) for running agents,
and integrate chat send with the browser session state.

- Add browser stream "listen" endpoint and harness HITL wiring
- Add gateway preemption: stop/cancel handling for running agents
- Wire chat send to browser session state in the dashboard
- Bump harness-gateway to >=0.9.2 and regenerate uv.lock
- Add unit tests for browser stream listen and gateway preemption

* test: fix workspace_dir assertion on Windows

Compare path components (name == agent_id, parent == "agents") instead
of a hard-coded POSIX "/agents/{id}" string suffix, so the check passes
on Windows where Path uses backslash separators.

---------

Co-authored-by: jubaoliang <jubaoliang@tencent.com>
2026-08-11 11:37:59 +08:00
leun c8373877f7 docs(mirrors): optimize default China mirror examples to Tencent Cloud
Update the "faster downloads" mirror examples in docker docs and
install scripts to use Tencent Cloud's PyPI/APT/NPM mirrors
(mirrors.cloud.tencent.com), so the documented defaults match what
scripts/install.sh and self_update.py already try first at runtime.

Affected: docker/Dockerfile, docker/docker_build.sh,
docker/README.md, docker/README_CN.md, scripts/README.md,
scripts/install.sh (--help).
2026-07-31 19:58:13 +08:00
9d22b5c45f chore: release 0.9.11 (#22)
* chore: release 0.9.11

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(publish): set TAG_PREFIX to v for GitHub Actions

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(dashboard): resolve ExpertMarketTab TFunction type error

Use i18next TFunction for sceneLabel so production tsc build passes; raise Docker frontend heap to 2048 to avoid vite OOM.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: jubaoliang <jubaoliang@tencent.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 18:56:47 +08:00
eb686c13e2 Release/0.9.10 (#21)
* feat: workspace file preview, browser workspace, and tooling updates

Consolidate the in-progress workspace changes:
- In-browser preview for PDF/Word/Excel documents (DocumentPreview)
- Harness /workspace/ path normalization for chat file downloads
- Browser workspace UI and remote browser panels
- Docker packaging and CI publish workflow updates
- Dependency bumps (pyproject/uv.lock, dashboard package deps)

* feat(chat): docked file preview, HTML preview, and history pull-refresh

Polish workspace/chat file viewing with dock modes and shared resize,
sandboxed HTML preview, overscroll history refresh for incomplete WS
replies, and a compact input when the chat panel is narrow.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor: delegate context usage to harness-agent 0.9.10

Bump orcakit-harness-agent and replace local token estimation with
HarnessAgent.aget_context_usage snapshots, keeping a stream-token
fallback for older wheels. Refresh the dashboard ring for the new
segment shape.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor: pass BackendWorkspace paths through without rewriting

Replace extract/normalize helpers with backend_workspace_path so absolute
and relative sources stay as-is. Unify workspace download/read/write on
_workspace_io_path and update dashboard media URL helpers to match.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor(chat): unify browser and file panels into ChatDock

Replace separate FilePanel/ChatBrowserPanels/modal paths with a shared
ChatDock shell and useChatDockPanel state. Extract pointer-drag resize,
polish workspace file/media preview, and slim BrowserViewer for the
docked layout.

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: release 0.9.10

* fix: CI warnings/failures for skillhub subprocess and Windows media preview

Kill and drain timed-out skillhub CLI children so asyncio transports close
on a live loop, and restore workspace-relative plus host-file fallbacks so
Windows drive-letter paths still resolve for media preview/import.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(test): use platform default backend for virtual_mode media import

Hard-coding root_dir='/' breaks Windows CI: virtual-mode uploads resolve
outside the process drive root. Match default_agent_backend_spec instead.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: jubaoliang <jubaoliang@tencent.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 10:01:05 +08:00