agentscope-ai / agentscope-ai/QwenPaw
[Feature]: Agent sharing: local plugin packaging and remote deployment with triggers
- Lenguaje dominante
- Python
- Estrellas
- 34.9k
- Forks
- 3.1k
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 225
Descripción
## Summary
Enable two complementary ways to share a fully configured agent: (1) one‑click packaging into a plugin that colleagues can install locally on their own machines, and (2) one‑click deployment to a remote service (e.g., Alibaba Cloud) so colleagues can invoke the agent via API or triggers.
## Component(s) Affected
- [x] Core / Backend (app, agents, config, providers, utils, local_models)
- [x] Console (frontend web UI)
- [x] CLI
- [ ] Channels (DingTalk, Feishu, QQ, Discord, iMessage, etc.) – relevant if remote triggers use them
- [ ] Skills
- [ ] Documentation (website)
- [ ] Tests
- [ ] CI/CD
- [ ] Scripts / Deploy
## Problem / Motivation
Currently, there is no frictionless way to share a carefully configured agent (e.g., a finance‑analysis agent with custom prompts, tools, knowledge bases, and model settings) with colleagues. The user either needs to:
- Manually copy configuration files, scripts, and environment variables, which is error‑prone and often incomplete.
- Rewrite instructions so others can reproduce the setup, which fails to capture the full working context.
Moreover, two distinct sharing scenarios are both essential but unsupported:
1. **Local, offline sharing** – a colleague wants to run the agent on their own computer, exactly as the creator does.
2. **Remote, centralized deployment** – the agent is published as a service so all colleagues can call it without local setup, possibly via API or scheduled triggers.
Lack of these capabilities limits QwenPaw to a solo‑user tool and blocks team collaboration.
## Proposed Solution
Introduce a unified **Agent Packaging & Sharing** framework that supports two modes:
### Mode 1: Local Plugin Sharing (Peer‑to‑Peer)
- **Export**: From the Console, clicking “Export Agent” bundles all configuration, tool definitions, knowledge base references (or lightweight embedded data), and a manifest (required environment variables, version, author) into a single `.qwenagent` file.
- **Import**: A colleague drags‑and‑drops the `.qwenagent` file into their Console (or uses `qwenpaw agent install `). The system:
- Creates a new agent with the same settings.
- Prompts for any missing API keys or credentials (based on the manifest schema).
- Checks tool dependencies (e.g., Python packages) and optionally installs them.
- The agent is then ready to run locally, exactly mirroring the original behavior.
### Mode 2: Remote Deployment as a Service (Centralized)
- **Publish**: From the Console, the creator can “Publish to Remote.” They choose a target (e.g., Alibaba Cloud Function Compute, a self‑hosted server, or a QwenPaw cloud endpoint). The system:
- Packages the agent similarly.
- Deploys it as a standalone service with an API endpoint.
- Optionally configures trigger conditions (e.g., every Monday at 9 AM, on incoming webhook, or via DingTalk/Feishu bot command).
- **Invoke**: Colleagues do not need to install anything. They call the published agent via:
- A shared API endpoint (secured with team‑level auth).
- Integrated triggers (e.g., sending a message to a bot, uploading a file to a specific channel).
- The Console’s “Shared Agents” tab where they can discover and run remote agents.
- The creator can monitor usage, update the remote agent, or rollback to a previous version.
### Supporting Infrastructure
- **Agent Manifest Specification**: JSON/YAML format describing the agent, its dependencies, runtime requirements, and exposed triggers (for remote mode).
- **Versioning and Updates**: Both modes allow the creator to publish updates; local users can pull updates, remote instances can be updated in‑place.
- **Security & Secrets**: Credentials are never included in the package; they are prompted during installation or stored in the remote environment via the platform’s secret manager.
## Alternatives Considered
- **Simple config export/import**: Misses tools, knowledge bases, and environment setup; does not address remote execution at all.
- **Manual Docker container sharing**: Too heavy for average users, no built‑in UI for trigger configuration or team discovery.
- **Copying project folders**: Loses versioning, tool dependencies may not be self‑contained, and does not support remote invocation.
## Additional Context
This feature is inspired by:
- VSCode extension marketplace (local sharing)
- GPTs / Custom ChatGPT (one‑click publish)
- Serverless function deployment (e.g., Alibaba Cloud Function Compute) for remote triggers
Enabling both sharing patterns makes QwenPaw a true team‑collaboration tool: power users can author once and share locally with immediate colleagues, or publish centrally for department‑wide access without local setup.
## Willing to Contribute
- [ ] I am willing to open a PR for this feature (after discussion).
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.