feat(installer): add QwenPaw agent support alongside Claude Code and Codex - #60
Open
Leo (CallMeHFK) wants to merge 3 commits into
Open
Leo (CallMeHFK) wants to merge 3 commits into
Leo (CallMeHFK) wants to merge 3 commits into
Conversation
…Codex Both installers can now provision the Idea/Reel plugins into QwenPaw's shared skill pool: - bin/install.mjs: data-driven agent registry (one entry per agent host), multi-select agent prompt, and a QwenPaw target that copies skills into <QWENPAW_WORKING_DIR>/skill_pool and writes the merged .env into the QwenPaw working dir (its runtime loads it; the skills' own .env walker reaches it from the pool). Best-effort `qwenpaw skills list --pool` nudges a manifest reconcile so manually placed skills register at once. - install.sh: --qwenpaw / --no-qwenpaw with QWENPAW_WORKING_DIR / QWENPAW_POOL_DIR overrides. Pool entries are real copies, not symlinks — QwenPaw's safe_skill_dir rejects resolved paths outside the pool root. - READMEs: document QwenPaw as a supported agent runtime.
Author
|
@microsoft-github-policy-service agree |
… CLI `npx skills add` now requires --agent on non-interactive runs and dropped the legacy .agents/skills scaffold it used to leave behind. Fetch into a throwaway dir with -y --agent claude-code (the agent choice only decides where content lands there), accept both the current .claude/skills/<name> layout and the legacy one, then copy into each selected runtime.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ResearchStudio's plugins (Idea, Reel) are standard Agent Skills (SKILL.md folders), and the installers already support provisioning them into Claude Code and Codex. This PR adds QwenPaw (agentscope-ai/QwenPaw) as a third agent runtime, and restructures the agent handling in
bin/install.mjsso adding further hosts is a one-line registry entry.What QwenPaw support means
QwenPaw organizes skills differently from Claude Code/Codex: a shared skill pool at
$QWENPAW_WORKING_DIR/skill_pool/(default~/.qwenpaw/skill_pool/), from which skills are broadcast into per-agent workspaces (workspaces/<agent_id>/skills/). Two behaviors were verified against QwenPaw's source and docs before implementing:safe_skill_dirresolves skill directories and rejects anything outside the pool root, so symlinked skills (the approachinstall.shuses for Claude/Codex) would be silently dropped by its scanner.<working-dir>/.envinto the env its skills run in — which the skills' own.envwalker also reaches from the pool (≤ 4 levels up).Changes
bin/install.mjsAGENTSmap with a data-driven registry (label+skillsDir(base)+poolflag); adding a new agent host is one entry.RS_AGENTS=claude,codex,qwenpawfor non-interactive runs, with graceful skipping of unknown names.constant.pyresolution:QWENPAW_WORKING_DIR→ legacy~/.copaw→~/.qwenpaw), writes the merged.envinto the QwenPaw working dir (other agents keep the skills-dir.env), and best-effort runsqwenpaw skills list --poolto trigger the reconcile immediately. Pool agents have no project-scoped dir, so project scope still targets the pool with an explanatory note.install.sh--qwenpaw / --no-qwenpawflags plusQWENPAW_WORKING_DIR/QWENPAW_POOL_DIRenv overrides. Pool entries are copied (cp -R), never linked. Seeds~/.qwenpaw/.envfrom.env.templatewhen absent (re-runs never overwrite), nudges a pool reconcile when the CLI is on PATH, and prints workspace-loading guidance.READMEs — main + Idea + Reel now list QwenPaw as a supported runtime.
Verification
node --check/bash -nclean; non-interactive dry runs against sandboxedHOME/QWENPAW_WORKING_DIRfor all three agents:~/.claude/skills,~/.codex/skills, and<qwenpaw>/skill_poolrespectively;.envwritten to<qwenpaw>/.envand confirmed reachable by the skills' env walker;qwenpaw skills list --poolreconcile registered the installed skills inskill_pool/skill.json(real copies, no symlinks in the pool).RS_AGENTSentries are skipped with a hint listing known agents.Note for reviewers
After a pool install, skills still need to be loaded into a QwenPaw workspace (Console → Workspace → Skills → "Load from Skill Pool", or copy into
workspaces/<agent_id>/skills/+qwenpaw skills enable ...). That's QwenPaw's own pool→workspace model; the installers print this guidance rather than guessing an agent ID.