Pywayne Llm Chat Window

v0.1.0

PyQt5-based GUI chat window for LLM conversations with streaming responses and stop functionality. Use when working with pywayne.llm.chat_window module to cr...

0· 499·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description (PyQt5 GUI chat window) matches the instructions: examples show ChatWindow.launch with base_url, api_key, model and mention PyQt5/openai. Requiring an API key and LLM client is proportionate to a chat UI.
Instruction Scope
SKILL.md only demonstrates calling the chat window API and setting system messages; it does not instruct the agent to read files, other env vars, or system paths. One minor issue: examples pass api_key directly as a literal parameter (discouraged practice); recommend advising use of environment variables or secure storage instead.
Install Mechanism
Instruction-only skill with no install spec or downloads — low risk. It lists PyQt5 and openai as runtime dependencies but does not attempt to install arbitrary code or fetch archives.
Credentials
No unrelated credentials are requested. The API key requirement is coherent with a client that talks to a remote LLM service. The skill does not declare env vars, but shows api_key as a parameter; that is reasonable though you should avoid hard-coding secrets.
Persistence & Privilege
always is false, no install or persistence requested, and the skill does not ask to modify other skills or system-wide settings. Normal (non-persistent) behavior.
Scan Findings in Context
[you-are-now] unexpected: The scanner flagged the 'you-are-now' pattern. In this SKILL.md the phrase appears in example system messages (e.g. add_system_message("You are now a creative writer")). This looks like a false positive for prompt-injection in the context of example system prompts, but it is flagged because the phrase can be used for prompt manipulation.
Assessment
This SKILL.md is coherent for a desktop LLM chat UI. Before using: (1) do not hard-code your API key into example code — use environment variables or a secrets manager; (2) verify the provenance of the pywayne.llm.chat_window module (no homepage/source provided here); untrusted GUI code can still contain harmful logic if you later install/run unknown packages; (3) confirm the base_url (https://api.deepseek.com/v1 in examples) is the service you intend to use; (4) the scanner flagged a prompt-injection pattern, but it appears in innocuous example system prompts — remain cautious about passing system messages you don't control. If you need higher assurance, request the actual package source or code for review before running.

Like a lobster shell, security has layers — review code before you run it.

latestvk975bfrm82xpfdtkn0ysa9adds818ekh
499downloads
0stars
1versions
Updated 1mo ago
v0.1.0
MIT-0

Pywayne Chat Window

This module provides a PyQt5-based desktop GUI chat window for LLM conversations.

Quick Start

from pywayne.llm.chat_window import ChatWindow

# Basic usage - quick launch
ChatWindow.launch(
    base_url="https://api.deepseek.com/v1",
    api_key="your_api_key",
    model="deepseek-chat"
)

Configuration

Using ChatConfig dataclass for full customization:

from pywayne.llm.chat_window import ChatWindow, ChatConfig

config = ChatConfig(
    base_url="https://api.deepseek.com/v1",
    api_key="your_api_key",
    model="deepseek-chat",
    temperature=0.8,
    window_title="AI Assistant",
    window_width=800,
    window_height=600
)

chat = ChatWindow(config)
chat.run()

ChatConfig Parameters

ParameterDefaultDescription
base_urlrequiredAPI base URL
api_keyrequiredAPI key
model"deepseek-chat"Model name
temperature0.7Temperature (0-2)
max_tokens2048Max output tokens
top_p1.0Nucleus sampling
frequency_penalty0.0Frequency penalty (-2 to 2)
presence_penalty0.0Presence penalty (-2 to 2)
system_prompt"你是一个严谨的助手"System prompt
window_title"AI Chat"Window title
window_width600Window width
window_height800Window height
window_x300Window X position
window_y300Window Y position

System Messages

Set custom system prompts:

# Replace all system messages
chat.set_system_messages([
    {"role": "system", "content": "You are a Python expert"},
    {"role": "system", "content": "Provide code examples"}
])

# Add single system message
chat.add_system_message("You are now a creative writer")

Quick Launch with System Messages

ChatWindow.launch(
    base_url="https://api.deepseek.com/v1",
    api_key="your_api_key",
    model="deepseek-coder",
    system_messages=[
        {"role": "system", "content": "You are a Python expert"},
        {"role": "system", "content": "Keep answers concise with code"}
    ],
    window_title="Python Assistant"
)

Features

  • Streaming responses: Real-time token-by-token display
  • Stop generation: Button toggles between "发送" (Send) and "停止" (Stop)
  • Message history: Maintains conversation context
  • Enter to send: Press Enter in input field to send message
  • System messages: Support for multiple system prompts

Requirements

  • PyQt5 - GUI framework
  • openai - OpenAI-compatible API client

API Reference

ChatWindow

MethodDescription
__init__(config)Initialize with ChatConfig
set_system_messages(messages)Replace all system messages
add_system_message(content)Add single system message
run()Show window and start event loop
launch(base_url, api_key, ...)Class method to quickly launch chat window

ChatConfig

Dataclass for window and LLM configuration. All parameters optional except base_url and api_key.

Comments

Loading comments...