{
  "schemaVersion": "1.0",
  "item": {
    "slug": "chat-window",
    "name": "Pywayne Llm Chat Window",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/wangyendt/chat-window",
    "canonicalUrl": "https://clawhub.ai/wangyendt/chat-window",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/chat-window",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=chat-window",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/chat-window"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/chat-window",
    "agentPageUrl": "https://openagent3.xyz/skills/chat-window/agent",
    "manifestUrl": "https://openagent3.xyz/skills/chat-window/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/chat-window/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Pywayne Chat Window",
        "body": "This module provides a PyQt5-based desktop GUI chat window for LLM conversations."
      },
      {
        "title": "Quick Start",
        "body": "from pywayne.llm.chat_window import ChatWindow\n\n# Basic usage - quick launch\nChatWindow.launch(\n    base_url=\"https://api.deepseek.com/v1\",\n    api_key=\"your_api_key\",\n    model=\"deepseek-chat\"\n)"
      },
      {
        "title": "Configuration",
        "body": "Using ChatConfig dataclass for full customization:\n\nfrom pywayne.llm.chat_window import ChatWindow, ChatConfig\n\nconfig = ChatConfig(\n    base_url=\"https://api.deepseek.com/v1\",\n    api_key=\"your_api_key\",\n    model=\"deepseek-chat\",\n    temperature=0.8,\n    window_title=\"AI Assistant\",\n    window_width=800,\n    window_height=600\n)\n\nchat = ChatWindow(config)\nchat.run()"
      },
      {
        "title": "ChatConfig Parameters",
        "body": "ParameterDefaultDescriptionbase_urlrequiredAPI base URLapi_keyrequiredAPI keymodel\"deepseek-chat\"Model nametemperature0.7Temperature (0-2)max_tokens2048Max output tokenstop_p1.0Nucleus samplingfrequency_penalty0.0Frequency penalty (-2 to 2)presence_penalty0.0Presence penalty (-2 to 2)system_prompt\"你是一个严谨的助手\"System promptwindow_title\"AI Chat\"Window titlewindow_width600Window widthwindow_height800Window heightwindow_x300Window X positionwindow_y300Window Y position"
      },
      {
        "title": "System Messages",
        "body": "Set custom system prompts:\n\n# Replace all system messages\nchat.set_system_messages([\n    {\"role\": \"system\", \"content\": \"You are a Python expert\"},\n    {\"role\": \"system\", \"content\": \"Provide code examples\"}\n])\n\n# Add single system message\nchat.add_system_message(\"You are now a creative writer\")"
      },
      {
        "title": "Quick Launch with System Messages",
        "body": "ChatWindow.launch(\n    base_url=\"https://api.deepseek.com/v1\",\n    api_key=\"your_api_key\",\n    model=\"deepseek-coder\",\n    system_messages=[\n        {\"role\": \"system\", \"content\": \"You are a Python expert\"},\n        {\"role\": \"system\", \"content\": \"Keep answers concise with code\"}\n    ],\n    window_title=\"Python Assistant\"\n)"
      },
      {
        "title": "Features",
        "body": "Streaming responses: Real-time token-by-token display\nStop generation: Button toggles between \"发送\" (Send) and \"停止\" (Stop)\nMessage history: Maintains conversation context\nEnter to send: Press Enter in input field to send message\nSystem messages: Support for multiple system prompts"
      },
      {
        "title": "Requirements",
        "body": "PyQt5 - GUI framework\nopenai - OpenAI-compatible API client"
      },
      {
        "title": "ChatWindow",
        "body": "MethodDescription__init__(config)Initialize with ChatConfigset_system_messages(messages)Replace all system messagesadd_system_message(content)Add single system messagerun()Show window and start event looplaunch(base_url, api_key, ...)Class method to quickly launch chat window"
      },
      {
        "title": "ChatConfig",
        "body": "Dataclass for window and LLM configuration. All parameters optional except base_url and api_key."
      }
    ],
    "body": "Pywayne Chat Window\n\nThis module provides a PyQt5-based desktop GUI chat window for LLM conversations.\n\nQuick Start\nfrom pywayne.llm.chat_window import ChatWindow\n\n# Basic usage - quick launch\nChatWindow.launch(\n    base_url=\"https://api.deepseek.com/v1\",\n    api_key=\"your_api_key\",\n    model=\"deepseek-chat\"\n)\n\nConfiguration\n\nUsing ChatConfig dataclass for full customization:\n\nfrom pywayne.llm.chat_window import ChatWindow, ChatConfig\n\nconfig = ChatConfig(\n    base_url=\"https://api.deepseek.com/v1\",\n    api_key=\"your_api_key\",\n    model=\"deepseek-chat\",\n    temperature=0.8,\n    window_title=\"AI Assistant\",\n    window_width=800,\n    window_height=600\n)\n\nchat = ChatWindow(config)\nchat.run()\n\nChatConfig Parameters\nParameter\tDefault\tDescription\nbase_url\trequired\tAPI base URL\napi_key\trequired\tAPI key\nmodel\t\"deepseek-chat\"\tModel name\ntemperature\t0.7\tTemperature (0-2)\nmax_tokens\t2048\tMax output tokens\ntop_p\t1.0\tNucleus sampling\nfrequency_penalty\t0.0\tFrequency penalty (-2 to 2)\npresence_penalty\t0.0\tPresence penalty (-2 to 2)\nsystem_prompt\t\"你是一个严谨的助手\"\tSystem prompt\nwindow_title\t\"AI Chat\"\tWindow title\nwindow_width\t600\tWindow width\nwindow_height\t800\tWindow height\nwindow_x\t300\tWindow X position\nwindow_y\t300\tWindow Y position\nSystem Messages\n\nSet custom system prompts:\n\n# Replace all system messages\nchat.set_system_messages([\n    {\"role\": \"system\", \"content\": \"You are a Python expert\"},\n    {\"role\": \"system\", \"content\": \"Provide code examples\"}\n])\n\n# Add single system message\nchat.add_system_message(\"You are now a creative writer\")\n\nQuick Launch with System Messages\nChatWindow.launch(\n    base_url=\"https://api.deepseek.com/v1\",\n    api_key=\"your_api_key\",\n    model=\"deepseek-coder\",\n    system_messages=[\n        {\"role\": \"system\", \"content\": \"You are a Python expert\"},\n        {\"role\": \"system\", \"content\": \"Keep answers concise with code\"}\n    ],\n    window_title=\"Python Assistant\"\n)\n\nFeatures\nStreaming responses: Real-time token-by-token display\nStop generation: Button toggles between \"发送\" (Send) and \"停止\" (Stop)\nMessage history: Maintains conversation context\nEnter to send: Press Enter in input field to send message\nSystem messages: Support for multiple system prompts\nRequirements\nPyQt5 - GUI framework\nopenai - OpenAI-compatible API client\nAPI Reference\nChatWindow\nMethod\tDescription\n__init__(config)\tInitialize with ChatConfig\nset_system_messages(messages)\tReplace all system messages\nadd_system_message(content)\tAdd single system message\nrun()\tShow window and start event loop\nlaunch(base_url, api_key, ...)\tClass method to quickly launch chat window\nChatConfig\n\nDataclass for window and LLM configuration. All parameters optional except base_url and api_key."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/wangyendt/chat-window",
    "publisherUrl": "https://clawhub.ai/wangyendt/chat-window",
    "owner": "wangyendt",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/chat-window",
    "downloadUrl": "https://openagent3.xyz/downloads/chat-window",
    "agentUrl": "https://openagent3.xyz/skills/chat-window/agent",
    "manifestUrl": "https://openagent3.xyz/skills/chat-window/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/chat-window/agent.md"
  }
}