Skip to content

feat: add QClaw agent support#524

Merged
wesm merged 1 commit into
kenn-io:mainfrom
arbing:qclaw
May 23, 2026
Merged

feat: add QClaw agent support#524
wesm merged 1 commit into
kenn-io:mainfrom
arbing:qclaw

Conversation

@arbing
Copy link
Copy Markdown
Contributor

@arbing arbing commented May 21, 2026

  • Register QClaw as a supported OpenClaw wrapper with its own agent type, configuration keys, default directory, and frontend metadata.
  • Parse QClaw JSONL transcripts from qclaw.qq.com, including messages, thinking blocks, tool calls, tool results, and token usage.
  • Discover active and archived QClaw session files under .qclaw/agents while avoiding duplicate archived transcripts.
  • Wire QClaw path classification into incremental sync and cover active/archive classification behavior with tests.
  • Document QCLAW_DIR in CLI help so users can point agentsview at custom QClaw data directories.

@roborev-ci
Copy link
Copy Markdown

roborev-ci Bot commented May 21, 2026

roborev: Combined Review (8e037ff)

PR has one medium issue to address before merge.

Medium

  • scripts/e2e-server.sh:57 - The e2e server wrapper does not isolate QClaw discovery. QClaw now adds a default ~/.qclaw/agents discovery root, but the script only overrides the older agent env vars, so developers with real QClaw sessions may have those sessions discovered during e2e runs. This breaks the script’s isolation guarantee and can make tests nondeterministic.

    Fix: Add QCLAW_DIR="$EMPTY_DIR" \ alongside OPENCLAW_DIR in scripts/e2e-server.sh.


Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

@roborev-ci
Copy link
Copy Markdown

roborev-ci Bot commented May 21, 2026

roborev: Combined Review (ec0272d)

Summary verdict: One medium issue remains; no high or critical findings were reported.

Medium

  • internal/parser/qclaw.go:175 - QClaw toolResult messages compute ContentLength but do not populate ParsedToolResult.ContentRaw. As a result, pairToolResults cannot decode and store/display result content for matching tool calls, so QClaw tool output is silently dropped even for unblocked categories.
    • Fix: Set ContentRaw: content.Raw on ParsedToolResult and add a parser or sync test verifying a QClaw tool result appears on the paired tool call.

Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

@roborev-ci
Copy link
Copy Markdown

roborev-ci Bot commented May 21, 2026

roborev: Combined Review (ff7f420)

No Medium, High, or Critical findings were reported.

All available review outputs agree the code is clean.


Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

@roborev-ci
Copy link
Copy Markdown

roborev-ci Bot commented May 21, 2026

roborev: Combined Review (ff7f420)

Clean: all completed reviews report no Medium, High, or Critical findings.

No issues found.


Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

@roborev-ci
Copy link
Copy Markdown

roborev-ci Bot commented May 21, 2026

roborev: Combined Review (ff7f420)

Verdict: No Medium, High, or Critical issues were reported.

All populated review outputs found the code clean.


Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

@roborev-ci
Copy link
Copy Markdown

roborev-ci Bot commented May 23, 2026

roborev: Combined Review (496bfdf)

Clean: all reviewers found no Medium, High, or Critical issues.


Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

- fix: isolate QClaw during e2e runs
- fix: preserve QClaw tool result content
@wesm wesm merged commit 9ae1a5f into kenn-io:main May 23, 2026
13 of 14 checks passed
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