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.
npx skills add wangyendt/wayne-skills --skill chat-ollama-gradiogit clone --depth 1 https://github.com/wangyendt/wayne-skillsWrote 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.
[](https://agentmods.dev/skills/wangyendt/wayne-skills/chat-ollama-gradio)<a href="https://agentmods.dev/skills/wangyendt/wayne-skills/chat-ollama-gradio"><img src="https://agentmods.dev/badge/skills/wangyendt/wayne-skills/chat-ollama-gradio/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/wangyendt/wayne-skills/chat-ollama-gradio"><img src="https://agentmods.dev/badge/skills/wangyendt/wayne-skills/chat-ollama-gradio.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00075 | $0.00716 |
| Opus 5 | $0.00037 | $0.00358 |
| Sonnet 5 | $0.00015 | $0.00143 |
| Haiku 4.5 | $0.00007 | $0.00072 |
Grade A, and why
pywayne-llm-chat-ollama-gradio 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 12d 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.
How it starts
The opening of the file, as written. The whole thing — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pywayne Chat Ollama Gradio
This module provides a Gradio-based web chat interface for Ollama models with multi-session support.
Quick Start
from pywayne.llm.chat_ollama_gradio import OllamaChatGradio
# Create and launch chat interface
app = OllamaChatGradio(
base_url="http://localhost:11434/v1",
server_port=7870
)
app.launch()
Configuration
| Parameter | Default | Description |
|---|---|---|
base_url |
"http://localhost:11434/v1" |
Ollama API base URL |
server_name |
"0.0.0.0" |
Server host name |
server_port |
7870 |
Server port |
root_path |
"" |
Root path for reverse proxy |
api_key |
"ollama" |
API key (for Ollama compatibility) |
Model Discovery
Automatically discovers available Ollama models by running ollama list:
- Excludes models with 'embed' in the name
- Falls back to
qwen2.5:0.5bif no models found
Session Management
Creating New Sessions
# UI method: Click "新建会话" button
new_chat_id, new_history, new_choices = app.create_new_chat()
Switching Sessions
# UI method: Select from "历史会话" radio list
history = app.switch_chat(selected_chat_id)
API Reference
OllamaChatGradio
| Method | Description |
|---|---|
get_ollama_models() |
Get list of available Ollama models |
init_chat_manager() |
Initialize ChatManager instance |
create_new_chat() |
Create new chat session, returns (chat_id, history, radio_update) |
switch_chat(chat_id) |
Switch to specified chat session |
format_history(history) |
Format history for display |
chat(message, history, model_name) |
Process chat message with streaming |
create_demo() |
Create Gradio interface |
launch() |
Launch Gradio server |
UI Components
| Component | Description |
|---|---|
chatbot |
Main chat display area |
msg |
Message input textbox |
model_dropdown |
Model selection dropdown |
chat_id_text |
Current session ID (read-only) |
new_chat_btn |
Button to create new session |
chat_history_list |
Radio list for session switching |
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.
- 12d ago First seen · 94 lines · 75 tokens per session scan A e83f81679e68
pywayne-llm-chat-ollama-gradio is a skill published in the GitHub repository wangyendt/wayne-skills (8 stars, last pushed 3d ago), licensed MIT. It adds 75 tokens to every session and 716 once invoked, about $0.0004 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.
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.
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…
gpui-toolkit
Use when building or modifying GPUI applications in the gpui-toolkit workspace, especially when choosing reusable toolkit crates, composing UI, adding components, charts, themes, layouts, audio controls, mobile surfaces, or validation coverage. Prefer existing toolkit APIs over custom one-off implementations.
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"…
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.
textual-builder
Build Text User Interface (TUI) applications using the Textual Python framework (v0.86.0+). Use when creating terminal-based applications, prototyping card games or interactive CLIs, or when the user mentions Textual, TUI, or terminal UI. Includes comprehensive reference documentation, card game starter template, and…