售前工作台 Presales Workbench

售前工程师如何安全、体系化地
使用公网大模型,保障客户信息安全

给售前工程师的本地 AI 工作台。AI 替你写方案、整理纪要、盯项目, 但客户是谁,它从头到尾不知道 —— 它看到的永远是化名。 能看哪些资料,也由你逐项授权:没授权的不是「不该看」,是打不开。

客户一律化名 AI 看什么,你授权 MIT 开源 macOS Python 标准库,零核心依赖
bash
$ git clone https://github.com/mooncirclez/presales-workbench.git
$ cd presales-workbench
$ ./setup.sh # 体检 → 装依赖 → 建骨架 → 启动
1处真名存放点
100%档案存在本机
0个核心依赖
1条命令部署
01

怎么在保住客户数据的前提下,用公网大模型

售前手里是报价、决策链、组织架构 —— 想用 AI,又不敢把这些发出去。 工作台的答案一句话:让 AI 替你干活,但客户是谁,它从头到尾不知道。

① 客户一律化名档案存进电脑那一刻,客户名和联系人就换成了化名。 AI 看到的只是代号,不知道背后是谁 —— 真名只存在你机器上的一张对照表里,别处没有。
② 看什么,由你授权资料按目录逐项勾选放行。 没勾中的,AI 不是「答应不看」,是打不开 —— 这是门锁,不是口头约定。
③ 要害锁进保险柜真名对照表、各家模型的密钥、回收站 —— AI 一律进不去;密钥也永远不会明文外露。
④ 档案不出你电脑工作台在本机运行,不上传云端。 档案就是磁盘上的普通文件,哪天不用工作台了,资产原样还在。
把话说清楚:它保护到什么程度

化名可读、保留行业类别,你自己翻档案一看就认得 —— 代价是同行有可能猜出个大概。另外,谈的金额和方案内容仍要发给模型, 否则 AI 没法替你干活。如果公司要求「任何内容都不出网」, 工作台也支持改接你们内网的模型,其余一切照常用。

技术上怎么做到的 —— 给较真的同学

以下每一条都是机制层的封禁,不依赖模型自觉;「实测」指用真实任务验证过。

化名:写入即替换,真名单点存放

客户名、客户方联系人、地址在落盘那一刻替换为假名,不做「明文存着、出口再过滤」。 真名只存在 .mask/map.json 一处 —— 少一个明文副本,就少一条泄露路径。

授权:permissions.deny 工具层封禁

逐目录生成 Read(...) 拒绝规则,实测能盖过 --permission-mode bypassPermissions,并连带拦下该路径的 Grep / Glob。 提取全文 .extracted/ 与编译产物 wiki 同步封禁 —— 只挡原文等于锁了正门开着后门; Bash 默认一并封,防止换个模型直接 cat 绕过。

要害:三处目录整体对 AI 封读

.mask/(对照表)、.workbench/(密钥与任务日志)、 .trash/(回收站,躺着删除那一刻的原样副本)。 密钥文件权限 600,任何接口响应只回脱敏值。

本机:服务只绑 127.0.0.1

不对外暴露端口;写操作限制在数据区,路径穿越被拒;删除进回收站可恢复。

02

它解决什么问题

售前的信息是碎的,而碎掉的代价要在报价、投标、交底的时候一次性还。

以前

  • 资料散在几百个 PDF 和微信文件传输助手里
  • 客户决策链记在脑子里,人一换就断
  • 交付物每次从零开始写,上一版找不着
  • 周报靠回忆拼凑,漏掉的都是风险
  • 问 AI,它答得很流畅,但事实是编的

现在

  • 一个目录装下全部客户、商机、交付物、知识
  • 决策链、KPI、组织架构结构化落盘,可检索
  • 01–07 流水线:上传 / 套模板 / AI 生成三选一
  • 风险由后端按规则算出来,不靠人记
  • AI 只能引用磁盘上真实存在的文件,缺就标
03

一眼看清盘子

每个数字都由后端 compute_dashboard() 算一次,前端纯展示 —— 没有手工维护的统计表。

127.0.0.1:8917 — 智能看板
智能看板:客户数、进行中商机、商机总预算、累计签约等指标卡,左侧 To Do 列表,右侧规则化风险提示
04

核心能力

不是九个互不相干的页面,是同一份数据的九个视角。

客户:不再只在脑子里

把"这单谁说了算"变成可交接的结构化档案。

  • 决策链 —— 角色、联系方式、对我方的态度
  • 客户 KPI —— 目标 / 现状 / 我方方案如何支撑
  • 组织架构 —— 树状维护,谁在哪条线上一目了然
  • 缺失字段一律标 【待补充】,不装作知道
客户档案
客户详情页:决策链与联系人表格、客户 KPI、组织架构树、会议纪要与相关项目

项目:交付物有流水线

01 需求场景 → 02 立项报告 → 03 POC → 04 毛利测算 → 05 SOW → 06 投标技术方案 → 07 合同评审。

  • 每段三个入口:上传 / 从模板创建 / AI 生成
  • 模板是你自己上传的,版本你说了算
  • 缺哪一段,看板的风险提示会直接点名
  • 归档后合同额仍计入累计签约
项目 · 交付物流水线
项目详情页:商务信息、项目纪要、协作动作,以及 01 到 07 的交付物流水线

技能与角色:让 AI 按你的方法论干活

技能是一份方法论文档;把几个技能捆起来,就是一个"专家角色"。

  • 随包附带 投标响应自检拜访接待会议纪要知识 wiki
  • 预置 售前方案专家客户拜访专家 两个角色
  • 可自然语言生成新技能,也可从第三方榜单导入
  • 技能装在工作台本地,不污染全局配置
