基于 DeepSeek Harness 的企业私有化 Agent 平台 KnowWork v0.0.5,技能、MCP、记忆分三层
KnowWork 是基于 DeepSeek Harness(下文简称 DSH)的企业私有化 Agent 平台。10 月 30 日的 v0.0.4 和 11 月 3 日的 v0.0.5 合在一起,做成了一件事,智能体用到的技能、MCP 工具和记忆,都分成个人、空间、企业三层来管。
一个人写顺手的技能,提交给空间管理员,审过就成了部门的技能,系统管理员再把它收上去,就能发给全公司。接业务系统的 MCP 服务由管理员统一登记,每个成员用自己的账号授权,智能体按本人的权限去办事。 v0.0.3 的时候,技能只能由空间管理员来装,MCP 的凭据整个空间共用一份。v0.0.5 又接上了企业 LDAP/AD 和企业微信里的部门和人员可以直接同步进来,授权和空间成员都能跟着组织架构走。
东西从个人往上走,每走一层都要过那一层管理员的手。用的时候,按本人的身份。
三层各管什么
动手之前,我们先看了 DSH 官方怎么处理这几样东西。DSH 是照“一个人一台机器”设计的。技能注册表本身分层,离会话近的一层盖过远的一层。跨会话要记住的事写在 AGENTS.md 里,下次开会话时读进来。桌面上机器归一个人用,这样很顺手。
到了企业的服务器上,DSH 的宿主进程是所有人共用的一个。照搬官方的做法,宿主读的那份 AGENTS.md 谁改了,就等于替所有人改了记忆。
所以三层由业务服务来管,DSH 我们一行没改。 每个会话开始时,业务服务按这个人此刻的权限编出一份技能清单,分企业、空间、个人三段,宿主通过官方的技能扩展点把它挂在会话这一层。记忆和说明也由业务服务每轮拼好,照官方带 AGENTS.md 的方式,作为一条提醒追加给模型。内容没变就不重发,模型的前缀缓存不受影响。
| |
企业(系统管理员)
|
空间(空间管理员)
|
个人(成员)
|
| :-- | :-- | :-- | :-- |
|
技能
|
企业技能,含内置的 Word、Excel、PPT,发给选定的空间
|
空间技能,审核成员提交上来的技能
|
个人技能,上传就生效,只有自己能用
|
|
MCP
|
企业 MCP,登记一次发给多个空间
|
空间 MCP
|
不能自己接服务,只连自己的账号
|
|
记忆
|
企业说明
|
空间说明
|
个人记忆
|
|
知识库
|
只读共享给全部空间
|
在空间里建,按部门、用户组授权
|
按本人的权限查
|
开源版不支持多空间,始终只有一个默认空间。 企业这一层要有多个空间才用得上,所以企业技能、企业 MCP 的管理放在商业版,开源版里这一层只有内置的 Word、Excel、PPT 技能。记忆整块都在商业版。技能和 MCP 的个人、空间两层都在开源版里。
好用的技能往上走,每一步都有人审

技能分企业、空间、个人三层,个人技能提交后由空间管理员审核复制成空间技能,系统管理员再把它收为企业技能发给各空间,同名时上层优先
个人技能上传就生效。 侧栏新加了“技能”入口。“可以用的”列出这个人在对话里能用的全部技能,“我的技能”里能上传自己的技能包,只有自己能用。被同名的空间技能顶掉、没生效的,列表里写明原因。
提交到空间要审。 成员觉得某个技能好用,可以提交到空间。空间管理员在“待审核”里看技能正文,空间里已经有一份的,两份逐行对比,文件的增删改也列出来,整个包还能下载下来看脚本。通过时复制一份成为空间技能,可以顺手选给谁用、要不要直接发布。同一个技能以后再提交,就是这个空间技能的新版本。不通过要写原因,作者看得到。

