Skip to content

cPilot-GUI/Amis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amis

Language: English | 中文

Local AI platform and edge inference infrastructure for personal devices.

Amis is One-token's desktop product for running local models, using agents, managing local/cloud AI routes, and packaging local AI workflows into a product experience. This repository contains the Electron desktop app, local runtime integration code, prompt-routing packages, release tooling, and product/engineering documentation.

Product · Architecture · Development · Release · Docs

What Is Amis?

Amis is not just another local model runner, and it is not just another chatbot.

It is designed as an Agent Station and Token Hub:

  • Model Hub: discover, download, deploy, and manage local models.
  • Agent Hub: connect local and cloud agents such as OpenClaw and Hermes.
  • Prompt Router: decide whether a request should stay on edge, use cloud, or use edge with fallback.
  • Runtime Metrics: keep local model runtime data in the desktop app instead of scattering it across services.
  • Desktop UX: make local AI feel like an app people can use daily, not a terminal setup.

The product goal is simple:

Make local AI usable, visible, and controllable on the device people already own.

Product Direction

Amis v1.1.5 is shaped around three product themes from the product overview and PRD:

  1. Conversation experience upgrade

    • assistant/topic organization;
    • richer chat input controls;
    • file attachments and long-content handling;
    • better code and streaming output handling.
  2. Local inference visibility

    • Model Hub deployment state;
    • runtime metrics and token/performance tracking;
    • clearer model download and deployment flows;
    • hardware-aware local model operation.
  3. Developer and team access

    • OpenAI-compatible local API direction;
    • SK Code / LAN authorization as the Pro workflow direction;
    • prompt-router packages for edge/cloud route decisions;
    • CI and packaging paths for real runtime validation.

Some items are product direction rather than fully public interfaces. Public claims should be updated only after the release build, docs, and tests verify the path end to end.

Current Repository Status

  • Repository: cPilot-GUI/Amis-test
  • Visibility: private
  • App version: 1.1.5
  • App ID: net.cpilot.app
  • Product name: Amis
  • Current platform support: macOS and Linux
  • Windows: coming soon
  • Frontend: React 18 + TypeScript + TailwindCSS
  • Desktop runtime: Electron + electron-vite
  • Local data: SQLite through native desktop dependencies
  • Routing packages: uncommon-route-ts, @qianyichen/sensitive-router, router-orchestrator

The old Flask/Python web-app README has been replaced because the current repository is an Electron desktop app and no longer contains the previous auth_api.py, cPilot_local_server.py, or wechat_integration.py files.

Architecture

flowchart TB
    user["User"]
    app["Amis Electron App"]
    renderer["React Renderer"]
    main["Electron Main"]
    router["Prompt Router Packages"]
    runtime["Local Runtime / OpenClaw / Hermes"]
    models["Model Hub and Downloads"]
    metrics["Runtime Metrics Store"]
    cloud["Cloud Providers"]

    user --> app
    app --> renderer
    renderer --> main
    main --> router
    main --> runtime
    main --> models
    main --> metrics
    router --> cloud
    router --> runtime
Loading

Key areas:

  • src/main: Electron main process, runtime lifecycle, credentials, prompt routing, local metrics, gateway integration.
  • src/preload: safe renderer-to-main bridge.
  • src/renderer/src: React UI, pages, services, and app state.
  • packages/prompt-router: host-agnostic route decision packages.
  • resources/model-download: bundled model-download worker resources.
  • docs: product notes, release records, CI runbooks, runtime migration docs, and governance.
  • openspec: structured proposals and specs for product/engineering changes.

Development

Requirements

  • Node.js 25.9.0 as specified by .nvmrc
  • npm
  • macOS or Linux for current supported development and runtime paths
nvm use
npm install

npm install runs native rebuild and prompt-router build steps through postinstall.

Environment

Start from the example config:

cp config.env.example .env

