4.5 KiB
4.5 KiB
applyTo
| applyTo |
|---|
| ** |
项目架构与关键信息
项目概览
- 类型: Tauri 2 应用
- 前端: SvelteKit + Tailwind CSS + Vite
- 后端: Rust 1.92.0+ (2024 edition)
- 包管理: Deno (前端) + Cargo (Rust)
- 主要功能: 利用 LLM 解析招标文件,拆解分析招标需求和关键点,按照招标文件要求生成投标文件草稿。
核心架构
bidding-agent/
├── src/ # SolidJS 前端应用入口
├── src-tauri/ # Tauri 主应用 (Rust)
├── crates/ # 辅助功能库:
│ └── agency # LLM控制库,提供Context、Memory功能
└── package.json # 前端依赖及任务配置
前后端通信
- 前端调用:
invoke("command_name", { args })(Tauri API) - 插件暴露 API:
package.json中本地路径依赖 (file:./tauri-plugin-*) - 所有插件命令必须通过
#[tauri::command]宏注册
关键约束
- Rust 版本: 严格要求 1.92.0+,使用 2024 edition
- 构建空间: 项目需要大量磁盘空间(Rust 编译特性),可用
cargo clean清理
开发工作流
启动开发环境
deno task tauri dev
- 启动 Vite 热重载 (端口 1420)
- 编译 Rust 后端
- 构建并运行应用
构建应用
deno task tauri build
清理缓存
cd src-tauri && cargo clean
使用此命令释放磁盘空间。
Git Commit Message 规范
Commit 格式
使用以下格式生成 Git Commit Messages:
<type>(<scope>): <subject>
<body>
<footer>
支持的 Type 标记
- feat: 新功能 (feature) - 用于新增前端页面或后端API
- fix: 修复 bug - 插件功能修复、前后端问题修复
- docs: 仅文档变更 (documentation)
- enhance: 功能增强/改进 - 性能优化、UI改进
- chores: 构建过程、依赖项更新等 (chore)
- refactor: 代码重构 (不改变功能)
- perf: 性能优化 - 标签渲染性能、扫描响应速度
- test: 添加或修改测试
- ci: CI/CD 配置变更
- style: 代码风格调整 (空格、格式等)
- revert: 撤销之前的提交
Subject 行规范
- 必须使用中文,简洁描述变更内容
- 不超过 50 个字符
- 使用祈使句 (如: "Add", "Fix", "Update" 而不是 "Added", "Fixed")
- 不以句号结尾
- 使用 scope 前缀指明影响范围:
feat(camera-plugin),fix(tag-renderer),enhance(scanner)
Body 规范 (可选)
- 必须使用中文,详细描述变更原因和内容
- 每行不超过 72 个字符或者 40 个汉字
- 用空行分隔 subject 和 body
- 解释 what 和 why,而不是 how
- 可以包含多个段落
Footer 规范 (可选)
- 引用相关的 Issue:
Closes #123,Fixes #456 - 标记破坏性变更:
BREAKING CHANGE: description
示例
feat(agency): 增加ContextBuilder实现
使用ContextBuilder简化上下文创建流程,支持链式调用,支持动态拼接提示词。
Closes #123
fix(camera-plugin): 解决Android系统上图片旋转的问题
修复摄像头插件图像旋转问题。摄像头插件未能根据设备方向
正确旋转图像,此修复确保在所有支持的 Android 设备上正确旋转。
Fixes #456
chores(deps): 更新 Tauri 相关依赖到最新版本
更新 tauri 和 tauri-cli 包版本,改进稳定性和安全性。
BREAKING CHANGE: 需要 Rust 1.70+ 支持
docs: 更新 README 中的安装说明
更新 README 中的安装说明
enhance(scanner): 优化条码检测速度
优化条码检测速度,提高扫描性能
通用代码规则
- 不要创建独立的Markdown文件或文档文件,除非有明确要求。
- 不要为示例、文档或摘要创建 .md 文件。
- 不要创建和修改相关功能的功能示例文件、实现总结文件、实现清单文件和ReadMe文件等。
- 仅修改现有代码文件或建议内联注释。
项目特定模式
- Rust 代码: 使用
snake_case命名函数和变量,使用PascalCase命名类型和枚举。 - Svelte 代码: 使用
camelCase命名变量和函数,使用PascalCase命名组件。 - Tailwind CSS: 使用 Tailwind 的实用类,不要编写自定义 CSS,除非必要。
- 模块划分: 将相关功能组织在同一模块中,避免过度拆分。
- 错误处理: Rust 代码中使用
Result类型进行错误处理,并使用?运算符简化错误传播。 - 文档注释: 使用 Rust 的文档注释 (
///) 和 Svelte 的注释 (<!-- -->) 来解释复杂逻辑和重要函数。