做了个内部知识库,部门人员都在用 一、开场找一份产品手册平均8 分钟新人上手2 周客户问上次那个配置怎么改的群里2 小时没人回。现在他们每天打开的第一个网站是我做的内部知识库。二、需求是怎么来的团队规模不大10 个人5 个研发写代码 维护手册3 个实施出差到客户现场靠文档干活2 个售后每天接客户工单3 个真实痛点文档散落 3 个地方Word产品手册 Confluence流程文档 微信文件客户资料。没有统一入口。找文档靠记忆实施出差发现手册过时回公司问研发最新版在哪 ——研发也找不到。公司内部OA平台、知识库平台迭代更新一代不如一代。三、4 个关键决策决策 1不上 Confluence / 语雀调研 3 天差点买 Confluence 年付。没买的 2 个理由数据私有化客户资料涉及合同和报价不能放云定制能力售后工单要和我们自己的 CRM 联动Confluence 接不进去最后自己撸。决策 2单子系统起步第一版只做知识库一个 Tab不做项目 / 产品 / 客户。理由10 人用不上 5 个 Tab。MVP 阶段每个 Tab 都要花 2 周打磨5 个 Tab 10 周。先 1 个做到极致再加 Tab。后来加 OPS售后运维的时候就是直接多一个 Tab架构没动。决策 3首页是 PORTAL系统选择页不是直接进知识库这个决策是后加的。V1 时期首页直接是 KBMS但加了 OPS 之后用户不知道先点哪个。于是做了个 PORTAL视觉上像系统桌面大卡片选择逻辑上登录后落地到 PORTAL不再直接进任何子系统设计上不放在侧边栏侧边栏是子系统内部导航独立成页这一步是产品上做对的事—— 后续加任何子系统都不需要改 KBMS / OPS 的代码。决策 4配色用莫兰迪不用 Ant Design第一次用 Ant Design 默认色团队反馈太正式像钉钉。调研后选莫兰迪色系饱和度 50%主色#1677ff自己调的中间蓝不是 Bootstrap 也不是 Antd状态色#52c41a/#faad14/#ff4d4f背景#f5f7fa卡片#ffffff边框#e8e8e8核心原则全站只有 1 个强调色其他都是中性色。链接灰色下划线只有主操作按钮用蓝。四、5 个我做对的事① 一周出 MVP2 周全员切换第一周只做 3 个功能文档列表按类型/项目/标签筛选文档详情Markdown 渲染 附件预览搜索标题 内容全文没有任何花活。第二周推上线全员切换Word 模板当场废弃。MVP 阶段最贵的不是少做是多做。少做一个功能省 1 周多做一个功能拖 2 周上线。② 版本号从 V1 写到 V2.X强制记录每次上线必须写版本号 变更说明。用户看得到。效果实施知道上个月有 3 个文档更新问现在最新版吗直接发版本号截图出了问题能秒级定位哪个版本改的③ 回收站 操作日志救命功能这两个功能 MVP 阶段就要有不是以后再加。误删文档回收站 30 天谁改了什么操作日志可查谁看了什么阅读记录上线第 3 周救了一次命实施误删客户方案从回收站秒恢复没造成事故。④ 双系统架构 一开始就预留扩展点虽然第一版只做 KBMS但用户表用 union 模式一人可属于多个系统数据文件按系统分data_kbms.json/data_ops.jsonsession 记录 active_system。加 OPS 的时候用户系统零改动只加了 2 个数据文件 1 个子系统。⑤ 配色统一性多色 不专业全站只用 1 套配色变量不写主色蓝 副色绿 强调色紫那种设计师配色。C 端审美在 B 端是灾难。五、3 个我做错的事① 没用 Blueprint单文件 6000 行后维护崩溃应该一开始就用 Flask Blueprintkbms_bp知识库ops_bp售后admin_bp管理auth_bp登录下一版必须拆。② 没用数据库data_*.json 撑到 1 万条卡死第 6 周文档数破 1 万列表页加载从 200ms 变 3s。原因每次渲染要json.load整个文件 json.dump整个文件。应该一开始就用 SQLite。1 万条 JSON 慢1 万条 SQL 飞快。③ 没做权限分层admin / 普通用户混在一起第一版只有登录/未登录两态所有人都能看所有文档。第 4 周实施反馈有些文档是给研发看的我们看了会乱。加角色权限用了 1 周应该第一周就做。权限是 B 端工具的地基不是装修。六、数据 反思当前数据2 个月文档1.2 万条操作日志8.6 万条零故障下一步V3.0拆 Blueprint按子系统换 SQLite替换 JSON 存储完善角色权限admin / 研发 / 实施 / 售后 / 只读如果重来MVP 阶段就上 Blueprint多花 1 天节省后面 1 个月数据一开始用 SQLite多花 2 天节省第 6 周的返工权限第一周就做多花 3 天节省第 4 周的紧急改造你在内部工具上踩过什么坑评论区聊聊是该不该上 Confluence、还是JSON vs SQLite、还是权限怎么分层挑你最痛的。

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/30 19:41:56
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