空间管理员审核成员提交的技能,新版本和空间里现有的那份逐行对比,加上的标绿、删掉的标红,整个技能包可以下载下来看
复制一份的好处是两边互不牵扯。作者手里那份可以接着改,空间里那份只在下一次审核通过时才变。我们没做同事之间直接分享技能。技能绕过管理员传来传去,出了问题,没人说得清它在谁手里、谁在用。
企业技能发给全公司(商业版)。 系统管理员上传技能包,或者把某个空间里好用的技能“收为企业技能”,发给全部空间(以后新建的空间也有)或者选定的几个。发到的空间里,成员默认都能用。空间管理员可以在本空间停用,或者收窄给某几个部门用,内容改不了。内置的 Word、Excel、PPT 技能也算在这一层,单空间的开源版里同样能停用和收窄。
三层里有同名的,企业的优先,空间其次,个人最后。对话进行到一半时技能发了新版本,这个对话照旧用开始时那一版,不会中途换掉。
技能要用的密钥,谁管这一层谁来填。 技能包里可以声明环境变量,比如调某个接口要的密钥,个人技能就是自己填。值加密存,填完只能改、看不到原文。技能在对话里加载以后,它跑的命令才带上这些值,命令输出里出现的值会被换成星号。往上一层复制时不带值,由上一层重填,因为个人填的很可能是他自己的账号。
接业务系统,智能体按本人的权限办事
MCP 是智能体接外部系统的通用协议,GitLab、Jira、内部 OA 都可以做成 MCP 服务接进来。v0.0.3 只支持一种接法,空间管理员填好请求头,全空间共用这一份凭据。查公开资料的服务这样没问题。换成 GitLab、Jira 这类系统,共用一份凭据,等于每个成员都拿着管理员的权限在办事。
v0.0.4 把认证方式改成业内通用的四种,无需认证、共享凭据、个人访问令牌、OAuth 授权。 管理员填完地址,系统先去探一次。不要凭据的公开服务,默认无需认证。要凭据、对方又声明了 OAuth 的,默认 OAuth 授权,其余的默认个人访问令牌。

MCP 服务的四种认证方式,无需认证、共享凭据、个人访问令牌、OAuth 授权;调用由业务服务发出,带调用人自己的凭据,令牌失效只停这个人
个人访问令牌。 管理员写好令牌放在哪个请求头、带什么前缀、去哪里拿令牌。成员在“个人设置 → 连接”里填自己的,保存前先试连一次。
OAuth 授权。 保存时系统自动去对方那边注册应用。对方不支持自动注册的,管理员在对方那边建好应用,把 Client ID 和 Client Secret 填回来。成员点“连接”,跳到对方页面授权,回来就能用。令牌快过期时自动续,对方吊销了授权才提示重新授权。

成员在个人设置的“连接”里看到自己能用的 MCP 服务,公开服务可以直接用,要用本人账号的写明连接状态,令牌失效的提示重新连接
调用由业务服务发出,带的是调用人自己的凭据,DSH 的宿主进程里不经手。某人的令牌被对方拒了,只把他这一条连接标成失效,提示他重连,不会退回去用别人的凭据。还没连接的服务不进这个人的对话,模型会告诉他去哪里连接。
凭据跟着人走。谁的令牌失效,就只停谁,不拿共用的凭据顶上。
工具的放行也收紧了。每个工具一个三档设置,允许、需确认、禁用,按只读和写入分组。以前同步出新工具时照对方的标注直接放开,对方标了只读,调用就不用确认。现在新出现的工具一律先“需确认”,带一个“新”字,管理员看过再放。新登记的服务默认全体成员可用,要收窄就在服务详情里改“给谁用”。
企业 MCP(商业版)。 系统管理员登记一次,发给多个空间。要成员连自己账号的服务,每人连一次,在哪个空间都能用。某个空间先接好的服务,可以收为企业 MCP,每个工具的三档设置跟着上来,凭据重填。
个人的偏好自动记,团队的口径由管理员写(商业版)
记忆这一块,我们把两种东西分开放。
团队的口径写在空间说明里,比如“Q3 指财年 Q3”“报销以哪一版制度为准”。全公司都适用的约定写在企业说明里。两份都是管理员写的一段 Markdown,每份最多 3000 字,有模板,每次对话都整段带给智能体。企业说明在前,空间说明在后,有出入以空间为准,标了“【企业统一】”的以企业为准。每次保存都留一版,写错了能退回。
这两层没做自动学习。团队的口径要是能被某个人的一次对话改掉,同一个空间里的人拿到的说法就对不上了。成员觉得某句话该让全空间都知道,可以“建议给空间”,管理员看了自己去改。
团队口径不能让某个人的一次对话改掉,所以空间和企业这两层只让管理员写。
个人记忆记的是这个人自己的情况。成员说“记住我负责华东区”,或者说出以后都适用的偏好,比如“以后回答都用表格”,智能体调工具记下来,回答下方出一行提示,点进去就是“我的记忆”。成员说某条不对,它就改掉或删掉。
空间管理员可以把写入方式换成自动提取。每轮答完,后台从对话里提取,推测出来的先放“待确认”,成员点了“是的”才生效。成员手工改过的条目,后台不会再动。记忆每天整理一次,说法重复的合并,很久没提的往后排,到期的事项归档。

