MCPcopy
hub / github.com/YunYouJun/air-conditioner

github.com/YunYouJun/air-conditioner @main sqlite

repository ↗ · DeepWiki ↗
51 symbols 135 edges 33 files 9 documented · 18%
README

Air Conditioner

GitHub Pages

中文文档 | English Docs

云空调,便携小空调,为你的夏日带去清凉!

前世今生:云空调,便携小空调|云游君的小站

仓库 类型 链接
裸机 main ac.yunyoujun.cn
测试机 dev ac.yyj.moe
样板房 空调房 https://www.yunyoujun.cn/air-conditioner-room/

Features

优势

  • 🕐 随时随地打开空调
  • 📱 便携
  • 🔋 低功耗(使用 HTML CSS 而非 Canvas 绘制)
  • 🔊 静音
  • 🎮 操作简单
  • 🔧 安装便捷

劣势

  • 💨 没有风

安装

iframe

<iframe height="740" src="https://ac.yunyoujun.cn"></iframe>

您可以快速为您的网站安装空调。

样板房:空调房

上门服务

自行部署

Docker

部署时可使用以下环境变量进行配置自定义:

  • AC_NGINX_DOMAIN 指定域名
  • AC_NGINX_PORT 指定监听端口

腾讯云

使用 腾讯云 Webify 一键部署:

cloudbase

Dev

# 开发预览
# yarn dev
yarn start
# http://localhost:3000/

# 构建项目
yarn build
# ./build

环境变量

cp .env.example .env
# 关闭广告
VITE_DISABLE_ADSENSE=true

Todo

  • [x] 空调
  • [x] 能耗标签
  • [x] 温度范围(16-31˚C)
  • [x] 风 css
  • [x] 音效
    • [x] 按钮
    • [x] 工作声
    • [ ] 接入 喜马拉雅 更多音效
  • [x] 适应系统的亮暗模式

Ref

Sponsors

Extension points exported contracts — how you extend this code

AcState (Interface)
(no doc)
packages/react/src/types/ac.ts
TextLabelProps (Interface)
(no doc)
packages/react/src/components/ac/EnergyLabel.tsx
ToastState (Interface)
(no doc)
packages/react/src/context/toast.tsx

Core symbols most depended-on inside this repo

useAcCtx
called by 6
packages/react/src/context/ac.tsx
getAssetsUrl
called by 3
packages/react/src/utils/index.ts
useToastCtx
called by 3
packages/react/src/context/toast.tsx
consoleInfo
called by 2
packages/react/src/App.tsx
toggleMode
called by 2
packages/react/src/context/ac.tsx
recommendedSlogan
called by 2
packages/react/src/context/ac.tsx
useDetectStorage
called by 2
packages/react/src/hooks/useDetectStorage.ts
playDi
called by 1
packages/react/src/components/RemoteControl/RCButton.tsx

Shape

Function 48
Interface 3

Languages

TypeScript100%

Modules by API surface

packages/react/src/context/ac.tsx7 symbols
packages/react/src/components/ac/AirConditioner.tsx5 symbols
packages/react/src/context/toast.tsx4 symbols
packages/react/src/components/RemoteControl/index.tsx4 symbols
packages/react/src/App.tsx4 symbols
packages/react/src/components/ac/EnergyLabel.tsx3 symbols
packages/react/src/components/RemoteControl/temperature.ts3 symbols
packages/react/src/utils/adsense/google.tsx2 symbols
packages/react/src/pages/index.tsx2 symbols
packages/react/src/hooks/useDetectStorage.ts2 symbols
packages/react/src/components/RemoteControl/RCButton.tsx2 symbols
packages/react/src/components/ProTip.tsx2 symbols

Dependencies from manifests, versioned

@antfu/eslint-configcatalog: · 1×
@emotion/reactcatalog: · 1×
@emotion/styledcatalog: · 1×
@iconify-json/iccatalog: · 1×
@iconify-json/mdicatalog: · 1×
@mui/materialcatalog: · 1×
@playwright/testcatalog: · 1×
@types/nodecatalog: · 1×
@types/reactcatalog: · 1×
@types/react-domcatalog: · 1×
@types/react-gtm-modulecatalog: · 1×
@types/react-router-domcatalog: · 1×

For agents

$ claude mcp add air-conditioner \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact