docs: rewrite README as product overview

This commit is contained in:
2026-07-22 15:29:39 +08:00
parent 47c3ac60d5
commit ab23a2d720

134
README.md
View File

@@ -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 未经用户确认,不创建正式内容。
- 项目标签和资料保持在各自项目范围内。
- 优先支持可信内部协作,不追求开放式公开分享。
- 保持清晰、克制和可掌控,让用户专注于真正的项目成果。