docs: rewrite README as product overview
This commit is contained in:
134
README.md
134
README.md
@@ -1,100 +1,98 @@
|
||||
# 森林AI
|
||||
<p align="center">
|
||||
<img src="docs/senlinai-icon.svg" width="88" alt="森林AI Logo" />
|
||||
</p>
|
||||
|
||||
森林AI 是一个以项目为中心的私有化工作台 MVP。
|
||||
<h1 align="center">森林AI</h1>
|
||||
|
||||
## 本地开发
|
||||
<p align="center">以项目为中心的私有化智能工作台,让任务、资料、信息收集和 AI 协作在同一个空间自然生长。</p>
|
||||
|
||||
启动本地 PostgreSQL:
|
||||
## 产品简介
|
||||
|
||||
```powershell
|
||||
docker compose -f infra/docker-compose.yml up -d
|
||||
```
|
||||
森林AI 面向个人知识工作者、团队负责人和可信的内部协作成员,帮助用户把分散的事项、资料与沟通内容整理到清晰的项目空间中。
|
||||
|
||||
启动后端 API:
|
||||
每个项目都有独立的概况、Inbox、工作计划、AI 助手、笔记资料和计划任务。用户既可以在工作台查看所有项目的整体进展,也可以进入具体项目,围绕目标持续收集信息、安排工作、沉淀知识并复盘成果。
|
||||
|
||||
```powershell
|
||||
Set-Location backend
|
||||
go run ./cmd/api
|
||||
```
|
||||
## 适用场景
|
||||
|
||||
启动 Web 客户端:
|
||||
- 个人同时推进多个长期项目,需要统一查看待办和知识资料。
|
||||
- 团队负责人希望快速了解各项目状态、未完成计划和重点事项。
|
||||
- 内部团队需要在可控环境中使用 AI,并保留人工确认环节。
|
||||
- 研究、咨询、产品、运营等工作需要把零散输入逐步转化为任务、笔记和资料。
|
||||
- 项目文件、讨论背景和执行计划分散在不同工具中,希望集中管理。
|
||||
|
||||
```powershell
|
||||
Set-Location apps/web_v1
|
||||
npm run dev
|
||||
```
|
||||
## 核心功能
|
||||
|
||||
## 后端配置
|
||||
### 统一工作台
|
||||
|
||||
后端配置不再从多个环境变量直接读取,而是从 `backend/etc/agent.<mode>.yaml` 读取。
|
||||
工作台汇总所有项目的数量、未完成计划、AI 会话和知识资料,并集中展示跨项目待办。用户可以直接查看和编辑任务,也可以调整任务所属项目、标签与完成状态。
|
||||
|
||||
配置模式由环境变量 `SENLIN_APP_MODE` 决定:
|
||||
### 独立项目空间
|
||||
|
||||
- 未设置 `SENLIN_APP_MODE` 时,默认读取 `backend/etc/agent.dev.yaml`。
|
||||
- 设置 `SENLIN_APP_MODE=prod` 时,读取 `backend/etc/agent.prod.yaml`。
|
||||
- 设置其他值时,按同样规则读取 `backend/etc/agent.<value>.yaml`。
|
||||
每个项目拥有自己的名称、图标、背景、简介和访问标识。项目概况页集中呈现进行中任务、已完成任务、笔记资料和计划任务,让项目当前状态一目了然。
|
||||
|
||||
默认开发配置文件:
|
||||
### Inbox 信息收集与整理
|
||||
|
||||
```text
|
||||
backend/etc/agent.dev.yaml
|
||||
```
|
||||
Inbox 用于承接尚未归类的想法、消息和材料。用户可以查看原始内容,让 AI 提供任务、笔记或资料建议,再自行勾选并确认创建。分析结果只是候选草稿,不会未经确认直接写入项目。
|
||||
|
||||
配置字段:
|
||||
### 工作计划与项目标签
|
||||
|
||||
- `env`: 运行环境,例如 `development`。
|
||||
- `port`: API 监听端口,默认开发值为 `8080`。
|
||||
- `dsn`: PostgreSQL 连接串。不要提交真实生产或测试凭据。
|
||||
- `storage_dir`: 服务端本地文件存储目录。
|
||||
- `auth_secret`: 邀请 token 和 session token 的 HMAC 密钥。
|
||||
- `system_ai_key`: 可选的系统级 AI provider fallback key。
|
||||
- `ai_key_encryption_secret`: 用户 AI key 静态加密密钥。
|
||||
任务按项目组织,可记录标题、说明、标签、负责人、创建时间和完成状态。项目内标签帮助用户按主题或优先级整理计划,同时保留进行中与已完成事项,方便跟进和复盘。
|
||||
|
||||
## 前端
|
||||
### AI 助手
|
||||
|
||||
Web 客户端使用 React、TypeScript、Vite 和 Arco Design。登录界面允许用户输入服务器 IP 地址或域名,并将其保存为 API base URL。
|
||||
用户可以在项目内创建带有项目背景的 AI 会话入口,提前明确本次协作的目标和参考上下文。AI 输出与正式项目内容相互区分,需要用户确认后才能转化为任务、笔记或资料。
|
||||
|
||||
## 桌面端
|
||||
### 笔记与资料管理
|
||||
|
||||
桌面端使用 Tauri 包装 Web 客户端。
|
||||
项目中的笔记、文档、图片、表格、PDF 和其他附件集中展示,并按更新时间浏览。资料与项目保持关联,减少文件散落和反复查找。
|
||||
|
||||
构建桌面可执行文件:
|
||||
### 计划任务
|
||||
|
||||
```powershell
|
||||
Set-Location apps/desktop
|
||||
npm run build
|
||||
```
|
||||
用户可以为项目登记周期性计划和提醒安排,查看启用状态、最近时间与下次时间。计划任务用于帮助团队建立稳定节奏,不会自行替用户执行 AI 工作。
|
||||
|
||||
生成安装包:
|
||||
### 项目内搜索
|
||||
|
||||
```powershell
|
||||
Set-Location apps/desktop
|
||||
npm run bundle
|
||||
```
|
||||
通过顶部搜索框快速查找项目、任务和笔记,并在结果中确认内容及所属项目,缩短在多个项目之间定位信息的时间。
|
||||
|
||||
## 验证
|
||||
## 典型使用流程
|
||||
|
||||
后端:
|
||||
1. 创建项目,补充项目名称、图标、背景和目标说明。
|
||||
2. 将临时想法、会议内容或待整理材料放入 Inbox。
|
||||
3. 使用 AI 分析内容,选择合适的任务、笔记或资料建议。
|
||||
4. 人工核对并确认,将候选内容转为正式项目对象。
|
||||
5. 在工作计划中安排和更新任务,在笔记资料中持续沉淀成果。
|
||||
6. 通过项目概况和统一工作台掌握进展,及时处理跨项目待办。
|
||||
|
||||
```powershell
|
||||
Set-Location backend
|
||||
go test ./... -v
|
||||
```
|
||||
## 产品亮点
|
||||
|
||||
Web:
|
||||
### 项目即上下文
|
||||
|
||||
```powershell
|
||||
Set-Location apps/web_v1
|
||||
node scripts/visual-check.mjs
|
||||
npm run build
|
||||
npm run lint
|
||||
```
|
||||
任务、资料、AI 会话与收集内容都围绕项目组织。用户无需在多个孤立工具之间重复解释背景,项目本身就是持续积累的工作上下文。
|
||||
|
||||
桌面端:
|
||||
### 从零散输入到正式成果
|
||||
|
||||
```powershell
|
||||
Set-Location apps/desktop
|
||||
npm run build
|
||||
```
|
||||
森林AI 不只保存信息,还提供从 Inbox 收集、AI 分析、人工筛选到正式创建的完整整理路径,让模糊想法逐步变成可执行计划和可复用知识。
|
||||
|
||||
更多验证说明见 `docs/mvp-verification.md`。
|
||||
### AI 辅助,用户决策
|
||||
|
||||
AI 负责提供建议,用户保留最终决定权。任何正式任务、笔记或资料都需要确认后创建,既获得智能辅助,也避免自动化越权和错误沉淀。
|
||||
|
||||
### 全局视角与项目专注并存
|
||||
|
||||
工作台适合掌握全局,项目空间适合深入执行。用户可以在跨项目统筹和单项目专注之间快速切换,不会失去上下文。
|
||||
|
||||
### 数据边界清晰
|
||||
|
||||
森林AI 面向私有化使用场景,强调数据自有、访问可控和项目范围内的信息组织,适合重视资料安全与内部协作边界的用户和团队。
|
||||
|
||||
### 轻量但完整的工作闭环
|
||||
|
||||
从收集、整理、计划、执行到知识沉淀,核心能力集中在一个清晰的工作台中。产品保持轻量,不以复杂流程增加使用负担。
|
||||
|
||||
## 产品原则
|
||||
|
||||
- 以项目为中心,让信息始终有明确归属。
|
||||
- AI 未经用户确认,不创建正式内容。
|
||||
- 项目标签和资料保持在各自项目范围内。
|
||||
- 优先支持可信内部协作,不追求开放式公开分享。
|
||||
- 保持清晰、克制和可掌控,让用户专注于真正的项目成果。
|
||||
|
||||
Reference in New Issue
Block a user