Important values:

  • VITE_CPILOT_API_URL
  • VITE_QWEN_API_URL
  • VITE_QWEN_API_KEY
  • VITE_DEBUG
  • VITE_FRONTEND_PORT

Do not commit real API keys, auth tokens, model credentials, or local runtime secrets.

Run

npm run dev

Renderer-only development:

npm run dev:web

Checks

npm run typecheck
npm run lint
npm run build

Release And Packaging

Current supported release targets are macOS and Linux. Windows is coming soon and should not be described as a currently supported public release target.

macOS packaging commands:

npm run pack:mac:dir
npm run pack:mac:dmg
npm run pack:mac:zip
npm run pack:mac:release

Unsigned local macOS package:

CPILOT_SKIP_NOTARIZE=1 npm run pack:mac:dmg:unsigned

Local unsigned builds are for developer or internal validation only. After packaging, inspect the bundled runtime and then run the packaged-app smoke helper:

npm run inspect:packaged:mac
npm run test:packaged:mac -- --no-open --no-tail

If macOS Gatekeeper blocks a locally built unsigned app, use one of these explicit local install authorization paths only after you trust the checkout and build output:

xattr -dr com.apple.quarantine dist/mac-arm64/Amis.app
spctl --assess --type execute --verbose dist/mac-arm64/Amis.app || true
open dist/mac-arm64/Amis.app

Alternatively open System Settings → Privacy & Security and choose Open Anyway for the blocked Amis app. Public release builds should use the signed/notarized npm run pack:mac:release path instead of the unsigned local flow.

The repository currently contains a Windows packaging script, but Windows support is not part of the current public support matrix:

npm run pack:win

Release records should be added under docs/releases/ before the README links to them. This checkout currently uses the documentation index below as the source of truth for available docs.

Development and Documentation Workflow / 开发与文档工作流

This README is the public project entry point. Repo-local agent/developer rules live in AGENTS.md, with compact implementation details in HARNESS.md. Keep both short so future agents can load stable guidance with low prompt overhead.

English workflow:

  • Start from AGENTS.md, then HARNESS.md for code/test work, then docs/README.md for documentation navigation.
  • Use the architecture map and runtime flows as current-state evidence, not refactor authorization.
  • Use ADR for architecture decisions, SRS for requirements and verification methods, and SDD/views for implementation design viewpoints.
  • Use Mermaid only with the GitHub/Obsidian-safe rules in docs/guides/documentation-standards.md.
  • Keep published docs bilingual and verify links, language switches, Mermaid safety, whitespace, and structure checks before handoff.

中文工作流:

  • 先读 AGENTS.md;涉及代码/测试时再读 HARNESS.md;查文档入口时读 docs/README.md
  • Architecture map 和 runtime flows 是现状证据,不是重构授权。
  • 架构决策写 ADR;需求和验证方法写 SRS;实现前设计视图写 SDD/views。
  • Mermaid 必须遵守 docs/guides/documentation-standards.md 中的 GitHub/Obsidian 兼容规则。
  • 公开文档保持中英文同步;交付前验证 links、language switches、Mermaid safety、whitespace 和 structure checks。

Documentation

English:

中文:

OpenSpec proposals:

Open Source Boundary

The intended open-source story is layered:

  • Open: product entry points, desktop app surfaces, docs, examples, route contracts, plugin/spec directions, integration guidance, compatibility notes, and reproducible release records.
  • Protected: proprietary inference optimizations, commercial authorization modules, partner-specific runtime internals, and unreleased engine details.

When writing public docs, avoid unsupported performance claims. If a benchmark is mentioned, include the model, hardware, runtime version, prompt/output shape, and reproduction method.

About One-token

One-token is an edge intelligence infrastructure company for the AI and Agent era. We focus on edge inference engines, local intelligence platforms, and integrated software-hardware capabilities.

Contact: contact@cpilot.net

About

🖥️ Local AI platform & Edge inference infrastructure. Desktop Agent Station and Token Hub built with Electron, React, and TypeScript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors