项目管理可视化中心应用Ideon

简介

什么是 Ideon?

Ideon 是一个自托管的可视化工作区,旨在成为项目所需一切的视觉中心。它允许用户在画布上放置结构化块,以保持项目在概念上的可导航性,而不是取代 GitHubNotionFigma 等工具,而是将重要部分同时放置在同一空间中。

主要特点

  • **块 (Blocks)**:每个块代表一个具体的事物,例如 GitHub 仓库、调色板、联系人/利益相关者、链接或文件、纯文本等。
  • **空间组织 (Spatial organization)**:用户可以决定哪些内容是接近的、哪些是独立的、哪些是相互依赖的。
  • **状态历史 (State history)**:工作区具有快照功能,可以跟踪决策随时间演变的过程。
  • **多人协作 (Multiplayer collaboration)**:支持团队成员实时协作处理项目。

应用场景

  • 项目管理:适合需要集中管理多个项目的团队,帮助成员跟踪项目进展和状态。
  • 头脑风暴:便于收集和组织创意,利用空间视觉化展示不同想法的关联。
  • 决策记录:记录和追踪团队决策的演进,保留历史数据供日后参考。
  • 知识共享:促进团队内部的知识共享,通过视觉化块组织重要信息和资源。

Ideon 的主要用例是作为一个项目的“心理导航”工具,帮助团队成员理解项目中的各个部分如何关联,以及决策是如何演变的。它适用于需要将代码、决策、视觉元素和随机事实等不同类型的信息整合到一个可视化空间中,以提高项目可理解性和协作效率的场景。

安装

在群晖上以 Docker 方式安装。

涉及到多个容器,而且环境变量有点多,所以老苏建议使用 docker-compose 方式安装

env.txt

为了便于在群晖上编辑,所以用了 txt 格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
############################
# Ideon Environment Template
############################

### App
# Host port to expose the app (container listens on 3000)
APP_PORT=3690
# Public base URL of the app (used for invitations and SSO auth)
APP_URL=http://192.168.0.197:3690
# Canonical timezone for server logs ONLY
TIMEZONE=Asia/Shanghai

### Database
# Note: PostgreSQL variables are not required in "development" mode, SQLite is used automatically (storage/dev.db).
# Override SQLite path (optional)
SQLITE_PATH=./storage/dev.db

# PostgreSQL host or service name (Docker Compose: ideon-db)
DB_HOST=ideon-db
# PostgreSQL port (default 5432)
DB_PORT=5432
# PostgreSQL database name
DB_NAME=ideon
# PostgreSQL username
DB_USER=ideon
# PostgreSQL password
DB_PASS=ideon

### Security
# Primary master key used to derive security secrets.
# USAGE:
# - Signs user session JWTs.
# - Authenticates internal API bypass requests.
# - Derives data encryption keys (if used, data becomes unreadable on rotation).
#
# ROTATION IMPACT: High. Will invalidate all active sessions immediately.
# Use a strong, random string (e.g., openssl rand -hex 32)
SECRET_KEY=6581e6a5bdfd7ce0e7419279a5c72a211f8997b61f5fed00b90786550656bb25

### SMTP
# Sender email address
SMTP_FROM_EMAIL=wbsu2003@88.com
# Sender display name
SMTP_FROM_NAME=laosu
# SMTP host
SMTP_HOST=smtp.88.com
# SMTP user
SMTP_USER=wbsu2003@88.com
# SMTP password
SMTP_PASSWORD=<你的第三方邮件客户端密码>
# SMTP port (e.g., 587 for STARTTLS)
SMTP_PORT=465
# Use TLS (true/false)
SMTP_USE_TLS=true

关于环境变量的简单说明,邮件主要用于邀请团队成员、忘记密码等等

变量 描述
`APP_PORT 应用程序暴露的主机端口
APP_URL 应用程序的公共基础 URL(用于邀请和 SSO 认证),例如 http://localhost:3000
TIMEZONE 服务器日志的标准时区,仅用于日志记录
SQLITE_PATH SQLite 数据库路径,用于开发模式(可选覆盖默认路径为 ./storage/dev.db
DB_HOST PostgreSQL 数据库的主机或服务名称(Docker Compose 中为 ideon-db
DB_PORT PostgreSQL 数据库端口(默认为 5432
DB_NAME PostgreSQL 数据库名称
DB_USER PostgreSQL 数据库用户名
DB_PASS PostgreSQL 数据库密码
SECRET_KEY 主密钥,用于衍生安全秘密。必需填写强且随机的字符串,会影响所有活动会话的有效性
SMTP_FROM_EMAIL 发件人电子邮件地址
SMTP_FROM_NAME 发件人显示名称
SMTP_HOST SMTP 服务器地址
SMTP_USER SMTP 用户名
SMTP_PASSWORD SMTP 密码
SMTP_PORT SMTP 端口(例如,587 用于 STARTTLS
SMTP_USE_TLS 是否使用 TLStruefalse

docker-compose.yml

将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
services:
ideon-app:
image: ghcr.io/3xpyth0n/ideon:latest
container_name: ideon-app
restart: unless-stopped
ports:
- "${APP_PORT:-3000}:${APP_PORT:-3000}"
volumes:
- ./storage:/app/storage
env_file:
- env.txt
depends_on:
ideon-db:
condition: service_healthy
healthcheck:
test:
["CMD", "curl", "-f", "http://localhost:${APP_PORT:-3000}/api/health"]
interval: 5s
timeout: 5s
retries: 5
start_period: 10s

ideon-db:
image: postgres:16-alpine
container_name: ideon-db
restart: unless-stopped
volumes:
- ./data:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASS}
POSTGRES_DB: ${DB_NAME}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
interval: 2s
timeout: 5s
retries: 5

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 ideon 和 子目录
mkdir -p /volume1/docker/ideon/{data,storage}

# 进入 ideon 目录
cd /volume1/docker/ideon

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose --env-file env.txt up -d

运行

在浏览器中输入 http://群晖IP:3690 ,第一次要注册管理员

虽然支持多语言,但没有中文

注册完后,还需要登录

登录成功后才能看到 Ideon 的主界面

创建项目

New Project 创建项目

只要输入 Project Title 即可

进入项目,右键可以添加各种内容,包括笔记、文件、链接、待办等

随便加了几项

好像 CheckList 不行,原因不清楚

邀请成员

首先要在 ManagementAuthentication → 把 Public registration 打开

这时首页会看到 Don't have an account? Create one,点这个就可以注册新账号了

现在就可以通过搜索添加项目成员了

现在你的 team 就不是你一个人了

最后贴一张官方的示例图片

参考文档

3xpyth0n/ideon: The Visual Hub for Everything Your Project Needs
地址:https://github.com/3xpyth0n/ideon

Ideon - The Spatial Workspace
地址:https://www.theideon.com/

Ideon
地址:https://demo.theideon.com/