作品 / 企业增效 · 开源二开
通用大模型读不到公司内部资料 —— 在 DeepSeek 开源智能体框架上补齐三块企业必需能力,把报销、合同、周报变成全员可问的智能体。
👆 上面是运行中的真实项目(同源挂载 /dsh/)· 登录态由服务端代持,打开即是已登录,可直接提问与检索知识库
公司想把 AI 接进日常业务,但通用聊天工具一问内部事项就答不上来:报销走什么审批链、合同条款被对方法务改在哪一条、周报按哪个模板交。团队选定 DeepSeek 开源的智能体框架 dsh 作底座,它「一切皆插件」,但离企业可用还缺四样:全员用得到的界面层、私有资料的检索、按岗位管控技能的手段、非技术同事自助扩展的入口。
从需求拆解到落地实现全程负责。先读上游源码定位挂点:插槽注册(侧边栏导航与工作室视图)、技能注册表、system prompt 的分节组装、插件装载流程;再把需求切成四个可独立上线的迭代(Web 工作台整层 → 技能热开关 → 技能与插件商店 → 企业知识库),按上游的工程规范交付 —— 类型契约、lint、双语 i18n、快照与单元测试全套门禁。
底座选开源框架做增量二开,而不是自研 Agent。dsh 已经把模型调用、工具执行与会话管理做完了,企业缺的是资料、管控、入口这三层;按上游规范做增量才跟得上升级,外挂一层则一升级就碎。
知识库用「目录注入 + 检索工具」双挂点,而不是把全文塞进上下文。模型每一步只看到文档目录(标题 + 摘要),要答题时才取回片段 —— token 成本随文档量线性可控,答案还能引用到具体哪一篇;检索自建 BM25、中文按二元切分,离线可跑。
技能管控当场生效,做成核心包提供的「模型门」插槽。关掉某个技能,下一步模型就看不见它,不必改配置重启部署;没有门时自然全放行,门抛错也按放行处理并记日志 —— 管控失效不该打死整个技能系统。
面向全员的界面层整层新建,而不是每个需求单开一个网页。七个业务页(知识库 / Skill / Plugin / 开发日历 / 项目日历 / 项目跟踪日历 / 合同合规审查)共用一套导航与会话;服务端只开四条路由,每条先过连接栅栏(Host/Origin 与登录 cookie)—— 否则本机任意页面都能借这个 origin 花掉部署的 API 预算。
商店与技能市场是入口,也是攻击面,所以按不可信输入处理。插件安装先校验包名确实存在于社区目录才允许执行,防任意包注入;远端技能写盘前清洗路径(拒绝绝对路径与 ..)、限制单文件与总量大小,重名直接拒绝。