Skip to content

fix: custom tools not available (browser) + Linux browser docs#218

Merged
steipete merged 3 commits intoopenclaw:mainfrom
julianengel:docs/browser-linux-troubleshooting
Jan 5, 2026
Merged

fix: custom tools not available (browser) + Linux browser docs#218
steipete merged 3 commits intoopenclaw:mainfrom
julianengel:docs/browser-linux-troubleshooting

Conversation

@julianengel
Copy link
Contributor

@julianengel julianengel commented Jan 5, 2026

Bug Fix

Custom clawdbot tools (browser, canvas, nodes, cron, etc.) were not available at runtime, causing "Tool not found" errors.

Cause: The pi-coding-agent SDK's tools parameter only accepts built-in tools (read, bash, edit, write). Custom tools were silently filtered out.

Solution: Split tools into tools: (built-in) and customTools: (clawdbot-specific) parameters.


Docs: Linux Browser Troubleshooting

Covers:

  • Snap Chromium issues on Ubuntu
  • Solution 1: Install Google Chrome (recommended)
  • Solution 2: attachOnly mode workaround
  • Systemd service for auto-starting browser
  • Config reference

Covers:
- Snap Chromium issues on Ubuntu
- Solution 1: Install Google Chrome (recommended)
- Solution 2: attachOnly mode workaround
- Systemd service for auto-starting browser
- Config reference
The SDK's tools parameter only accepts built-in tools (read, bash, edit, write).
Custom clawdbot tools (browser, canvas, nodes, cron, etc.) were being filtered
out, causing 'Tool not found' errors at runtime.

Split tools into built-in and custom, passing them via the correct parameters.
@julianengel julianengel changed the title docs: add Linux browser troubleshooting guide fix: custom tools not available (browser) + Linux browser docs Jan 5, 2026
@julianengel
Copy link
Contributor Author

Claudius spotted another bug - added

@steipete
Copy link
Contributor

steipete commented Jan 5, 2026

Thank you Julian, I appreciate your help!

@steipete steipete merged commit 110e225 into openclaw:main Jan 5, 2026
dgarson added a commit to dgarson/clawdbot that referenced this pull request Feb 7, 2026
* feat: add configurable subsystem debug log suppression

* docs: add changelog entry and test script for suppressSubsystemDebugLogs

* docs: add implementation summary

* feat(meridia): multi-factor memory relevance scoring system

Implement a comprehensive scoring system that evaluates whether experiences
should become long-term memories based on five weighted factors:

- **Novelty**: Is this new information or repetition?
- **Impact**: Does this change understanding, behavior, or system state?
- **Relational**: Does this connect to known entities/people/projects?
- **Temporal**: Is this time-sensitive or evergreen?
- **User Intent**: Was this explicitly marked as important?

Features:
- Configurable weights for each factor (normalized to sum to 1.0)
- Named threshold profiles: balanced, aggressive, conservative, minimal
- Override rules for specific tools (glob-pattern matching)
- evaluateMemoryRelevance() as primary entry point
- shouldCapture(), shouldPersistToGraph(), shouldUseLlmEval() helpers
- Backward-compatible evaluateHeuristic() now delegates to scoring system
- New evaluateHeuristicDetailed() returns full scoring breakdown
- 37 comprehensive tests covering all factors and edge cases

Files:
- extensions/meridia/src/meridia/scoring/types.ts
- extensions/meridia/src/meridia/scoring/config.ts
- extensions/meridia/src/meridia/scoring/factors.ts
- extensions/meridia/src/meridia/scoring/index.ts
- extensions/meridia/src/meridia/scoring/scoring.test.ts
- extensions/meridia/src/meridia/evaluate.ts (updated)

* SDK runner: close message processing parity gaps with Pi embedded agent

- Gap 1 (HIGH): Add streaming block replies during the event loop via
  blockReplyBreak/blockReplyChunking params. Supports "message_end"
  (flush at message boundaries) and "text_end" (per-chunk) modes,
  matching Pi embedded's streaming delivery. Final onBlockReply is
  skipped when streaming was active to avoid duplicate delivery.

- Gap 2 (MEDIUM): Add onReasoningStream callback support. Extract
  thinking/reasoning text from SDK events classified as "system" and
  emit via the new callback, enabling reasoning display in UIs.

- Gap 3 (MEDIUM): Reset chunks/assistantSoFar at message boundaries
  so onPartialReply reflects only the current message, not accumulated
  text from all prior turns.

- Gap 5 (LOW-MED): Add enforceFinalTag support. When enabled, only
  content inside <final>...</final> tags is returned, preventing
  intermediate narration leakage from non-Claude models. Adds shared
  extractFinalTagContent() utility.

- Gap 6 (LOW-MED): Map all payload fields (mediaUrl, mediaUrls,
  replyToId, replyToTag, replyToCurrent, audioAsVoice) in
  adaptSdkResultToPiResult to prevent silent field loss.

Wire all new params through the full chain:
  executor.ts → AgentRuntimeRunParams → sdk-agent-runtime →
  sdk-runner-adapter → sdk-runner

https://claude.ai/code/session_013FRzxnpzCwncubghL7GGCF

* additional merge conflict resolution

* Merge origin/main into claude/review-message-processing-djLHt

Resolve merge conflicts in meridia scoring module by taking
origin/main's refactored multi-factor scoring system (scorer.ts,
defaults.ts, updated types/factors/index). Remove HEAD-only
scoring/config.ts and scoring.test.ts that used the old API
(origin/main has proper tests in factors.test.ts and scorer.test.ts).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(meridia): add missing awaits in CLI + fix sanitizeForPersistence JSON corruption

---------

Co-authored-by: Claude <noreply@anthropic.com>
Raywonder pushed a commit to Raywonder/openclaw that referenced this pull request Mar 8, 2026
venhi5282 pushed a commit to venhi5282/openclaw that referenced this pull request Mar 9, 2026
…TY.md requirement (openclaw#218)

* Initial plan

* docs: port upstream 7c9130f — add GHSA section with SECURITY.md requirement

Co-authored-by: jiulingyun <126459548+jiulingyun@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jiulingyun <126459548+jiulingyun@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants