Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

ClanKit · Official Website: clankit.app

English | 简体中文

A local-first, multi-LLM desktop workspace for chat, agent collaboration, and tool orchestration.

Built with Electron and Vue 3. Runs Anthropic, OpenRouter, OpenAI-compatible, DeepSeek, Google, and any custom provider you wire up — side by side, in the same app.


Demo

Watch the ClanKit demo on YouTube

Prefer Bilibili? See the Chinese README.


Features

Meet your agents. Shape every detail.

Agent roster

A roster on one side, full anatomy on the other — every part configurable. Browse every persona at a glance: pinned favourites, recents, and the full library. Switch in one tap.

Configure every part — visually.

Agent body view

Brain · model · voice · memory · skills · tools · MCP · RAG. Click any body part on the anatomy view to jump straight to its config — no buried menus.

Understand the person, not just the words.

Persona analysis

Once you import a digital twin, persona analysis surfaces values, decision style, emotional tells, recurring concerns, even relationship dynamics. Every claim links back to evidence in the original messages.

Role-play.

Role-play

Drop fictional personas into your own life — and watch the chaos. Mix invented characters with your own user profile, then let them gossip across timelines. Pure absurd-comedy fuel: script ideas, role-play sessions, party games at 2am.

Pick up the phone and talk to your agent.

Voice call

Real-time voice for hands-free work. Brainstorm on a walk, dictate a report, run a code review while cooking. Local STT, LLM streaming, on-device synthesis. Push-to-talk or continuous live call mode, group voice with multiple agents on one call, and a searchable transcript that stays after the call.

One Markdown, two homes that stay in sync.

Obsidian sync

Author drafts inside ClanKit, or open your existing Obsidian vault — same files, same folders, two-way sync. Edit on either side and the other catches up.

Focus mode — just you, the page, and an agent on call.

Focus mode

Hide the navigation, the chat, every panel — the writing surface takes over the screen, and any agent stays one keystroke away.


Highlights

Chat & agents

  • Multi-provider, multi-model — per-chat and per-agent model override
  • Multi-agent system with distinct personas, skills, and tools per agent
  • Group chat with multi-agent collaboration and @mention routing
  • Full per-agent isolation: prompts, skills, MCP servers, HTTP tools, RAG context

Tool use & automation

  • Agentic tool-use loop (filesystem, shell, git, web, data processing, planning)
  • MCP server integration
  • HTTP tools (bring your own REST endpoints as first-class tools)
  • Voice pipeline (STT / TTS with usage accounting)

Knowledge & content

  • RAG workflows with local vector storage and hybrid search
  • Skills system (local filesystem + remote skill hub)
  • AI docs workspace (markdown + office/drawing helpers)
  • AI news view with configurable feed aggregation

Platform

  • Windows and macOS installers
  • Local-first — your chats, agents, knowledge base, and API keys live on disk. The only network calls are the ones you configure (provider APIs, MCP servers) plus a single anonymous install ping you can opt out of in the setup wizard or in Config → Security
  • Built-in i18n (English / Chinese)

Installation

Pre-built installers

Download the latest release from the Releases page:

  • Windows: .exe installer (NSIS)
  • macOS: .dmg (Intel + Apple Silicon)

From source

git clone https://github.com/XiamiYoung/ClanKit.git cd ClanKit npm install npm run dev

This starts Vite and launches Electron. Renderer changes hot-reload; changes under electron/ require restarting the app.

Requirements: Node.js 18+, npm.

Optional backend services. ClanKit ships with an optional cloud account / telemetry backend hosted at api.clankit.app. When building from source, you don't need it — the app runs in guest mode with all core features (chat, agents, MCP, knowledge base, voice) available locally. To opt out completely, leave electron/build-config.dev.json empty or absent (see electron/build-config.example.json for the schema).


Quick Start

  1. Launch the app.
  2. Open ConfigProviders and add at least one provider (Anthropic, OpenRouter, OpenAI, etc.) with its API key.
  3. Pick a default model.
  4. Go to Chats and start a conversation.

All credentials are stored locally in config.json (see Data location below). They never leave your machine unless you explicitly call a provider.


Scripts

CommandWhat it does
npm run devStart Vite dev server and launch Electron
npm testRun the Vitest suite
npm run buildBuild the renderer into dist/
npm run previewPreview the built renderer in a browser
npm run electronLaunch Electron against the current build / dev setup
npm run dist:winPackage a Windows NSIS installer into dist-release/
npm run dist:macPackage a macOS DMG into dist-release/
npm run dist:allPackage both Windows and macOS

Building Installers

The dist scripts compile Electron main-process JS to V8 bytecode before packaging, then restore the source files:

npm run dist:win # Windows NSIS installer npm run dist:mac # macOS DMG npm run dist:all # Both

On Windows without a code-signing certificate, skip signing to avoid symlink errors:

set CSC_IDENTITY_AUTO_DISCOVERY=false && npm run dist:win

Each dist command runs: (1) vite build — build the Vue renderer, (2) electron-builder — package the app (asar with JS source).


Releases

Pushing a version tag triggers GitHub Actions to build installers for Windows and macOS and publish them as a GitHub Release:

npm version patch git push && git push --tags

Data Location

Default user data directory:

  • Windows: %APPDATA%\clankit\data
  • macOS: ~/Library/Application Support/clankit/data
  • Linux: ~/.config/clankit/data

Override via the CLANKIT_DATA_PATH environment variable (set it in your shell before launching the app, e.g. set CLANKIT_DATA_PATH=... && npm run dev on Windows or CLANKIT_DATA_PATH=... npm run dev on macOS/Linux).

Typical files inside the data directory:

  • config.json — app settings, providers, model defaults
  • agents.json — agent definitions
  • tools.json — HTTP tool definitions
  • mcp-servers.json — MCP server config
  • knowledge.json — knowledge-base index
  • chats/index.json, chats/<id>.json — chat metadata and transcripts

Other runtime path settings (skillsPath, DoCPath, artifactPath) live in config.json.


Routes

The app uses hash-based routing for Electron compatibility:

/chats, /agents, /skills, /knowledge, /mcp, /tools, /notes, /tasks, /ai-tasks, /news, /auth, /config


Project Layout

ClanKit/
├── electron/              # Main process (Node.js, CommonJS)
│   ├── main.js            # App bootstrap
│   ├── preload.js         # contextBridge API surface
│   ├── ipc/               # IPC handlers (18 modules)
│   ├── agent/             # Agent loop, model clients, tools, MCP
│   ├── im-bridge/         # External IM bridges
│   └── ...
├── src/                   # Vue renderer (ES modules)
│   ├── views/             # Pages
│   ├── components/        # Chat UI, layout, common controls
│   ├── composables/       # useSendMessage, useChunkHandler, etc.
│   ├── stores/            # Pinia stores
│   ├── services/          # storage.js — IPC abstraction
│   └── i18n/              # Locale dictionaries
├── build/icons/           # App icons for packaging
└── scripts/               # Build and runtime scripts

Deeper architecture, IPC protocol, agent execution pipeline, and collaboration loop invariants live in source comments next to the code (electron/agent/agentLoop.js, electron/ipc/agent.js, src/composables/useChunkHandler.js).


Tech Stack

Electron 31 · Vue 3.4 (Composition API) · Pinia 2 · Vue Router 4 · Vite 5 · Tailwind CSS 3.4 · Marked + highlight.js + DOMPurify · TipTap · Babylon.js.


Development Notes

  • Renderer changes support Vite HMR.
  • Changes under electron/ require restarting the app process (no Electron hot-reload).
  • All new UI strings must go through the i18n dictionary (src/i18n/index.js); code and comments are English-only.
  • Hash-based routes only — do not use history-mode routing.

Contributing

Bug reports and pull requests are welcome. See CONTRIBUTING.md for how to propose changes, the license terms attached to contributions, and the project's coding conventions.

For security vulnerabilities, please do not open a public issue — see SECURITY.md for the private disclosure channel.


Acknowledgements

  • Speech DNA / persona-extraction pipeline — the design under electron/agent/chatImport/ (Speech DNA extractor, persona builder, claim/evidence flow) is inspired by Nuwa-Skill.

License

ClanKit is open source under the Apache License 2.0.

You are free to use, modify, and redistribute this software, including for commercial purposes, under the terms of the license. The "ClanKit" name and logo are trademarks and are not covered by the license — see Section 6 of the LICENSE file and the NOTICE file.

关于 About

An AI destkop application for coding, generic AI use, knowledge collecting etc.

语言 Languages

JavaScript63.6%
Vue34.4%
HTML1.3%
Python0.7%
CSS0.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
59
Total Commits
峰值: 29次/周
Less
More

核心贡献者 Contributors