更新记录

1.0.0(2026-08-14) 下载此版本

1.1.0(2026-08-05)— 重构:model_type 拆分 & 代码清理

  • database.js / db-init.js / ai-service.js 适配 model_type(text/vision 分离)
  • ✅ 6 个页面适配 + model-manage 重构
  • ✅ 清理 deprecated getActiveModel() → 全项目零残留
  • db-init.js 删除无效 fallback 死代码(~32 行)
  • db-init.js 清理 vision_* 冗余列(DDL + 同步 + SQL)
  • ✅ 清理 usage-record.vue / inventory.vue 未使用的 nextTick 导入
  • ✅ 提取硬编码 '千问VL' 为配置常量 DEFAULT_MODEL_CONFIG.visionName
  • ✅ 清理 database.js deprecated getDefaultModel() / unused setDefaultModel()(App+MP 共 8 处)
  • ✅ 提取 adaptForMenuButton 到共享 composable useNavBarAdapt(6 页 → 1 处,含 statusBarHeight/navTotalHeight)
  • ✅ 清理 model-manage.vue 3 个未使用 CSS 类(.is-default.builtin-icon.default-tag);rpx/px 混用为 UniApp 合理模式,无需改

平台兼容性

uni-app(5.23)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
3.16.2 - - -

拾物空间 ItemBox

拾起万物 · 归整于心

基于 UniApp (Vue 3) + Vite 跨端开发的智能物品管理应用。通过 AI 视觉识图实现拍照即录,结合 AI 对话智能管理与查询库存,支持多模型切换配置。

功能特性

  • 拍照入库 — 拍照 / 相册多选(最多 9 张),AI 视觉自动识别物品名称、品牌、规格等信息,编辑确认后一键入库
  • 库存管理 — 分类彩色卡片网格展示,快捷 ± 数量调整,搜索筛选,库存预警
  • 物品详情 — 完整信息卡片,数量调整,编辑 / 删除,AI 问答入口
  • AI 助手 — 基于库存上下文的智能对话,支持流式输出与 Markdown 渲染(markdown-it + highlight.js)
  • 多模型管理 — 支持自定义文本 / 视觉模型配置,多模型灵活切换,内置模型申请指南
  • 使用记录 — 物品消耗记录与统计
  • 数据导入 — 支持外部数据导入

技术栈

分类 技术
框架 UniApp (Vue 3) + Vite 5
状态管理 Vue 3 reactive(轻量级,无需 Pinia/Vuex)
UI 组件 @dcloudio/uni-ui(easycom 自动引入)
样式 SCSS + rpx 响应式单位
AI 识图 多模态视觉模型(OpenAI 兼容接口)
AI 对话 流式输出 + 库存上下文注入
Markdown markdown-it + highlight.js
本地存储 App: SQLite(plus.sqlite)/ 小程序: Storage 降级
兼容平台 微信小程序 · Android App · H5

项目结构

ItemBox/
├── App.vue                        # 根组件,全局生命周期与样式
├── main.js                        # 入口文件
├── pages.json                     # 页面路由与 TabBar 配置
├── manifest.json                  # 应用配置(Android + 小程序)
├── uni.scss                       # 全局 SCSS 变量
├── vite.config.js                 # Vite 构建配置
├── config/
│   └── model.config.js            # AI Prompt 模板与默认模型配置
├── services/
│   ├── ai-service.js              # AI 识别与对话服务(流式输出)
│   ├── database.js                # 双端数据库适配(SQLite / Storage)
│   ├── db-init.js                 # 数据库初始化与表结构
│   └── image-service.js           # 图片拍照/压缩/存储服务
├── composables/
│   ├── useDate.js                 # 日期格式化
│   ├── useImage.js                # 图片处理
│   └── useNavBarAdapt.js          # 导航栏适配(状态栏高度)
├── components/
│   ├── BasePopup/                 # 通用弹窗组件
│   ├── EmptyState/                # 空状态占位
│   ├── ImageSwiper/               # 图片轮播
│   └── stat-card/                 # 统计卡片
├── pages/
│   ├── index/index.vue            # 首页 — 总览统计
│   ├── inventory/inventory.vue    # 库存 — 分类卡片网格
│   ├── ai-assistant/ai-assistant.vue  # AI 助手 — 智能对话
│   ├── item-detail/item-detail.vue    # 物品详情
│   ├── model-manage/model-manage.vue  # 模型管理
│   ├── model-form/model-form.vue      # 模型表单(新增/编辑)
│   ├── model-guide/model-guide.vue    # 模型申请指南
│   ├── usage-record/usage-record.vue  # 使用记录
│   └── import-data/import-data.vue    # 数据导入
├── uni_modules/                   # 第三方插件
│   ├── neo-ai-chat/               # AI 对话流式请求
│   ├── mp-html/                   # Markdown HTML 渲染
│   ├── liang2uv-sse/              # SSE 流式事件
│   ├── uni-icons/                 # 图标组件
│   └── uni-scss/                  # UniApp SCSS 变量
├── common/
│   ├── _shared.scss               # 共享样式
│   └── _tokens.scss               # 设计令牌
└── static/                        # 静态资源(图标、图片)

快速开始

环境要求

  • Node.js >= 18
  • npm 或 yarn
  • 微信开发者工具(小程序预览)
  • HBuilderX(Android App 打包)

安装依赖

npm install

如果遇到依赖冲突,使用 npm install --legacy-peer-deps

开发运行

# H5 浏览器预览(最快验证)
npm run dev:h5

# 微信小程序(需微信开发者工具导入 dist/dev/mp-weixin)
npm run dev:mp-weixin

# Android App(需 HBuilderX 打包运行)
npm run dev:app

构建打包

# H5
npm run build:h5

# 微信小程序
npm run build:mp-weixin

# Android App
npm run build:app

AI 模型配置

本项目不内置任何模型 API Key,需自行申请并配置后使用。

  1. 启动应用后进入 模型管理 页面
  2. 点击「添加自定义模型」,填写模型名称、API 地址、模型名称和 API Key
  3. 分别配置文本模型(用于 AI 对话)和视觉模型(用于图片识别)
  4. 支持多模型配置,可随时切换激活模型

默认配置兼容 OpenAI 接口格式(如 https://api.openai.com/v1/chat/completions),也支持通义千问、智谱等兼容接口。

参与贡献

  1. Fork 本仓库
  2. 新建 feat/xxx 分支
  3. 提交代码
  4. 新建 Pull Request

许可证

MIT License

更新日志

详见 changelog.md

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。