Productivity & Collaboration self-hosted-assistantmulti-channel-chatlocal-modelsmcp-integrationscheduled-taskscoding-modepersonal-memorytool-sandbox

QwenPaw Personal Assistant

A self-hosted personal assistant that combines chat, memory, automation, tools, and multi-channel access.

FollowAgents review · FARS-2.1
Use with care
64/ 100 5-point scale 3.2 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust17 / 29 · 2.9/5

Evidence shows security features: kernel-level sandbox, tool guard, file guard, skill scanner, access policy, and a clear trust model and operational guidance in SECURITY.md. User confirmation mechanisms exist (e.g., tool permission prompts, approval gates). Data flow transparency: docs state data storage locations (working dir, secret dir, backup volumes), but not all data flows are detailed. Sensitive data handling: API keys stored in secret dir, advice to keep secrets out of working dir. Dependency security: CodeQL workflow present but in dry-run mode, non-blocking, and no evidence of dependency vulnerability scanning. External effects: docs mention connecting to multiple channels, but no explicit limits on external impact. Rollback: backup volumes and uninstall options exist, but no explicit rollback mechanism. Source attribution: license and copyright present, but publisher unverified.

2Reliability9 / 14 · 3.2/5

Self-consistency: README, SECURITY.md, pyproject.toml are consistent; security model aligns with init flow. Dependency availability: dependency list is explicit with version ranges, but no dependency availability testing. Failure messages: test files show handling of error paths, but no user-visible failure message examples.

3Adaptability12 / 18 · 3.3/5

Audience and scenarios: docs clearly target personal assistant, support multiple channels and scenarios. Capability boundaries: docs say skills are extensible, but no explicit limits. Trigger precision: scheduling and commands exist, but trigger mechanisms not detailed. Environment fit: multiple install methods (pip, script, Docker, cloud), but not all environments have detailed config.

4Convention12 / 18 · 3.3/5

Information architecture: README structure clear with TOC. Install notes: multiple install methods, but script install has network restriction warning. Naming stability: version numbers exist, but no naming conventions. Examples and FAQ: FAQ section exists, but no detailed examples. Known limitations: desktop app Beta limitations stated, but other limitations not explicit. License: Apache-2.0, LICENSE file present. Versioning and changelog: release notes link present, but no detailed changelog. Maintenance responsibility: maintainer info present, but responsibility not explicit.

5Effectiveness9 / 13 · 3.5/5

Output usability: docs describe features, but no output examples. Marginal value: feature-rich, but no comparison with other tools. Cost benefit: local deployment free, but no cost analysis.

6Verifiability5 / 8 · 3.1/5

Claim traceability: README claims have doc links, but no specific evidence. Cross-source corroboration: multiple files support, but no independent verification. Fact and inference separation: docs distinguish feature descriptions and inferences, but not explicitly labeled.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision bacac7410cf2
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • Publisher identity is unverified; proceed with caution.
  • CodeQL scan is in dry-run mode and non-blocking; dependency security is not fully verified.
  • Script installation has network restriction risks and may modify system environment variables.
  • Desktop app is in Beta with known limitations.
  • Security model assumes single-user trust boundary; sharing instances among multiple users requires caution.
Review evidence [1][2][3][4][5][6][7][8][9]
See the full review method →

What does this agent do, and when should you use it?

QwenPaw is a personal AI assistant workstation from the AgentScope team that can run locally, in Docker, in cloud deployments, or as a desktop application. It exposes a browser Console, a full-screen terminal TUI, a desktop app, and channels including DingTalk, Lark, WeChat, Discord, Telegram, iMessage, and QQ. Model options include cloud providers as well as the built-in QwenPaw Local runtime, Ollama, and LM Studio. Its memory design combines live working context, complete verbatim history, and a local Markdown knowledge base powered by ReMe. Beyond chat, it documents scheduled tasks, document handling, web information gathering, plugins, Skills, MCP tools, and a code-focused Coding Mode.

