Pawse:面向猫护理的多智能体助手,支持德语兽医沟通脚本
yyyuanfish/pawse
Pawse 是一个多智能体猫护理助手,支持英语、中文、德语和印地语输入,可上传照片与录音,并检索附近兽医诊所。系统用 Gemini 适配器做护理指导、音频理解与翻译,用 Gradium 适配器生成德语脚本与克隆语音,诊所排序基于营业状态、距离和评分。
A multi-agent cat-care assistant that turns a worried moment into clear next steps, nearby veterinary care, and a conversation in the local language.
Local Demo · Engineering Docs · API Docs · Architecture
Overview
Pawse brings cat-care guidance, veterinary discovery, insurance information and multilingual communication into one app.
An owner can describe a concern in their own language, attach a photo, and prepare the details a veterinarian needs. The system retrieves nearby practices, explains available next steps, and drafts a German call script with subtitles. Gradium integration supports generating that script in an owner-consented voice.
The initial experience is centred on Zurich, Switzerland. Pawse is built specifically for the Tech Europe AI Hackathon, sponsored by Google DeepMind, as described by the project team. It is an independent participant project. The imported CatAgent backend predates the hackathon; the unified interface and new integrations are documented in the source import review.
System
Pawse uses a bounded multi-agent workflow:
User Input → Intake & Safety → Care Guidance + Clinic Retrieval → Ranking → Case Coordination → Reviewed Script & Audio
Care guidance and clinic retrieval run concurrently. The coordinator combines available results, preserves missing information, and reports each agent's execution state. Policy evidence is available through a separate retrieval interface, currently limited to a fictional demo corpus.
Model-based understanding is separated from deterministic ranking, cost calculations and execution control. The current coordinator is implemented in Python; it does not add a second reasoning-model call. This structure supports observable results, explicit API boundaries and useful partial responses when a provider is unavailable.
Key Capabilities
- Text, photo and recorded-audio intake, with English, Mandarin Chinese, German and Hindi input options.
- Structured care guidance, warning-sign handling and questions to prepare for the vet.
- Nearby veterinary search through configurable clinic-data providers.
- Explainable clinic ranking using reported opening status, distance and rating.
- Policy-clause retrieval with source references and document hashes, using synthetic demo evidence.
- German scripts with paired subtitles, own-voice recording, and Gradium cloning/localization adapters.
- Agent execution traces, care-request SSE progress and partial-result handling.
- A bridge to existing CatAgent chat and analysis capabilities, subject to their runtime dependencies.
Demo
Run the app locally and open Pawse to try Mimi's two-minute story:
- Mimi is limping after jumping from a wardrobe.
- Pawse prepares a German vet conversation with English subtitles.
- The fictional policy explains the deductible and excluded services.
- The owner compares a clinic visit at an estimated CHF 385 with a home visit at CHF 510.
- The rehearsal ends with a taxi request and a case/claim checklist.
Calls, replies, calendar slots, coverage and prices in this story are simulated. The estimates use the fictional demo policy. The live interface currently accepts photos and recorded audio; the story's video intake is not connected.
Architecture
The system consists of:
- A responsive web interface with Pawse's pink and gray styling.
- A FastAPI backend with bounded asynchronous agent coordination.
- Gemini adapters for care guidance, audio understanding and translation.
- Gradium adapters for voice cloning, German localization and speech generation.
- Clinic-provider adapters and a local, citation-bearing policy retrieval module.
View full-size diagram · Editable SVG · Diagram legend
See Architecture for execution boundaries, Agent Development for module contracts and feature branches, and Model Allocation for project-specific access checks.
Integration agreements are split into Controller–Frontend, Controller–Service, Care, Agents, Voice and Knowledge/Data contracts. The docs index explains where to start.
Quick Start
Python 3.11+:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # Create local configuration if it does not already exist. cp -n .env.example .env # Fill in the relevant server-side settings, then start the app. uvicorn pawse.app:app --host 127.0.0.1 --port 8765
App: localhost:8765 · Swagger UI: localhost:8765/docs
| Setting | Purpose |
|---|---|
GEMINI_API_KEY |
Care guidance, transcription and translation |
GEMINI_MODEL |
Default model: gemini-3-flash-preview; optional care/voice overrides are documented in .env.example |
GRADIUM_API_KEY |
Voice cloning, localization and German audio |
GRADIUM_VOICE_ID_DE |
Optional approved German voice to reuse across restarts |
GOOGLE_PLACES_API_KEY |
Live clinic search with Places; additional provider settings are documented in .env.example |
LEGACY_AGENT_BASE_URL, LEGACY_AGENT_USER_ID, LEGACY_AGENT_CAT_IDS |
Optional connection to the existing CatAgent backend |
The story rehearsal and local demo-policy search work without provider keys. See the voice guide, clinic data contract and API contract for integration details.
Run the automated checks with pip install -r requirements-dev.txt followed by pytest -q tests. Tests use mocked providers; live model access checks are a separate opt-in script. See the validation record.
Limitations
This is a local hackathon prototype:
- Live clinic results require a configured provider. Unknown opening hours, services and insurance coverage remain unknown.
- Gradium adapters are contract-tested; real cloning and voice quality still need a configured key and an owner sample. Chinese and Hindi input use Gemini; Gradium output in this app is German.
- Telephone transport, calendar access, actual appointments, taxi bookings and claim submission are not connected. Dial links open a device dialer; generated audio is not injected into a phone call.
- Retrieval currently uses lexical search over fictional policy documents. Real-policy ingestion and vector indexing are future work.
- Legacy device, report and knowledge services require their own configuration. Public multi-user hosting needs authentication and durable ownership controls.
Pawse provides care navigation, not a diagnosis or a guarantee of treatment, coverage or response time. AI, location and voice sharing are separate opt-ins. Photos and recordings are not written to disk; care summaries expire from the local cache after 15 minutes. Gradium-created voices remain in the provider account until deleted. See voice lifecycle details.
Future Work
- Bidirectional phone conversations with recipient transcripts and owner-approved actions.
- Calendar integration and confirmed appointment workflows.
- Private policy ingestion, cited answers and evaluated Gemini embedding retrieval.
- Verified Zurich clinic data and broader multilingual speech evaluation.
- Authenticated integration of existing CatAgent device and reporting services.
Contributors
See Contributing for contribution guidance and Agent Development for module boundaries, development branches and integration checks.
License
MIT. Built for the Tech Europe AI Hackathon. Third-party services, dependencies and excluded source materials are covered separately in Third-party Notices.
来源:GitHub · github.com
