DeepChat实操手册:如何将DeepChat嵌入内部Wiki/Notion/飞书,打造组织级AI知识中枢
1. 为什么你需要一个“组织专属”的AI对话入口
你有没有遇到过这些场景:
- 新员工入职,反复问同一个产品问题,而文档里其实早有答案;
- 团队在飞书群里讨论技术方案,信息散落各处,关键结论没人整理;
- Wiki页面写得再详细,也架不住用户懒得翻,宁愿截图发给同事问一句“这个怎么用”;
- 外部AI工具用着方便,但一想到客户合同、代码片段、会议纪要这些敏感内容要上传到公有云,就立刻关掉网页。
这些问题背后,是一个被长期忽视的真相:知识不是放在那里就自动生效的,它必须以最自然的方式,出现在人最需要的那一刻。
DeepChat 不是又一个聊天框,而是一套可以“长进你已有系统里”的深度对话引擎——它不抢你的工作流,而是悄悄增强它。你可以把它嵌进团队每天打开的 Wiki 页面右下角,插进 Notion 数据库的侧边栏,或者作为飞书文档里的一个智能按钮。用户不需要新开标签页、不用记新网址、更不必切换上下文,提问就像打字一样自然。
更重要的是,它全程不联网、不传数据、不依赖外部 API。你输入的每一句话,都在本地容器里完成推理;生成的每一段回答,都只在你自己的服务器内存中存在。这不是“能用就行”的玩具,而是真正能承载组织核心知识资产的对话基座。
下面我们就从零开始,手把手带你把 DeepChat 变成你内部系统的“AI呼吸口”。
2. DeepChat 是什么:一个安静却强大的本地对话引擎
2.1 它不是另一个 WebUI,而是一套可嵌入的对话能力
DeepChat 的本质,是一个轻量、专注、开箱即用的前端应用,但它背后连接的,是整套本地化 AI 基础设施:
- 底层驱动:Ollama 运行时(已预装并自动管理)
- 核心模型:
llama3:8b(Meta 最新发布的 80 亿参数模型,平衡性能与质量) - 通信协议:标准 HTTP + OpenAI 兼容 API(无需改造现有集成逻辑)
- 部署形态:Docker 容器(一键拉起,无依赖冲突)
它不像传统大模型服务那样需要你配置 API Key、处理鉴权、写重试逻辑。DeepChat 启动后,会自动暴露一个/v1/chat/completions接口——和你在 OpenAI 或 Anthropic 文档里看到的完全一致。这意味着:你不用学新东西,就能把它接进任何支持 OpenAI 格式的系统。
2.2 三大不可替代的组织级优势
| 优势 | 说明 | 对组织的真实价值 |
|---|---|---|
| 绝对私有化 | 所有文本输入、模型推理、响应生成,100% 发生在容器内。没有外部请求、没有日志上报、没有后台心跳。 | 法务敢签字,安全团队敢上线,业务部门敢用真实数据提问。 |
| 秒级冷启动(非首次) | 首次启动自动下载模型(约 4.7GB),后续启动跳过下载,5 秒内完成 Ollama 加载 + Web 服务就绪。 | 每天重启不影响使用,运维零干预,开发人员不用守着日志等“pull 完毕”。 |
| 自愈合启动脚本 | 自动检测端口占用、修复 Ollama 权限、锁定 Python 客户端版本、重试失败步骤。 | 不再出现“明明镜像拉了,却打不开页面”的尴尬;一次部署,长期稳定。 |
一句话理解 DeepChat 的定位:
它不是让你“去用一个新 AI 工具”,而是给你一把钥匙,让你把“AI 对话能力”这把锁,直接装进你已经信任的 Wiki、Notion、飞书这些系统里。
3. 实战:三步将 DeepChat 嵌入你的内部系统
3.1 第一步:启动 DeepChat 并确认服务可用
我们假设你已通过 CSDN 星图镜像广场获取该镜像,并在 Linux 服务器或本地 Mac 上运行 Docker。
# 启动容器(映射到宿主机 3000 端口) docker run -d \ --name deepchat \ -p 3000:3000 \ -v /path/to/ollama:/root/.ollama \ --gpus all \ --restart=unless-stopped \ csdn/deepchat:latest启动后,请先验证服务是否就绪:
- 访问
http://localhost:3000—— 应看到简洁的 DeepChat 聊天界面 - 在浏览器开发者工具(Network 标签页)中,发送一条测试消息,观察是否发出
POST /v1/chat/completions请求 - 查看响应体,确认返回格式符合 OpenAI 标准(含
choices[0].message.content字段)
注意:首次启动需等待模型下载完成(控制台日志出现pull complete),期间页面可能显示加载中,属正常现象。
3.2 第二步:为嵌入准备“干净接口”——禁用前端 UI,启用纯 API 模式
DeepChat 默认提供完整 Web 界面,但嵌入到 Wiki/Notion/飞书时,你通常只需要它的“对话能力”,而非整个聊天窗口。为此,我们启用其内置的API-only 模式:
修改容器启动命令,添加环境变量:
-e DEEPCHAT_MODE=api-only或进入容器临时启用(适合调试):
docker exec -it deepchat bash -c "echo 'api-only' > /app/mode.txt && kill -HUP 1"
此时,DeepChat 将不再渲染前端页面,而是专注响应以下两类请求:
- 健康检查:
GET /health→ 返回{ "status": "ok", "model": "llama3:8b" } - 对话请求:
POST /v1/chat/completions→ 标准 OpenAI 格式输入,返回标准格式输出
这样做的好处是:
- 减少前端资源占用,提升响应速度
- 避免跨域干扰(后续嵌入更简单)
- 便于你在后端做统一鉴权、日志审计、速率限制
3.3 第三步:按平台选择嵌入方式(附可直接复制的代码)
3.3.1 嵌入内部 Wiki(基于 MediaWiki 或语雀/Confluence 类系统)
适用场景:在产品文档、技术规范、新人指南等页面右下角,添加一个悬浮 AI 助手按钮。
实现方式:在 Wiki 页面 HTML 模块中插入以下代码(需开启 HTML 编辑权限)
<!-- DeepChat 助手悬浮按钮 --> <style> #dc-float { position: fixed; bottom: 20px; right: 20px; z-index: 9999; } #dc-btn { background: #2563eb; color: white; border: none; width: 56px; height: 56px; border-radius: 50%; font-size: 20px; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,0.15); } #dc-panel { position: fixed; bottom: 80px; right: 20px; width: 360px; height: 480px; background: white; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.15); overflow: hidden; display: none; flex-direction: column; } #dc-header { padding: 12px 16px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; font-weight: 600; } #dc-messages { flex: 1; padding: 12px; overflow-y: auto; font-size: 14px; line-height: 1.5; } #dc-input { padding: 12px; border-top: 1px solid #e2e8f0; display: flex; } #dc-input input { flex: 1; border: 1px solid #cbd5e1; border-radius: 8px; padding: 8px 12px; font-size: 14px; } #dc-input button { margin-left: 8px; background: #2563eb; color: white; border: none; border-radius: 8px; padding: 0 16px; } </style> <div id="dc-float"> <button id="dc-btn"></button> <div id="dc-panel"> <div id="dc-header">AI 知识助手</div> <div id="dc-messages"></div> <div id="dc-input"> <input type="text" id="dc-q" placeholder="例如:这个功能支持哪些参数?" /> <button id="dc-send">发送</button> </div> </div> </div> <script> const btn = document.getElementById('dc-btn'); const panel = document.getElementById('dc-panel'); const messages = document.getElementById('dc-messages'); const input = document.getElementById('dc-q'); const sendBtn = document.getElementById('dc-send'); btn.onclick = () => panel.style.display = 'flex'; sendBtn.onclick = sendQuery; input.onkeypress = e => e.key === 'Enter' && sendQuery(); function sendQuery() { const q = input.value.trim(); if (!q) return; // 显示用户提问 messages.innerHTML += `<div style="margin:8px 0; padding:8px; background:#f1f5f9; border-radius:8px;">🙋♂ ${q}</div>`; input.value = ''; // 调用 DeepChat API(假设 Wiki 与 DeepChat 同域,或已配好反向代理) fetch('http://localhost:3000/v1/chat/completions', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ model: "llama3:8b", messages: [{ role: "user", content: q }], temperature: 0.7, max_tokens: 512 }) }) .then(r => r.json()) .then(data => { const ans = data.choices[0].message.content || '抱歉,暂时无法回答。'; messages.innerHTML += `<div style="margin:8px 0; padding:8px; background:#e2e8f0; border-radius:8px;"> ${ans}</div>`; messages.scrollTop = messages.scrollHeight; }) .catch(e => { messages.innerHTML += `<div style="margin:8px 0; padding:8px; background:#fee2e2; color:#dc2626; border-radius:8px;">❌ 请求失败:${e.message}</div>`; }); } </script>关键提示:
- 若 Wiki 与 DeepChat 不在同一域名(如 Wiki 是
wiki.company.com,DeepChat 是ai.company.com:3000),请在 Nginx/Apache 中配置反向代理,将/ai-api/路径代理至http://localhost:3000/,避免跨域问题。 - 所有交互逻辑均在前端完成,不经过 Wiki 后端,零侵入、零改造。
3.3.2 嵌入 Notion 数据库(通过 Notion API + Public Site + iframe)
适用场景:在产品需求数据库、技术决策记录、知识沉淀看板中,为每条记录添加“AI 解读”侧边栏。
实现方式(无需编程基础):
- 将 DeepChat 页面设为公开可访问(确保
http://ai.company.com可被 Notion 加载) - 在 Notion 页面中,点击
/插入Embed→ 粘贴 URL:http://ai.company.com?context={{page.title}} - (可选)用 Notion 的
Text属性拼接上下文,例如:https://ai.company.com?context=需求ID:%20{{ID}}%20%7C%20描述:%20{{Description}}
进阶技巧:
- 在 DeepChat 前端 JS 中读取 URL 参数
context,自动将其作为 system message 注入对话:const urlParams = new URLSearchParams(window.location.search); const context = urlParams.get('context') || ''; if (context) { messages.push({ role: "system", content: `当前上下文:${context}。请基于此提供精准、简洁的回答。` }); } - 这样,当用户点开某条“支付模块设计文档”时,AI 助手一上来就知道自己在聊什么。
3.3.3 嵌入飞书多维表格/文档(通过飞书开放平台「自建应用」)
适用场景:在飞书多维表格中,为“客户反馈”字段添加“AI 归因分析”按钮;在飞书文档中,一键生成“会议要点摘要”。
实现方式(需简单后端代理,保障安全):
由于飞书客户端禁止直接调用http://localhost:3000,推荐走「飞书自建应用 + 企业自有服务器代理」方案:
在你公司服务器上部署一个极简代理(Python Flask 示例):
from flask import Flask, request, jsonify import requests app = Flask(__name__) @app.route('/ls/api/chat', methods=['POST']) def proxy_chat(): # 验证飞书签名(省略,参考飞书官方文档) data = request.json resp = requests.post( 'http://localhost:3000/v1/chat/completions', json=data, timeout=60 ) return jsonify(resp.json()), resp.status_code if __name__ == '__main__': app.run(host='0.0.0.0', port=5001)在飞书开放平台创建「自建应用」→ 添加「消息卡片」或「文档插件」→ 配置请求地址为
https://your-server.com/ls/api/chat用户点击按钮后,飞书前端收集当前文档/表格内容,发送至你的代理,再由代理转发给 DeepChat,最终将结果渲染回飞书界面。
此方案优势:
- 所有敏感数据不出内网(飞书 → 你服务器 → DeepChat 容器)
- 可在代理层统一加日志、限流、审计,满足企业合规要求
- 一次开发,复用所有飞书场景(群机器人、文档插件、多维表格操作列)
4. 让 DeepChat 真正成为“知识中枢”的 3 个进阶建议
4.1 给 AI 加上“组织记忆”:注入你的知识库
Llama 3 再强,也只是通用模型。要让它真正懂你公司的术语、流程、项目代号,必须喂它“组织上下文”。
推荐做法:在每次请求前,动态拼接一段 system message:
{ "role": "system", "content": "你是一名资深[公司名]技术专家。请严格遵循:\n- 所有回答必须基于我提供的知识片段;\n- 不确定时不编造,直接说‘暂无相关信息’;\n- 使用中文,语气专业简洁。\n\n【知识片段】\n- 项目代号‘星火’指代 2024 Q3 启动的 AI 中台一期工程;\n- ‘灰度发布流程’要求:先在 5% 生产流量验证,持续 2 小时无异常后全量;\n- 所有 API 必须携带 X-Auth-Token 请求头,值为员工工号后六位。" }实现提示:
- 将知识片段存为 Markdown 文件,由 Wiki/Notion/飞书插件实时读取并注入
- 避免硬编码,让业务同学也能自主维护这份“AI 记忆清单”
4.2 控制回答风格:从“自由发挥”到“精准输出”
默认情况下,Llama 3 倾向于展开论述。但在组织场景中,你往往需要:
- 技术文档问答 → 要求:分点、带代码块、引用原文位置
- 客服话术生成 → 要求:口语化、带情绪词、控制在 3 句内
- 会议纪要提炼 → 要求:仅输出 Action Items,格式为
- [ ] 任务,负责人,DDL
🔧 解决方案:在前端或代理层,根据触发场景自动设置system message+temperature+response_format:
// 会议纪要模式 { "system": "你是一名高效会议秘书。请仅提取明确的待办事项,格式:- [ ] 任务描述,@负责人,YYYY-MM-DD。不解释、不补充。", "temperature": 0.2, "response_format": { "type": "text" } }4.3 建立使用闭环:让每一次提问都沉淀为知识
目前,AI 回答是一次性消耗品。但理想状态是:高频提问 → 发现知识盲区 → 自动转为 Wiki 新页面 → 形成正向循环。
可落地方案(低代码):
- 在 DeepChat 前端添加一个「这个回答很有用,加入知识库」按钮
- 点击后,调用 Wiki API(如语雀的
POST /repos/{repo_id}/docs)自动创建新文档,标题为提问关键词,正文为问答记录 - 设置定时任务,每周扫描“新增问答数 Top 10”,推送至知识管理负责人邮箱
这样,DeepChat 就不再是单向问答工具,而成了组织知识演化的“传感器”和“加速器”。
5. 总结:从“接入 AI”到“拥有 AI 对话主权”
把 DeepChat 嵌入 Wiki、Notion、飞书,看似只是加了一个按钮、一个 iframe、一个插件,但背后完成的是一次关键跃迁:
从“用别人的 AI” → “拥有自己的 AI 对话主权”
你不再受制于 API 调用限额、模型下线通知、服务中断风险;你掌控全部输入、全部输出、全部日志。从“查文档” → “和文档对话”
知识不再静态躺在页面里,而是以对话形式主动响应、关联、推演。一个提问,可能带出三个相关文档链接、两段历史会议记录、一份未公开的设计草稿。从“IT 部署一个服务” → “全员获得认知增强”
前端工程师用它快速理解后端接口规范,产品经理用它生成用户故事,HR 用它起草员工沟通话术——门槛消失,价值倍增。
DeepChat 的价值,不在于它多炫酷,而在于它足够安静、足够可靠、足够“隐形”。它不改变你已有的工作习惯,只是在你伸手可及的地方,多放了一盏灯。
当你某天发现,新同事第一周就在 Wiki 页面上和 AI 讨论架构设计,而老员工开始把飞书文档里的“AI 摘要”直接粘贴进周报——你就知道,那个属于你们组织的 AI 知识中枢,已经真正活起来了。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。