After qwenpaw init configures a model, qwenpaw app starts the local Console; qwenpaw opens a terminal interface that shares the same agent, memory, sessions, Skills, and MCP tools with the Console and IM channels. It can read, edit, review, and test code in projects, while Coding Mode provides a three-panel web IDE with a file tree, diff preview, jump-to-definition, find-references, and structural code search. It documents reading, writing, and converting PDF, Word, Excel, and PowerPoint files; searching the web; following subscriptions; and summarizing videos. Cron and scheduled tasks can generate reports or broadcast content across channels. Tool execution is governed by Sandbox, Tool Guard, File Guard, and Skill Scanner; the documented Tool Guard checks for command injection, path traversal, reverse shells, and obfuscated attacks.

  1. A privacy-conscious individual who wants an assistant on a personal machine can use QwenPaw Local, Ollama, or LM Studio without configuring a cloud API key.
  2. An operations user who needs recurring news digests, reports, or alerts delivered to DingTalk, Lark, Discord, or Telegram can combine Cron with channel connections.
  3. A developer working in a local repository can run qwenpaw . to start Coding Mode for code reading, editing, review, and testing.
  4. A knowledge-management user who wants conversations and resources retained as editable, searchable, linked Markdown can use the ReMe-backed memory system.
  5. A user building repeatable workflows around PDFs, Office files, browser work, or news can compose Skills, plugins, and MCP integrations.
  6. Someone who wants one assistant reachable through a browser, terminal, desktop app, and messaging channels can use the documented shared instance model.

What are this agent's strengths and limitations?

Pros
  • It documents Console, TUI, desktop, and messaging-channel entry points that share the same agent, memory, sessions, Skills, and MCP tools.
  • It supports a built-in local runtime, Ollama, LM Studio, and 14+ cloud providers, with no API key required for the documented local-model paths.
  • Its three-layer memory combines working context, full verbatim history, and a ReMe-backed local Markdown knowledge base.
  • The project documents sandboxing across macOS, Linux, and Windows plus Tool Guard, File Guard, and Skill Scanner controls.
  • Cron, plugins, Skills, MCP, and multi-agent features provide a documented path for combining conversational and automated workflows.
Limitations
  • Any cloud LLM path requires a valid API key before chat will work.
  • Pip installation is limited to Python >= 3.11 and < 3.14; source installation of the web UI also requires building the console frontend and copying its output.
  • The script installer may fail in restricted networks or corporate firewalls, and Windows LTSC Constrained Language Mode can prevent automatic Path configuration or uv download.
  • The desktop application is beta, with documented incomplete compatibility testing, possible performance issues, and features that may be unstable or missing.
  • Local deployment does not eliminate every external data flow: interactive init asks about anonymous telemetry, while --defaults accepts once-per-version telemetry automatically.

How do you install or deploy this agent?

For pip installation, Python >= 3.11 and < 3.14 is required:

pip install qwenpaw
qwenpaw init --defaults
qwenpaw app

Open http://127.0.0.1:8088/ in a browser. For Docker:

docker pull agentscope/qwenpaw:latest
docker run -p 127.0.0.1:8088:8088 -v qwenpaw-data:/app/working -v qwenpaw-secrets:/app/working.secret -v qwenpaw-backups:/app/working.backups agentscope/qwenpaw:latest

For a cloud model, configure a provider, API key, and enabled model in Console → Settings → Models. QwenPaw Local, Ollama, and LM Studio do not require an API key.

How do you use this agent?

After first launch, choose and enable a model in Console → Settings → Models. Cloud models require a valid API key; DashScope can also use DASHSCOPE_API_KEY. Run qwenpaw for the TUI, qwenpaw tui --resume <id> to resume a session, or qwenpaw . to start Coding Mode in the current repository. Add Skills, channels, or Cron configuration through the Console, and put extra tool keys in Settings → Environment variables.

How does this agent compare with similar options?

QwenPaw can use Ollama or LM Studio as local model backends. Compared with those model-serving backends, QwenPaw also documents a Console, TUI, channel connections, memory, scheduled tasks, Skills, plugins, and MCP management.

FAQ

Can it run without a cloud model or API key?
Yes. The documented QwenPaw Local, Ollama, and LM Studio paths do not require an API key.
How do I configure a cloud model?
Run qwenpaw app, then select a provider in Console → Settings → Models, enter its API key, and enable the provider and model.
What controls tool execution?
The project documents Sandbox, Tool Guard, File Guard, and Skill Scanner. Tool Guard offers STRICT, SMART, AUTO, and OFF approval levels, while File Guard defaults to protecting locations such as ~/.qwenpaw.secret/ and ~/.ssh.
How can a Docker deployment reach Ollama on the host?
Add --add-host=host.docker.internal:host-gateway to docker run, then set the model Base URL to http://host.docker.internal:11434. On Linux, --network=host is also documented.
Does initialization collect telemetry?
The README states that qwenpaw init collects anonymous version, install-method, OS, Python-version, CPU-architecture, and GPU-availability data once per version. Interactive initialization asks for consent; --defaults accepts it automatically.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents