agentscope-ai / agentscope-ai/QwenPaw

[Feature]: Agent sharing: local plugin packaging and remote deployment with triggers

Abierto
#4,761 1 comentario 0 reacciones 0 asignados Ver en GitHub
enhancement
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

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.