每轮对话带给智能体的背景,企业说明在前,空间说明其次,个人记忆最后;个人记忆分常驻的一段和按问题召回的几条
每轮对话常驻一段个人记忆,不超过 900 字,放这个人的身份和偏好。事实和在办的事按问题召回,最多 5 条、600 字,用 Milvus 做向量加关键词的混合检索。这一轮带上了哪些记忆,运行详情里都看得到。

“我的记忆”顶部只读地列出空间说明和企业说明,下面是个人记忆,分生效中、待确认、观察中,每条写明是对话里让记的还是系统提取的
有一个开关我们默认关了,按成员常引用的资料调整检索先后。打开以后,同一个问题,不同的人检索出来的先后不一样,复现和排查都难。要不要开,留给管理员定。
个人记忆整体也默认关,由空间管理员打开。每个人的记忆只有本人看得到,按空间分开,换个空间不带过去,被移出空间时一起删掉。IM 机器人用机器人自己的身份回答,暂时不用记忆。
知识库在空间里建,可以共享给全公司
知识库的层次没有变,还是在空间里建、在空间里维护,全公司都要用的资料只读共享给其他空间。没有个人知识库,个人手里的文件在对话里当附件用。这两版补的是授权,v0.0.5 起知识库和技能、MCP 一样可以按组织架构授权,也能批量授。
接上企业目录,授权跟着组织架构走
三层分好以后,接着要解决“谁是谁”。v0.0.5 把登录和组织同步补齐了。
登录方式在后台配。 系统管理员在“系统设置 → 登录方式”里增删 OIDC 和通用 OAuth2,可以配多个。不少企业自研的统一认证没有 id_token,要拿访问令牌再去调用户信息接口,通用 OAuth2 就是给这种情况准备的。客户端密钥加密存,页面上只显示末四位。
组织同步(商业版)。 管理后台多了“组织同步”,支持三种来源。
-
• LDAP/AD,部门可以按 OU 树、按组或按用户属性取;打开“用它登录”后,登录页就能用域账号登录,
CORP\账号的写法也认 -
• 企业微信,同步通讯录,电脑上扫码登录,在企业微信里打开直接免登
-
• 外部适配,企业自研的人事系统或统一认证写一个适配服务,实现取登录地址、换用户、部门列表、人员列表四个接口,就能接进来

组织同步页列出三种来源,LDAP/AD、企业微信和外部适配,写明能不能用它登录、上次同步了多少人和部门
同步来的部门树全系统一份。授权时多了“组织架构”一类,按层级选部门,可以含下级。空间成员页多了“成员规则”,比如某个部门(含下级)的人自动成为本空间成员,调岗进出部门时跟着变。
人员离职,目录里没了或者被禁用,账号就自动停用。目录配错时最怕一次同步停掉一大片人,所以加了保护。一次要停用超过 10% 且多于 5 个人,或者要移除超过 20% 且多于 3 个部门时,先挂起,管理员确认后再执行。

