# taskstack **Repository Path**: guda/taskstack ## Basic Information - **Project Name**: taskstack - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-03 - **Last Updated**: 2025-12-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TaskStack **AI-Native Desktop Application** - 构建在大模型之上的智能桌面应用 TaskStack 是一款基于 Electron + React + TypeScript 开发的桌面应用,专注于使用 AI 来管理项目、文档和电子表格。 ## 功能特性 ### 核心功能 - **项目管理**: 创建和管理多个项目,每个项目可包含多个分类和文档 - **AI 驱动的表格处理**: 通过自然语言指令创建、编辑和分析电子表格 - 🆕 **HyperFormula 引擎**: 支持 450+ Excel 函数,包括 SUM、AVERAGE、IF、VLOOKUP 等 - 🆕 **公式计算**: 自动计算单元格公式,支持跨单元格引用和依赖更新 - 🆕 **智能类型转换**: Excel 导入时自动识别数值类型,确保公式正确计算 - **文档解析**: 支持上传和解析 PDF、Word (docx/doc)、Excel (xlsx/xls) 文件 - 🆕 **自动创建文档**: 上传 Excel 自动创建电子表格,上传 Word 自动创建 Markdown 文档 - 🆕 **智能去重**: 同名文档自动添加后缀(如 "表格(2)"),避免覆盖 - **跨项目数据访问**: AI 可以访问和分析不同项目中的文档和表格数据 - **对话历史**: 保存和加载 AI 对话历史 - 🆕 **UI 自动刷新**: 文档操作后自动更新界面,无需手动刷新 ### AI 提供商支持 - **Ollama** (本地模型): llama3.2, qwen2.5, deepseek-coder 等 - **OpenAI**: GPT-4o, GPT-4, GPT-3.5-turbo - **Anthropic Claude**: claude-sonnet-4, Claude 3 系列 - **通义千问**: qwen-plus, qwen-turbo, qwen-max - **DeepSeek**: deepseek-chat, deepseek-coder ### Python 引擎 (可选) 启用 Python 引擎后,AI 可以执行高级数据分析,包括: - 数据统计分析 - 数据可视化图表 - 机器学习模型 - 自定义数据处理脚本 ## 技术栈 | 类别 | 技术 | |------|------| | 框架 | Electron 28 | | 前端 | React 18 + TypeScript 5 | | 样式 | Tailwind CSS 3 | | 构建 | Vite 5 | | AI SDK | OpenAI SDK, Anthropic SDK, Ollama SDK | | 文档处理 | pdf-parse, mammoth, xlsx | | 🆕 公式引擎 | HyperFormula (450+ Excel 函数) | ## 项目结构 ``` taskstack/ ├── src/ │ ├── main/ # Electron 主进程 │ │ ├── index.ts # 主进程入口,IPC 处理器 │ │ ├── preload.ts # 预加载脚本,暴露 API 给渲染进程 │ │ └── services/ │ │ ├── ai-service.ts # AI 服务,多模型支持 │ │ ├── config-store.ts # 配置存储 │ │ ├── document-parser.ts # 文档解析器 │ │ ├── project-service.ts # 项目管理服务 │ │ ├── python-bridge.ts # Python 引擎桥接 │ │ ├── spreadsheet-service.ts # 电子表格服务 │ │ └── workspace-agent.ts # 工作空间 AI 代理 │ │ │ ├── renderer/ # 渲染进程 (React) │ │ ├── App.tsx # 应用主组件 │ │ ├── main.tsx # 渲染进程入口 │ │ └── components/ │ │ ├── ChatView.tsx # 聊天视图 │ │ ├── ChatInput.tsx # 聊天输入 │ │ ├── ChatMessage.tsx # 消息组件 │ │ ├── SettingsModal.tsx # 设置弹窗 │ │ ├── Sidebar.tsx # 侧边栏 │ │ ├── TitleBar.tsx # 标题栏 │ │ └── WorkspaceView.tsx # 工作空间视图 │ │ │ └── shared/ # 共享类型定义 │ └── types.ts │ ├── dist/ # 编译输出 ├── release/ # 打包输出 ├── package.json ├── tsconfig.json ├── tsconfig.main.json ├── tailwind.config.js └── vite.config.ts ``` ## 开发 ### 环境要求 - Node.js >= 18 (推荐 v22.x) - npm >= 9 - (可选) Python >= 3.8 (用于高级数据分析) ### 快速开始 ```bash # 1. 克隆仓库 git clone https://gitee.com/guda/taskstack.git cd taskstack # 2. 安装依赖 npm install # 3. 启动开发模式 (两个终端) # 终端 1: 启动 Vite 开发服务器 npm run dev:renderer # 终端 2: 编译并启动 Electron npm run build:main && NODE_ENV=development npx electron dist/main/main/index.js ``` ### 开发模式 ```bash # 同时启动渲染进程和主进程 npm run dev # 或分别启动 npm run dev:renderer # 启动 Vite 开发服务器 (http://localhost:5173) npm run dev:main # 编译并启动 Electron ``` ### 构建 ```bash # 构建所有 npm run build # 仅构建渲染进程 npm run build:renderer # 仅构建主进程 npm run build:main ``` ### 打包 ```bash # 打包当前平台 npm run package # 打包 macOS npm run package:mac # 打包 Windows npm run package:win ``` ### Python 引擎设置 (可选) 如果需要使用高级数据分析功能,需要设置 Python 环境: ```bash # 创建虚拟环境 cd python python3 -m venv venv # 激活虚拟环境 # macOS/Linux: source venv/bin/activate # Windows: .\venv\Scripts\activate # 安装依赖 pip install -r requirements.txt ``` 在应用中启用 Python 引擎后,AI 可以执行 pandas 数据分析、生成图表等高级操作。 ## AI Actions 系统 WorkspaceAgent 使用 Action 系统与 AI 交互。AI 可以返回以下 action 类型: | Action | 描述 | |--------|------| | `create_spreadsheet` | 创建新表格(仅结构) | | `add_rows` | 向表格添加数据行 | | `update_cell` | 更新单元格 | | `delete_row` | 删除行 | | `add_column` | 添加列 | | `list_projects` | 列出所有项目 | | `list_project_documents` | 列出项目文档 | | `get_document_content` | 获取文档内容 | | `get_spreadsheet_data` | 获取表格数据 | | `create_document` | 创建文档 | | `run_analysis` | 运行 Python 分析 | | `message` | 返回消息给用户 | ## 配置 应用配置存储在系统用户数据目录: - macOS: `~/Library/Application Support/taskstack/config.json` - Windows: `%APPDATA%/taskstack/config.json` - Linux: `~/.config/taskstack/config.json` ### AI 配置示例 ```json { "ai": { "defaultProvider": "ollama", "ollama": { "baseUrl": "http://localhost:11434", "defaultModel": "llama3.2" }, "openai": { "apiKey": "sk-...", "defaultModel": "gpt-4o" }, "claude": { "apiKey": "sk-ant-...", "defaultModel": "claude-sonnet-4" } } } ``` ## 文档 - **[更新日志](./CHANGELOG.md)** - 查看最新功能和 Bug 修复 - **[电子表格技术文档](./docs/SPREADSHEET_TECHNICAL.md)** - 详细的技术实现说明 - **[用户指南](./docs/USER_GUIDE.md)** - 功能使用指南 - **[测试指南](./TESTING.md)** - 测试说明 - **[开发指南](./CLAUDE.md)** - 开发者指南 ## 最近更新 (2024-12-11) ### 🎉 新功能 - ✅ Excel/Word 文件自动创建文档功能 - ✅ 文档列表自动刷新 - ✅ HyperFormula 公式引擎集成 (450+ 函数) ### 🐛 Bug 修复 - ✅ 修复公式计算结果为 0 的问题(数值类型转换) - ✅ 修复同一对话中多次创建表格失败的问题 - ✅ 优化同名文档处理 详见 [CHANGELOG.md](./CHANGELOG.md) ## 许可证 MIT