

























你的访客,你的数据。
开源 ToB 实时访客监控 + 运营互动 + 录像回放平台。AGPL-3.0,自托管,数据从不出门——竞品 SaaS 的开源替代。
设计决策:
决策者? → pinconsole.com · 工程师? → 自托管
SaaS 访客互动工具把每个访客的行为、每次运营对话、每段录像都抽到自己的云里。你付费让他们把数据运到他们的基础设施——他们用它训练模型、锁定你、明年再涨价。
pinconsole 存在的理由是:这些数据本来就是你的。跑在你自己的基础设施上,代码你自己审计,想走就走——数据、Schema、二进制本来就在你手里。
SET NX + Lua release)git clone https://github.com/iannil/pinconsole
cd pinconsole
cp .env.example .env
# 启动基础设施 + 构建 release 单二进制
make docker-up && make build
./server/bin/pinconsole-server
[email protected](密码由 ADMIN_PASSWORD 环境变量设置)生产部署:
docker compose --profile prod up -d --build
单实例 hub(不支持横向扩展)
WebSocket 路由基于进程内 map(server/internal/hub/hub.go)。
多实例部署(2+ server behind LB)会静默失败——访客和运营连到不同实例后互不可见。
系统不会报错,只是看起来"坏了"。横向扩展需引入 Redis Pub/Sub 或 NATS 作为消息总线。
500 WS/房间并发未压测
PLAN.md 把"500 WS/房间"作为设计目标驱动单租户 / hub-and-spoke / 1:1 锁定决策,
但 v1 未做实际压测。默认 PG_MAX_CONNS=25 / REDIS_POOL_SIZE=50 是经验值,
实际容量需部署方按自己工作负载验证。
OSS 项目不提供生产拓扑
docker-compose prod profile 仅作为参考。实际生产拓扑
(VM / k8s / 反代 / TLS / 备份 / 监控 / 日志聚合 / 资源限制)由部署方自行决定。
本仓库只保证:
/healthz + /readyz 提供依赖健康检查Trace_id 端到端传播(1z 已补全) operator browser → server → visitor SDK → server → operator 形成完整 trace_id 闭环:
X-Trace-Id 头(admin/src/api/client.ts)visitor-sdk/src/transport/ws.ts)TraceMiddleware + WS handler 还原 ctx trace_idAGPL-3.0 — 详见 LICENSE。
技术栈:Go 1.22 · Vue 3 · PostgreSQL · Redis · MinIO · rrweb。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。