一次同步要停用 96 人,超过了误删保护的上限,先挂起没有执行,列出名单,管理员确认后再同步
授权操作本身也顺了。新增授权可以多选,几个人或部门、几个资源一次授上,一次最多 2000 条,要么全部成功,要么全都不变。
智能体本身的几处改进
v0.0.4 把 DSH 升到 0.2.2,照官方的完整配置补挂了工具结果裁剪,压缩上下文时先裁掉超长的工具结果,常常就省下一次做摘要的模型调用。
多跳和视觉检索改成按需。 这两种检索建好索引以后,以前每次都查。一般问题用不上多跳,白白多花几秒。现在默认按需,由智能体按问题决定开不开,知识库目录里告诉它哪些库能开。管理员也可以设成总是开,或者关掉。
快速问答也能读原文。 一条规定跨了几个分块,只命中开头和中间时,以前只能答一半。现在片段不全,快速问答会读命中处前后或者那一节,再作答。
回答里能直接画图。 回答里的 mermaid 代码块直接画成流程图、时序图、甘特图。用户要示意图时,智能体直接写 mermaid,不再另外生成图片文件。
沙箱还加了流式执行,默认关,给之后的批量处理打基础,这一版没有因此新增给模型的工具。
稳定性和部署
v0.0.5 的镜像同时有 linux/amd64 和 linux/arm64,同一个标签,按机器架构自动拉取。ARM 服务器上验证过的是 4K 内存页的内核,64K 内存页的还没验证。结构增强和视觉检索的镜像仍然只有 x86 加 NVIDIA 显卡的版本,ARM 部署要用时,放到一台 x86 显卡机上。
v0.0.4 修了一个会话隔离的问题。原来沙箱里的文件读写和命令,按路径里的对话 id 落到对应的容器,没有核对是不是发起调用的那个对话。对话 id 是 128 位随机数,界面和上下文里都看不到,但理论上能越过去。现在只认调用方自己的对话。
还有几处小改动。
-
• 沙箱里读一个文件,和业务服务的来回从 3 次降到 2 次,改一次文件从 4 次降到 2 次
-
• 空闲 30 分钟的对话自动释放,宿主内存不再只涨不降,下次发消息自动恢复,历史不丢
-
• 模型上下文较小时,长对话超长后先压缩历史再重试,原来这一轮直接失败
-
• 业务服务重新加载权限时碰上数据库抖动,原来所有人都会没权限,现在隔 5 秒自动重试
版本全景
|
版本
|
方面
|
内容
|
| :-- | :-- | :-- |
|
v0.0.4(10 月 30 日)
|
技能
|
个人技能、提交与审核、企业技能(商业版)、内置技能可停用与收窄、环境变量加密注入
|
| |
MCP
|
四种认证、个人连接、OAuth 授权、工具三档、输入框 @ MCP、企业 MCP(商业版)
|
| |
记忆(商业版)
|
个人记忆、自动提取与待确认、空间说明、企业说明、Milvus 召回
|
| |
检索
|
多跳与视觉检索按需、快速问答读原文、关键词分词修正(商业版)、图谱大图先画关联最多的 150 个实体(商业版)
|
| |
智能体
|
DSH 0.2.2、mermaid 画图、交付文件卡片、流式执行(默认关)
|
| |
修复
|
会话隔离、空闲会话释放、超长先压缩、最大输出、“知识库答没答上”的判断放宽
|
| |
部署(商业版)
|
交付改成一个目录包,多跳检索一条命令部署
|
|
v0.0.5(11 月 3 日)
|
登录
|
后台配置 OIDC 与通用 OAuth2,扩展可登记域账号登录、企业微信免登
|
| |
组织
|
组织同步 LDAP/AD、企业微信、外部适配(商业版),按组织架构授权,成员规则
|
| |
授权
|
批量授权,一次最多 2000 条
|
| |
部署
|
镜像同时有 amd64 与 arm64
|
| |
修复
|
权限重载失败自动重试、撤销授权误删管理员默认权限、日志遮住令牌
|
接下来
v0.0.6 今天也发布了,带来智能问数,另写一篇介绍。
KnowWork 的智能体部分以 Apache-2.0 开源。内置知识库、记忆、多空间、企业技能与企业 MCP、组织同步属于商业版,想试用可以联系我们申请授权。我们也在招募共创客户,一起做企业私有化 Agent 产品,详情见 https://mp.weixin.qq.com/s/8iSlx3qiHFUPOavXlWopTA
项目地址 https://github.com/knowflow-ai/KnowWork ,欢迎提 Issue 和 PR 或关注 KnowFlow 企业知识库 加入交流群,也欢迎点个 Star。
更多推荐

所有评论(0)