Your AI desk: native, private, and ready to do more than chat.
Chater is a fast desktop AI workspace for people who want their own models, their own data, and a practical path from a conversation to a completed task. It starts like a focused chat app, then grows with you into a tool-enabled, schedule-aware assistant—without trapping your work inside a browser tab.
Native desktop · Bring your own model · Local-first · Automate with confidence
When an idea needs a quick answer, open Chater and start typing. When it turns into repeatable work, give the agent a tool, a workspace, or a schedule. Chater keeps that progression deliberate: you choose the model, choose what local files it may touch, and choose when an automated task may run.
| If you care about… | Chater gives you… |
|---|---|
| Speed and focus | A lightweight native .NET and Avalonia desktop app with tray controls, global shortcuts, and no Electron-style browser shell. |
| Model freedom | OpenAI, Ollama, and OpenAI-compatible providers. Use a local model today and switch providers without changing your workflow. |
| Privacy you can inspect | Conversations, settings, attachments, and logs are stored locally in a user-controlled data directory. |
| AI that can act, not just answer | Optional tools for approved workspace files, the system browser, notifications, system information, scheduled jobs, and MCP connections. |
| Automation with boundaries | Scheduled agents run unattended with Docker or Podman shell access confined to one working directory. |
- Stream responses with rich Markdown rendering, code blocks, links, and copied formatting.
- Send images to multimodal models from a file picker or directly from the clipboard.
- Create reusable skills for writing, research, analysis, translation, and the work you do repeatedly.
- Browse, reopen, and continue previous conversations instead of losing context in a pile of tabs.
- Choose system, light, or dark appearance and use English, Simplified Chinese, or Traditional Chinese.
Chater keeps local access intentional. Select a file or folder to create a chat workspace, and the agent can read, write, create, and list only within that authorization boundary. Path traversal and symbolic-link escapes are checked before access.
When the task calls for it, the built-in tools can also:
- open an HTTP(S) page or an authorized local HTML file in the system browser;
- retrieve selected local details such as the current time, operating system, or signed-in user;
- manage recurring jobs directly from chat; and
- connect to configured MCP servers for additional capabilities.
Create a persistent job with a five- or six-field Cron expression, a prompt, and an absolute working directory. On schedule, Chater starts a fresh agent in unattended execution mode—ideal for recurring checks, reports, or project maintenance.
Scheduled agents are deliberately constrained:
- shell execution is Docker or Podman only, with the working directory as its boundary;
- direct workspace file and folder tools are not available to the scheduled agent;
- the agent does not stop to ask interactive questions; and
- concise milestones and errors are appended to
chater-agent-job-<id>.login the working directory.
Ask Chater to notify you now or on a schedule. Choose the delivery that fits the moment:
- Native uses the operating system’s notification system.
- TopmostWindow opens a user-dismissible Chater window that stays on top, adapts to its content, follows the active light or dark theme, and renders the notification body as Markdown.
- Launch Chater.
- Open Settings and add an API provider, or connect a local Ollama instance.
- Select a model and a skill—or create a skill tailored to your work.
- Start chatting. Attach an image, select a workspace when local files matter, or ask the agent to create a notification or schedule.
- API keys remain local and are sent only to the provider endpoint you configure.
- Conversations and messages live in a local SQLite database that you can inspect and back up.
- Application logs are written under
logs/in the data directory for straightforward troubleshooting. - You can choose a custom data directory in General Settings and migrate existing local data to it.
- Tools are individually configurable, so you can keep an assistant conversational by default and enable action only when it is useful.
- .NET SDK 10.0 or later
- A desktop environment supported by Avalonia
- Provider credentials or a locally running Ollama instance
- Docker or Podman only if you plan to run scheduled agent jobs with shell access
dotnet restore Chater.slnx
dotnet run --project Chater/Chater.csprojOn first launch, Chater creates its database and support directories in the operating system’s application-data location. Change that location at any time in General Settings.
dotnet build Chater.slnx
dotnet test Chater.slnx --no-buildRelease build:
dotnet build Chater.slnx --configuration ReleaseCurrent publishing targets:
win-x64win-arm64osx-x64osx-arm64
See docs/release/build-and-artifacts.md for release and artifact guidance.
Chater/
├── AI/ Agents, skills, tools, conversations, and model calls
├── Data/ SQLite access, repositories, and migrations
├── Jobs/ Persistent Cron scheduling and unattended agent execution
├── Services/ Settings, logging, localization, notifications, and platform services
├── ViewModels/ MVVM presentation logic
└── Views/ Avalonia windows and settings pages
See LICENSE for licensing information.