技能 · 专家角色
技能页面:本地技能列表、专家角色配置与技能市场

AI 任务:对话着把活干了

像聊天一样下指令,产出直接落进对应目录。追问接得上上下文 —— 底层取回 session_id--resume,不是把气泡摞在一起。

  • 换模型、换供应商:opus / sonnet / fable / haiku 随切; 也能填自己的 DeepSeek / Kimi key —— 没有 Claude 订阅照样用全部功能
  • 状态细到完成 / 中断 / 超时 / 失败。被权限拦下的任务不会假装完成, 会写明卡在哪、可一键重试并续上原对话
  • 每条显示耗时、token、花费,额度花在哪一目了然
  • 可选专家角色执行;定时任务到点自跑
AI 任务
AI 任务页面:专家角色下拉、指令输入框、权限选择、定时任务与任务记录检索
05

还有这些

都挂在同一份数据上,不需要二次录入。

纪要瀑布流

一个项目从需求调研到合同评审的全部沟通记录,按时间倒序串成一条脉络。行动项自动流入 To Do 与协作,双向勾选。

纪要瀑布流:项目全部沟通记录按时间倒序排列

协作

售前 × 销售 / 产研 / 交付三条线。每个动作强制绑定项目,受阻与逾期自动上风险榜 —— 推不动的事没法悄悄消失。

协作页面:三条协作线的动作列表与状态

知识库

任意层级自建目录。把 PDF / Word / PPT / Excel 提取成可检索文本 —— 不提取,AI 就读不了。可编译成互链 wiki。

知识库页面:侧边栏目录树与文件列表

场景库

按行业沉淀业务场景:一段描述 + 一个 HTML 交互演示。客户现场即点即用,不用临时翻 PPT。

场景库页面:按行业组织的业务场景列表

还有:日历(月视图 + 一句话让 AI 建日程 + 到点 macOS 系统通知)、 项目归档(合同额仍计入累计签约)、模板管理(上传任意文档自动转成 Markdown 模板)、 回收站(删除可恢复)、周报(本地即时草稿 + AI 深度版)。

06

四条设计原则

这些决定了它三年后还能不能用。

PRINCIPLE 01

数据即文件

客户档案是 customers/<客户>/customer.json,纪要是 Markdown。可以 git、可以 grep、可以用任何编辑器打开。工作台删了,资产还在。

PRINCIPLE 02

统计只在后端算一次

看板的每个数字都出自 compute_dashboard(),前端不做二次计算。加一个指标只改一处,不会出现两个页面数字对不上。

PRINCIPLE 03

AI 不许编

CLAUDE.md 里写死了铁律,并随仓库分发。客户事实、金额、承诺必须能追溯到具体文件,缺失一律标注,不允许根据文件名猜内容。

PRINCIPLE 04

能力进插槽

模板包、MCP、技能、AI 命令都是可替换的插件,由 workbench.json 统一登记。换公司只需换模板包 + 清空数据区。

07

关于「AI 不许编」

售前交付物里的一个编造数字,代价可能是一个标。所以这条不是建议,是硬约束 —— 下面两条原文来自随包分发的 CLAUDE.md

CLAUDE.md · 六、产出规范

金额、数据、客户事实必须可核对,绝不编造;缺信息留 【待补充】。对外承诺(范围 / SLA / 价格)标注"待商务确认"。

CLAUDE.md · 3a. 读交付物

两条路都失败就如实说读不出来,绝对不许根据文件名猜测内容 —— 文件名与实际内容不符是常态。

这条规则是被真实事故逼出来的。 开发过程中遇到过一个名为「客户提供的POC验收标准.docx」的文件,内容其实是某厂商的解决方案文档。 如果 AI 顺着文件名往下写,整份 POC 报告的前提就是错的。 现在的做法是:二进制文档必须先提取成文本才允许引用,提取失败就明说读不出来。
08

快速开始

两个硬性前提:macOS,以及已安装并登录的 Claude Code CLI。其余都是可选的,缺了只降级。

先体检,不改动任何文件

确认系统、Python、claude CLI 与可选依赖是否就位。任何一项不满足都会明确告诉你怎么修。

./setup.sh --check

一条命令部署

体检 → 询问是否安装可选依赖 → 建数据目录骨架 → 写入你的名字与公司 → 启动服务 → 自动开浏览器。

./setup.sh              # 默认 8917 端口
PORT=8919 ./setup.sh    # 换端口

清掉 demo 数据,换成你自己的

仓库自带一套虚构示例数据(示例科技 / 示例银行),含故意留下的缺陷,用来演示风险提示怎么工作。在各页面用垃圾桶图标删掉即可 —— 删除进回收站,可恢复。

把资料放进知识库

丢进 knowledge/my local knowledge/,再到「知识库」页点「提取新增」。不提取,AI 读不了二进制文档。

09

老实话:它还不行的地方

装之前先知道,比装完再发现好。

单用户无并发控制与鉴权,不适合多人同时读写同一份数据。
仅 macOS文档提取、系统通知、Word 导出依赖 textutil / osascript。
无自动化测试改动靠手工验证。
数据量假设中小全文搜索是暴力遍历,客户 / 项目上百后会变慢。
成本可见但不设限每轮显示耗时、token 与花费,但没有额度上限或超额拦截。
代号是可读假名化名可读、保留行业类别,便于自己翻档案 —— 代价是在特定行业内有可能被反推。要更强保护得换不可读编号。
脱敏范围有边界只覆盖客户名、客户方联系人与地址。 金额、方案内容、技术细节不脱敏,仍会随指令发给模型。
导出不自动还原交付给客户前需拿替换清单做一次人工处理 —— 这是有意为之。