pywayne-llm-chat-window

pywayne-llm-chat-window is a skill for Claude Code, Codex from wangyendt/wayne-skills. It costs 57 tokens per session (871 once invoked), scanned A, original, MIT.

A PyQt5 desktop chat window for talking with a language model through an API. It displays streaming replies, supports stopping generation, and allows settings such as the API address, key, model, window size, and system message.

In plain words
What is it for?
Use it to launch or embed a desktop assistant that sends conversations to a compatible language-model API and shows replies as they arrive.
Why use it?
It provides a ready-made desktop interface instead of requiring a separate chat UI. The connection still needs an API endpoint, key, and model configuration.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to launch or embed a desktop assistant that sends conversations to a compatible language-model API and shows replies as they arrive.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/wangyendt/wayne-skills/chat-window
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add wangyendt/wayne-skills --skill chat-window
Clone the repo
git clone --depth 1 https://github.com/wangyendt/wayne-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pywayne-llm-chat-window

README.md
[![agentmods](https://agentmods.dev/badge/skills/wangyendt/wayne-skills/chat-window.svg)](https://agentmods.dev/skills/wangyendt/wayne-skills/chat-window)
Your own site
<a href="https://agentmods.dev/skills/wangyendt/wayne-skills/chat-window"><img src="https://agentmods.dev/badge/skills/wangyendt/wayne-skills/chat-window.svg" alt="Measured on agentmods" height="20"></a>
Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 871 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00057 $0.00871
Opus 5 $0.00028 $0.00436
Sonnet 5 $0.00011 $0.00174
Haiku 4.5 $0.00006 $0.00087

Measured 7d ago against content hash de36bdba33da, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

pywayne-llm-chat-window scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

pywayne/llm/chat-window/SKILL.md · 121 lines

How it starts

The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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

Parameter Default Description
base_url required API base URL
api_key required API key
model "deepseek-chat" Model name
temperature 0.7 Temperature (0-2)
max_tokens 2048 Max output tokens
top_p 1.0 Nucleus sampling
frequency_penalty 0.0 Frequency penalty (-2 to 2)
presence_penalty 0.0 Presence penalty (-2 to 2)
system_prompt "你是一个严谨的助手" System prompt
window_title "AI Chat" Window title
window_width 600 Window width
window_height 800 Window height
window_x 300 Window X position
window_y 300 Window 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"
)

Read the full file on GitHub · 121 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 121 lines · 57 tokens per session scan A de36bdba33da

Subscribe to this mod's changes

pywayne-llm-chat-window is a skill published in the GitHub repository wangyendt/wayne-skills (8 stars, last pushed 10d ago), licensed MIT. It adds 57 tokens to every session and 871 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

huggingface-gradio

Build Gradio web UIs and demos in Python. Use when creating or editing Gradio apps, components, event listeners, layouts, or chatbots.

huggingface/skills · 37 tokens

shiny-for-python

Building, styling, testing, debugging, or observing a Shiny for Python (py-shiny) reactive web app - from shiny import ..., shiny run app.py. Index skill: read this, then open the linked reference for the task. Covers dashboard design and visual QA; card toolbars and accessible icons; interactive Plotly charts and…

posit-dev/py-shiny · 209 tokens

fast-dash

Build a Fast Dash web app from a Python function. Use when the user wants to turn a function into an interactive app, add a UI to an existing function, or build a dashboard / form / wizard. Fast Dash infers UI components from type hints, so a well-typed function becomes an app with one decorator.

dkedar7/fast_dash · 69 tokens

streamlit

Streamlit Python web application framework. Covers session state, caching, layouts, widgets, multipage apps, and deployment. Use when building interactive Python data apps or dashboards. USE WHEN: user mentions "streamlit", "st.sessionstate", "st.cachedata", "streamlit app", "python dashboard", "python web app"…

claude-dev-suite/claude-dev-suite · 107 tokens

anywidget-generator

Generate anywidget components for marimo notebooks.

marimo-team/skills · 13 tokens

textual

Build terminal user interfaces (TUIs) with Textual, a Python framework for creating rich, interactive applications in the terminal. Handles widgets, layouts, CSS styling, events, screens, and async workers. Use when building TUI apps or when the user mentions textual.

pavelzw/skill-forge · 57 tokens