使用 open core 写了一个阿里巴巴选品的脚本,功能非常全面,支持自定义筛选,可以通过命令行或者 open core 直接调用,甚至你可以让 ai 帮你分析推荐产品。所需命令均由 ai 通过技能生成,不需要你记住命令,你只需要大白话描述你的需求即可, 可以将结果导出到文档,方便后续使用。以下是使用展示。
粉丝94获赞230

今天和大家聊一个有趣的发现啊,不知道大家在反问一些国外的模型时,有没有发现过提示您所在的地区无法使用的情况?那在国内要反问这些国外的模型该怎么办呢? 有需求就有市场嘛,我们市场市面上就出现了不少 a p i 代理服务的网站,就比如说 d m 叉 a p i 啊,钱多多 a p i 等等。在这些平台上充值后就可以使用包括 g p t 啊,呃, cloud account 啊在内的多种模型,它们基本上都通过 new a p i 去实现的。 其实六 b a p i 的 核心原理本质上就是 api 转发,但它不是简单的传话筒,而是做了一层风,标准的风装和智能调度的一个智能网关。 既然是转发,因为我本身就是学网络工程出身嘛。我心里就不明,有个疑问,如果我付费的是高级模型,会不会被悄悄转发到相对性能相对一般的模型呢?于是我就做了一个小小的测试,我向他提问,只请只回复当前的 model id。 当时我选的是 cloud code 的 高级最强的模型 office 四点五,但是他回复我的是 sonic 的 模型,选又属于中配的版本吧。我接着就追问,你不是 office 吗?他甚至给我解释了 office 跟 office 的 区别,并且强调自己不是 office。 虽然我还没去确认这到底是魔神本身的 bug, 还是这类代理服务存在以次充好的情况,但是这件事提醒我们,在使用服务时确保 要保持一定的辨别意识很重要。索尼其实也不差,甚至比国内的很多模型还要强。但是如果我们付费的是 opps 的 钱,但是蛋蛋希望得到的是相应的能力, 所以大家在选择这类辅食不妨多方面去验证一下,用更实际的方式测试模型的表现。

你的 openclaw 和 hermes 还在花钱调用大模型的 a p i 吗?今天我教你用零成本本地部署奥拉玛,在你的电脑上直接跑大模型,还能无缝对接 openclaw 和 hermes, 实现免费玩 ai 智能题工具。首先介绍一下欧拉玛,什么是欧拉玛呢?欧拉玛是目前最简单的本地模型工具,在 windows、 mac 和 linux 上都支持,几分钟就能装好,八 g 内存就能跑。当然了,还是建议最少要安装十六 g 内存, 这样体验起来更加流畅。如果有英伟达的显卡,还能够使用 g p u 加速。了解完了欧拉玛是什么之后,我们来看一下欧拉玛如何安装。首先我们要访问欧拉玛的官网欧拉玛点 com, 它的首页是 一个羊驼抱着一个龙虾,下面的英文是 power open claw with ollama, 中文的意思就是使用 ollama 为龙虾赋能,从这一点我们就能看出它是全面的拥抱和支持 open claw 了。这也是为什么今天我要在 open claw 的 专栏里专门做一期 ollama 视频的原因。 废话不多说了,首先要下载欧拉玛,点击右上角的 download, 这里我们可以看到它有 mac os、 linux, windows 的 下载方式自动已经给我们定位到了 windows, 点击这个黑色的 download for windows 按钮, 就会弹出下载框,点击另存为保存,有点大,两个 g, 这个网速非常感人,所以我建议大家用迅雷来下载。 我们已经下载完了欧拉玛的这个安装包,下面我们就开始安装欧拉玛的安装有一个问题,就是它没有让你选择 需要安装的文件夹这个选项,它默认是安装到我们的 c 盘 user 底下的,如果你想安装到指定的文件夹,那你需要换一种方式,我们先把这个安装过程停止。 我们找到拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇拇 斜杠 d i r 等于这里写上我们的安装地址,也就是记盘的欧拉玛文件夹。打回车就跳出来安装界面,我们点击安装,大家可以看这里已经安装到记盘的欧拉玛这个文件夹下面。 进了这个界面,就代表着欧拉玛已经成功安装并且启动了。安装好了欧拉玛,我们再来看如何下载模型。在欧拉玛的网站上点击这个 models, 就 可以进入模型列表,这里都是可以使用欧拉玛直接下载使用的模型。我们来找一下 谷歌的 jam 四,这个是最近小模型中比较好的,可以通过这一句欧拉玛 ram 四来进行下载。 输入奥拉玛 ram 捷摩斯回车运行。安装完了,我们来跟他说一句话试试。我们在这里输入一个,你好打个回车。 好的,扎马四已经回复了我们,虽然有点慢,但那是我电脑性能的问题。大家可以看到现在已经成功地让大模型在我们的电脑上运行起来了。再下一步我们就来看如何把欧拉玛接入到 open cloud 中。 ctrl d, 我 们来退出欧拉玛,然后输入 openclaw config, 进入 openclaw 的 设置,这个我们直接选择本地运行,这个我们选择第二个 model, 打回车进入,然后我们要在这里找欧拉玛, 这个就是欧拉玛提示我们欧拉玛不可用。我们来重新编辑一下 openclaw 的 配置文件。 openclaw 的 jason, 这个就是 openclaw 的 配置文件。我们来找一下 allow 这一项,这里就是扩展的 allow 这一项,我们要在这里添加上 alama。 我 们来运行 openclaw config 来设置 openclaw 的 大模型。 选择默认的本地模式,这个我们选择第二项 model, 就是 设置模型,这个是选择模型的提供商,我们来找一下 alama, 这个是询问我们选择云服务还是本地模式。我们选择最后一个本地模式,这个是欧拉玛默认的 b、 c、 l。 回车,这个是有哪些可用的模型?只有一个,我们按空格选中回车确认 提示,我们已经把模型信息写入了配置文件,我们退出。我们回到 open 可乐,这里是我们 问了 openclaw 一 句你使用的什么模型,他们回,他回答,我使用的是谷歌的伽马四。我们这次的 olamata 下载安装以及安装模型,以及如何在 openclaw 中使用 olamata 模型。到这里就结束了,关注,我每次 都给大家带来一个 ai 的 新知识,感谢大家的观看,再见。

呃,如果要统计啊,过去十分钟里面每个 a p i 的 访问次数,而并且呢,我要根据访问量,对吧?然后去展示前面一十或者说一百个 a p i, 你 会怎么设计?嗯,可以用 us 记录每次的请求,然后定时统计。呃,这个问题啊,其实就是在考察你的技术广度, 在高病发场景下面,如何去实现 a b i 的 实时统计呢?我们先来理一下 a p i 的 一个核心需求,如果你担心简历上的东西讲不出来,我已经把面试经常问到的一些技术站场景题都整理在两百万字的面试文档了,里面针对每个知识点都有很详细的解析思路, 只要你是我的粉丝,留言六六六就可以打包带走。第一个,我们要统计过去十分钟每个 a p i 的 访问次数,并且呢数据要实时更新。而第二个呢, a p i 可能非常多,调研量非常大,那么统计的过程你不能拖慢主体的 信。而第三个,我需要看版展示出最高的前 n 个 api, 比如说前十或者说一百。如果只是低并发症的场景啊,我们直接去用拦截器,然后用本地缓存激素就可以了啊。但是呢,在高并发症下面可能会有性能问题和存储的问题,所以啊,我们需要一套异步的可扩展的架构。 下面呢,我来讲两套就比较常见的一个方案啊。那么第一个呢,就是基于 flink 卡不卡 reddit 加 graphing 啊。首先呢,我们可以通过 a o p 或者过滤器来拦截我们的 api 请求,但是啊,不要同步去处理, 而是要把请求的网址一步发送到卡不卡消息队列里面去,然后这样呢,可以做了一个解偶,避免统计的逻辑啊,阻碍我们的 主业务线程。接下来呢,我们需要一个流处理框架,比如说刚刚讲到的 flink 啊,从卡不卡消息网址里面,对吧,去拿到数据,然后 flink 呢,可以开启一个十分钟的滑动窗口,每隔一段时间,比如说五秒统计一个窗口的 api 访问次数,然后窗口滑动统计的同时啊,计算结果呢,就实时的更新到我们的 reddit 里面去, 因为我们要展示 top end, 那 么 reddit 里面我们就可以用数据库就是有序集合来去保存啊,可以把 api 路径作为一个 key, 对 吧?然后访问次数呢,作为我们的 score, 然后每次更新呢,直接用 the increase by 去增加次数就可以了啊。最后呢,前端看版,我们可以用 graph 呢连接到 reddit, 然后通过 reddit 的 数据源直接查询数据库里面前 end, 并且呢做实时的刷新仪表盘,当然 command 也可以,但是呢, graph 呢,对 reddit 的 知识呢更好一些。 这套方案的优点呢,就是完全一步不影响主系统的性能,而且 flink 的 窗口计算呢,保证了数据的实时性和准确性, release 的 source set 啊,能高效的获取 top m 啊。然后还有一套方案呢,就是我们公司已经有 e 二 k 体系的话呢,你就可以用 e 二 k 这样一套体系啊来去啊,作为统计 啊,弄个袋式来负责采集握本服务器的访问网址,比如说 nix 的 网址,然后解析出 api 的 路径和时间戳,然后,然后呢写入我们的 e s 里面,然后 e s 啊,按时间缩影存储这些日制,并且利用它的聚合功能,实时地统计最近十分钟里面每个 a p i 的 访问 次数。然后 command 就 可以作为可适化的工具,创建一个 dashboard, 添加一个 top a p i 的 一个聚合图标,设置时间过滤器为最近十分钟。然后聚合字段呢,为我们的 a p i 路径排序,前 n 的 呢,我 就可以拿出来,并且呢,开启自动刷新就能实时展示了。 e l k 的 方案的优点呢,就是你不需要额外的开发,开箱即用,还能长期存储日制,便于回溯。缺点呢,就是时效性啊,稍微差一点会有一个秒级别或者说分钟级别的延迟。呃,还需要维护套 e l k 集群资源开销比较大。 这两种方案呢,都可以满足需求啊。至于选择哪一种,取决于公司现有的技术栈和实施性的要求。如果追求极致的实施性和轻量级的,你就可以引入一些流处理的足迹啊。然后如果你已经有成熟的一二 k 体系了,那你就直接用它反而更快,你不需要重复的去倒笼子。

我在微信聊天窗口用上了所有最顶级的 ai, 包括 deepsafe 聊天图片生成、视频生成。前段时间微信不是开放接入 open crawl 了吗?当时我就想,我们每天都离不开的一个聊天工具,里面住着一个什么都会的 ai, 那 岂不是太酷了?除了偶尔问问他问题,他能给我发发日报, 那他还能干点啥?既然小龙虾都可以写代码,那么请求 a p i 接口岂不是轻轻松松?所以我就想把它的技能给加满,我想让它拥有图片生存和视频生存的能力。那么先到同一万象找一个深图模型, a p i 直接丢给小龙虾,让他帮我接入深图的能力。 哇!我没想到高质量的 ai 图片就这么水灵灵的在这里生成出来了,那么一不做二不修,我想让我的微信名下再拥有视频生成的能力,但是我一看这个 cds 二点零咋还不开放 api 呢?对比了一下,我最终选择微赌 q 三的模型来接入。别问为什么,微赌的视频模型 也是第一梯队,而且这个 a p i 很 早就开放了,也比隔壁便宜,而且升值速度还更快。拿到微赌的 a p i 同样我们发给小龙虾,让它接入微赌 q 三模型,这样我们的微信头像近乎满血,来看一下它升成视频的效果。 ok, 大家可以按照我的方式去把你的小龙虾装上各种盔甲,我是嘎嘎,下期再见!

介绍一下酷 max switch 的。 呃,零零零六版本啊,这个版本进行了一个相对比之前更新了一个非常大的更新,就是我们现在可以显示 啊,或者说增加多个配置,你可以用 deepsea 的, 你可以加别的,当然这个别的很多的我还没有去增加,对对于它们的兼容啊,你可能如果有报错可以给我反馈,然后这里做了一个更新,就是什么呢? api 的 用量,你可以看到 我现在的余额,我是可以直接看到了,我不用再去翻网页了。然后第二个就是我们增加了沙盒测试,那这个地方你就可以去设置是否允许沙盒去互联网访问,是否允许他只读还是工作去写入还是按需去提示。 然后第三个就是我们在插件解锁这个地方我们做了一个更新,当然我不确定每个大家不同的这个都能都能支持哈,但是我这边倒是还好,都是可以的啊,然后你开启之后,然后再重新写入就可以了 啊,然后整个界面我觉得做的也比较直接了啊,然后这就是啊更新的内容,然后当你缩小的时候有一个点啊缩小 对讲话你会发现顶部其实这个地方,你会发现我们的这个 a p i 的 这个开销其实就已经可以非常直观的看见了,然后它是每隔一分钟去刷新一遍啊,你可以实时的就看到你的这个开销啊,非常的直观,非常的这个好用,我觉得是 就这个顶顶部你可以看到,哎,我其实不缩小我都可以看到啊,它的开销啊,非常好。

录一个视频讲解一下。呃, codex 如何去接入 deepstack 的 api? 那 网上视频很多啊,然后去讲解,但我认为太麻烦了,就我自己也做了一个。 然后这个比较简单,就是打开我们的这个界面,然后这里就是对应的接口嘛,然后默认的,然后模型就是你用你要用的模型, 比如说你可以打开这个接口,文档有这个 flash p r o 之类的都可以啊,然后你自己去配,我这里是用了 flash, 然后 api 接口就是这里 啊, api 接口就是这里,在这个开放平台这里 api k, 然后你添加了一个 k, 然后添加 k 之后粘到这个界面,粘到这里 啊,然后其他的都不用管了,健康端口就是用默认的这个幺幺四三四就行,你也可以改啊,都可以。然后第一步是什么呢?第一步就是我们在这里,在这里去配置对应的这个模型和 api k, 然后接下来就是启动, 然后我这里已经点点完启动了哈,然后我就可以进入第二步,这里有三步嘛?第一步我们已经启动这个调节了,然后第二步就是打开片号设置,然后我们可以去写入这个文件,那我这里就点击写入文件, ok, 完事。 然后接下来第三步就是健康检查,其实也不用检查。第三步其实就是直接打开 codex 就 可以了, 然后你等那个 codex 现在已经变成了 local breeze 啊,然后问一下 hi, 然后它这边就会,因为因为我没有进入到项目文件啊,然后它就直接是在一个还没有项目文件的情况下,然后去发送, 然后我们看它的一个处理效果是怎么样的?然后你可以看到海尔那个后壳还没有得力啊,然后说明我们已经对接成功了啊?这就是很简单,然后如果你后边不需要的时候,也可以在这个片号设置里,然后去把它给恢复,也都可以啊。

家人们, cloud desktop app 能上网了你知道吗? cloud desktop 为了安全考虑,本地客户端默认只允许访问 api antropic com 官方接口,不支持直接连接其他 ip 或域名,这可太让人头疼了,毕竟访问网络是咱们使用它的核心诉求啊!不过呢,今天我发现了一个超简单的办法,填一个符号就搞定了, 操作也不复杂,首先在 call 中打开开发者模式,然后点顶部的 developer, 下拉菜单,找到 configure third party inference。 接着注意看左边有个叫 sandbox workspace 的 选项,点开它,里面有一行叫 allowed grasshoppers, 翻译过来就是允许访问的域名。这时候啥都别犹豫,直接填一个新号,然后保存, 就这么简单搞定了。现在科二就可以访问任意网站了,用起来跟正常浏览器一模一样。 家人们如果觉得这个技巧有用,就赶紧点赞收藏,关注三联,这样就不会错过更多 ai 工具使用技巧了。你们在使用科二的时候还遇到过什么问题呢?快在评论区留言交流吧!

嗯,如果你要去统计过去十分钟每个 api 的 一个访问次数,并且实时展示访问量最高的前十或者前一百个 api, 你 会怎么去设计呢?嗯, 可以用约的是记录每一次的请求,然后做定时统计。这个问题其实是在考察你的个技术广度,在高激发场景下,如何去实现实时的一个 api 统计。我们先理解下核心需求,第一,要统计过去十分钟每个 api 的 一个访问次数,并且数据是 只是更新的。第二, a p i 可能非常多,调用量很大,统计过程不能拖慢主系统。第三,要看版,展示访问量最高的前 n 个 a p i, 比如前十或者前一百。 如果只是低病发的一个场景,我们直接在拦截器里面用本地缓存技术其实就可以了。如果你担心简历上的东西讲不出来,我已经把面试经常问到的一些技术站场景题都 整理在两百万字的一个面试文档了,里面针对每个知识点都有很详细的一个解析思路,只要你是我的粉丝,留言六六六就可以打包带走。但高云发下这么做会有性能和 存储的一个问题,所以我们需要一套异步可扩展的一个架构。下面我来分享两种常见的方案。方案一,基于 flink 卡夫 卡 reddit 的 一个实时流处理。首先我们可以通过 aop 或者过滤器拦截 ip 的 一个消息队列里,这样做可以解偶,避免统计逻辑阻 测这个主业务的一个进程。接下来我们需要一个流程里的框架,比如 flink, 从卡芙卡消费日制数据, flink 可以 开启一个十分钟的一个滑动窗口,每隔一定时间统计一次窗口内的一个 api 的 一个访问 次数。窗口滑动的同时,计算结果会实时更新到 radis 中。因为我们要展示 top n radis 的 里面的一个 sort set 就 非常适合,可以把 a p i 的 一个路径作为成员,访问次数作为分数,每次直接更新用这个 z increase by 增加技术。最后,前端看板可以用 graph finder 连接 radis, 通过 radis 数据源直接查询 sort the set 的 前英文,并做成实时刷新的一个仪表盘替代呢,也可以,但 graph finder 呢,对 radis 的 一个支持是更好一些的。这套方案的一个优点是完全异步,不影响主 系统的性能。而且 flink 的 一个窗口计算保证了数据的一个实时性和准确性。 reddis 的 一个 sort 的 set, 它能够高效去获取 拓文。第二个方案,如果你的公司里面已经有这个 e o k 的 一个日制体系,那么就可以直接附用这套设施。 lockstand 负责采集 web 服务器的一个访问日制,解析出 api 路径和时间戳,然后写入 elastic search elasticsearch, 它按照时间缩影存储这些日期,并利用它的一个聚合功能,实时统计最近十分钟每个 a p i 的 一个访问次数。一般的呢,作为可视化工具,创建一个 dashboard, 添加一个 top a p i 的 一个聚合图标,设置时间过滤器为最近十分钟。聚合字段为 a p i 的 路径排序,取 前 n 个并开启自动刷新,就能实时展示 e l k 的 一个方案。优点是无需额外开发,开箱即用,还能长期存储日记,便于回溯。缺点是实时性略差,会有秒级到分钟级的个延迟,并且需要维护一套 e l k 的 集群资源,开销较大。两种方案都可以满足需求,选择哪个去 取决于公司现有的一个技术战和实施性的一个要求。如果追求极致的实施性和轻量,且愿意引入流处理的一个组建,那么方案一更合适。如果已经有成熟的 e o k 体系,直接用它就能快速实现,不需要去重复造轮子。

不用敲代码,不用花一分钱买服务器,我只用一句提示词就做出了别人随时都能点开访问的个人网站,还能免费永久上线。跟着我零基础也能直接学会。打开项目文件夹,切换到 solo 模式, 描述我们的需求,包含技术栈、 ui 风格与开发目的,查看并修改需求文档。点进新建任务,输入开发命令, 复制运行命令,在终端运行, 粘贴命令后点击回车 c t r l 加鼠标左键点击链接本地预览网页是否符合要求, 将代码推送至远程仓库,需要提前进行远程仓库链接,将仓库地址直接发给他就可以。检查上传结果,进入 notify 托管网页文件, 点击添加新项目,选择从 github 导入,选择我们的网站 github 仓库,点击发布, 等待部署完成。部署完成后,通过该链接就可以访问到你的网站了。 咱们这期只做了前端静态页面,下期我带着大家接入 superbase 做后端,实现数据存储留言功能,彻底做成一个完整的动态网站。感谢您的观看,咱们下期再见!

面试官问,如果统计过去十分钟每个 api 的 访问次数,还要实时的展示 top 十或 top 一 百,你会怎么设计? 很多人啊,上来就说用拦截器加本地 map 技术,说完就直接卡壳了。兄弟们,这到二零二六年了,高病发场景下这么搞,不仅啊,数据会不准,还会把主县城去拖垮。面试官一听啊,就觉得你啊缺乏架构思维,这题基本就凉透了。 其实啊,面试官考察的根本不是你如何去写代码,而是你懂不懂动作与状态的一个结奥,懂不懂在海量数据下如何保证高性能和高扩展性? 今天呢,就用大白话讲透两套实战方案,面试直接照着说,瞬间可以拉开差距,要是你还不知道如何提升,建议参考我这份大厂批六到批七的学习路线图,还有扎瓦高频面试题, 喊盖了市面上八成项目场景跟八股文,短时间内快速提升技术能力,有需要的可以拿走,希望给大伙带来帮助。首先啊,要明确三个核心难点,数据要实时更新,不能拖慢主业务,还要能高效的算出排名前。低病发下本地缓存确实够用, 但高病发下必须要上异步架构。第一套方案,卡夫卡加 radis, 这是追求极致性能的首选 核心思路啊,就四个字,一步解偶。第一步啊,通过 aop 或过滤器拦截请求,但千万别同步处理,直接把请求日期扔到卡福卡的消息队列里。这一步啊,把统计逻辑和主业务彻底的分开,哪怕统计挂了 接口啊,照样可以响应用户,高可用性直接拉满。第二步,搞个消费服务,从卡不卡拉数据,利用啊滑动窗口算法,比如每五秒计算一次过去十分钟的访问量。 第三步,计算结果实时写 readys, 这里啊,有一个技巧,用 readys 的 zset, p 呢是 api 的 路径, score 是 访问的次数,每次更新啊,直接用 zkrb 的 命令,既原子又高效。最后啊,前灯焊板连 readys 直接 zrange 去前一版,配合 graph 呢,做实时刷新。这套方案优减很明显,完全一步不堵塞主流场。 滑动窗口呢,可以保证实时准确。 radis 呢,搞定排名简直啊,就是一个降维打击二号发。 如果呀,公司有 e l k 体系,可以直接服用,万不要再到轮子了,很多大厂啊都有成熟的 e l k 战, 这个时候引入卡不卡,反而啊,会增加维护的成本。直接让 logstouch 采集 n g 或应用程序也吸出啊 api 和时间扔进 es, 利用 es 强大的聚合查询,设置时间过滤器为最近的十分钟,按 api 路径分组技术 再排个序, top n 啊,就瞬间出来了。企巴纳呀,配个 dashbox, 设个自动刷新,看版也就有了。这套方案 主打一个开箱即用,还能长期存日制,方便回收查询。缺点嘛,实时性啊,比卡福卡方案稍差一些,可能啊,有秒级的延迟, 且集训资源消耗开销有点大。总结一下面士官想听的是你的选型思路,如果追求极致的实时和清量,选择卡福卡加 rad, 整体亦步皆有,性能是无敌的。如果啊,已经有成熟的基建, 选 e l k 降本增效,快速落地。关于选哪一个核心呢,都是异步处理加分层胶,这才是架构师该有的思维。

可 auto 的 权限模式一定要先搞懂,当它要编辑文件,运行哨命令或者访问网络时,会暂停并请求你批准。 default 模式最保守,基本只读,适合新手和敏感项目。 accept dips 可以 读文件改文件,也能执行常见文件系统命令。 push 模式适合先探索方案,不急着动代码。 auto 适合长时间任务,可以减少频繁确认。 最危险的是 bypass permissions, 它会跳过权限提示。这个模式只建议放在隔离容器虚拟机或者可丢弃的测试目录。记住一个原则,先保守再放权。

那我们提到了这个访问 api 啊,那我们首先就来看一下一个核心的概念,就是 api 的 令牌健全啊。什么是令牌呢啊?这个令牌啊,它其实有点像什么东西呢?哎,它其实啊,就有点像 你们家的钥匙,哎,令牌啊,它其实呢,就像咱们家的钥匙,哎,家家门的钥匙,对不对?哎? 假如说,哎,咱们同学回家了,对不对啊?我想在家里边吃饭啊,我想在家里边洗澡,我想在家里边睡觉,对不对?啊? 那你是不是第一步得先进门呀?对不对?那假如说你都不是这个家的人,那你凭什么在这个家里面啊,吃饭睡觉,洗啊洗澡,对不对?啊?那所以说我们的第一步啊,那我们想访问 a p i 也是类似的,那我们先得有这个令牌,也就说我们想回家,那第一步是不是先得有钥匙呀?啊? 假如说我们没钥匙,我们是进不了门的,那同样我们没有令牌,我们是访问不了这个接口的,对不对?啊?那么提到令牌啊,那这块其实是有三种令牌啊,就是第一种啊,是这个个人访问令牌啊,这个个人访问令牌啊,它有一个什么样的一个特点呢?就说个人访问令牌啊,它是这个扣子平台提供的这种 一种令牌啊,它是用于这个 a p i 请求健全的,你可以在这个扣子平台中生成个人访问的令牌啊,同时呢,就是说你还可以授于他本人所拥有的所有空间的访问权限啊, 这个呢,其实就是个人令牌啊,然后这个服务令牌是什么东西呢?服务访问令牌啊,它是以一种这种服务的身份创建的一种长期有效的令牌啊,它是用于这种 服务之间的一种访问啊,然后这个 office 访问令牌呢? office 访问令牌它其实相比于前两种,它是一种,它是一个一串这种字母串啊,然后呢,它是允许一个应用程序在特定的时间内啊进行一个访问啊,那是不是看到上面这三个特点,是不是感觉有点绕啊?啊? 没关系,我们来以一个具体的例子哎,来帮着大家来快速的理解一下这三个令牌的区别啊。想象一下这么一个场景啊,就是咱们学校里边哎,有一个校园外卖代拿的这么一个业务啊,然后呢,刚好比如说,哎,是一个礼拜五,咱们同学呢,在宿舍里边玩王者荣耀呢,对不对?你玩的很嗨呀啊, 刚好那你玩的很嗨的时候呢,你的外卖到了,那你的外卖到了,那你说这个时候怎么办?你总不能说我不玩了,对不对?刚好因为你还跟你们宿舍的人开着黑呢,那假如说你不玩,那你就想其他兄弟们上分,对不对啊?那这个时候呢,那你其实哎,可以让一个 这种外卖代拿的这个人,他帮你去把你的外卖给你取回来,对不对啊?那然后我们以这个场景展开来看一下咱们这三种令牌的区别啊, 就是这个,呃,当你让校啊这个校园代拿外卖的这个服务,他专门帮你去取外卖的时候,那首先这个个人令牌他就相当什么东西呢?他是不是就相当于你的学生证啊?啊?就说 假如说这个代拿的同学哎,他为了安全起见,那他必须得先知道你是本校的学生,对不对啊?那你是学生之后,我才能帮你去拿外卖,因为我只服务于咱们本校的学生啊。那你不可能说一个校外的人让我帮你拿外卖,因为我本来就是做这种校园外卖代拿的,对不对啊? 那么这个时候呢,假如说他每次都要让你来登录系统来证明你是这个学生,那你是不是很麻烦呀?对不对啊?那这个时候呢,你直接,哎,你直接就把你的学生证展 示出来啊,你直接把你的学生展示出来,那这个时候呢?其实就是说,哎,他的这个代拿外卖,这个同学,他一看到你玩游戏这个同学的学生证,他一看,哦,原来你是咱们学校大学生,对不对?那我现在就可以帮你去拿外卖了啊。好,那等你知道了 是学生之后啊,就是你是咱们学校的学生之后,那我走到这个外卖架这边去取外卖,那想想我们现在取外卖是不是会有一些这种柜子呀?外卖柜啊,那外卖柜里边的这个外卖可不是是个人都可以随便拿的,对不对?那他是不是会给你一个取餐码呀?对不对啊? 这个呢,其实比如说像咱们这种外卖柜子,或者是像咱们这种蜂巢的快递柜子,他是不是都会给你一个取件码?而且啊,这个取件码他是要有时效期的啊, 因为人家这个外卖的柜子就说他不是说永久的保留你这份外卖,等你拿了之后,是不是还有一个下一个同学的外卖放进去,对不对?那么这个时候呢,你给 这个帮你取外卖同学的这个取餐码其实就是一个 office 反面镜牌,就说他拿着这个 office 反面镜牌可以去外卖柜子里面去干什么呢?他能够拿到你所需要的外卖啊? 好,那然后等到他取到了外卖,他是不是就需要给你往楼上来送了,对不对啊?那然后刚好他走到了楼下,你的宿管阿姨说,哎,你是谁啊?你好像不是我们学校学生啊,不允许你进啊, 你不是这栋楼的学生,你没有进我们这栋楼的资格,那怎么办呢?那这个时候啊,那肯定这个送外卖的这个同学,对不对?因为他们是做的是跟学校的这个外卖代拿的合作,那他其实就应该允许他进宿舍楼,对不对啊?那这个时候呢,那他需要出示什么呢?他是不是需要出示他的工作证啊?他就告诉,哎,宿管阿姨,我是 代拿外卖的一个同学,我是咱们学校的宿舍楼,帮着同学们送外卖,对不对?那么这个时候呢 啊,帮着你代拿外卖同学的他的工作证其实就是一个服务令牌啊,就是说这个服务令牌啊,他其实是什么呢?他其实是你们的这个学校和代拿外卖公司之间的一个通行证啊,就是这个其实就是我们的 服务令牌。等到他把这个工作证出示给了宿管阿姨之后,阿姨看了之后说,嗯,没错,你就是 外卖公司,就是代拿外卖公司的同学啊,你可以上我们的楼,那你就去吧。然后呢,这个外卖送外卖的同学,哎,他帮着咱们打游戏的同学把这个外卖送上来,那刚好你也不影响你玩游戏,同时你还可以吃到外卖,对不对啊?那整个这个过程啊,这三种令牌就对标的啊,将个人的访问令牌、学生证 ox 访问令牌是你的取餐码, 到最后服务访问令牌就是你的这个代拿外卖人的工作证啊。那结合上面的例子,我们可以看一下这三种令牌的一个区别啊。 就是首先个人访问令牌,他代表的是谁呢?他代表的是用户,那其实因为刚刚也提到了,他是你的学生证,对不对?他是代表咱们同学自己啊,那他呢,其实是要有一个长身份周期的,也就说咱们同学上大学这四年,是不是咱这个学生证都是有效的啊?那就算咱毕了业,那咱这个学生证 也是可以保留的,对不对?因为我是可以永久保留的,那只不过就是你这个学生证,那可能就不能坐火车去免费了,对不对?但是你想想四年,它这个相对的,它这个周期还是比较长的,就说我们的个人访问令牌,它的生命周期还是比较长的啊。 然后这个 office 访问令牌什么东西呢?它就相当于是用户的授权,也就是刚刚咱们提到的这个一次性的取餐码,那你想想它的生命周期是不是就很短?你这次柜子取完了之后,你觉得你还能拿这个码接着再取吗?对不对?而所以说这种 office 访问令牌啊,那它其实就是一个 比较短期的有效的一个令牌,就类似于这种啊,一个一次性的取餐码啊。然后到了这个服务令牌,那它呢,其实是代表的是应用本身啊,也就说是服务之间的调用啊,就类似于咱们的这个外卖公司和咱们学校谈成了合作,允许 外卖公司的人拿着这个工作证去进咱们的宿舍楼,对不对?那么这个时候呢,服务令牌它其实也是一个工作证去进咱们的宿舍楼,对不对?那么这个时候呢服务令牌它是一个长期的, 那这块的话,其实就是我们针对于上述三个令牌的一个总结啊。那然后我们在项目中,也就是我们在我们课程中去访问扣子 api 的 话呢,我们重点使用个人令牌啊,因为我们其实就是用户嘛,对不对?所以说我们来使用个人令牌啊, 那么到了这块的话,那我们就首先来看一下如何来创建咱们的个人令牌,我们来点击一下,先访问网址空间啊,我们点一下它, 好,在这块的话我可以进行一个添加,添加一下个人令牌啊,好,你看一下现在是不是有一个令牌的名称啊?对不对啊? 然后呢还有一个过期时间,你看一下现在它的这个时间是怎么选的呢?你看一下它是不是最长是多少天?就是三十天,对不对啊?因为你自定义的时候呢,它也不能超过一个有效期啊。 那他你想想他这个三十天,虽然说你觉得不是很长,但是你想想,相比于这种一次性取餐码,这个一天或者几个小时的,那他已经足够的长了,对不对?他已经足够的长了,对不对?那所以说这块的话,我们就直接默认选择三十天吧。啊?好, 然后的话在这块,哎,我们再给他做授权的话,因为我们想做一个全量的访问,对不对?我们尽可能的把我们发布到扣子商店里面,所有的项目,比如说我们的 智能体或者是我们的应用,我们都想访问的到。哎,我们将来想在我们的个人系统里面把这些能力都集成起来,那么这个时候的话,其实我们就来一个全选,我们不管无所谓了,就把它加上,然后这块需要选择工作空间的话呢,那我就直接来选择一个我们这个空间。好,然后我来点击上一个,确定 好看一下,现在我的这个令牌是不是就已经生成了呀?啊?我的这个令牌就已经生成了,然后这块咱们同学们需要注意一下,就是什么呢?就是人家这块这个令牌只显示一次,对不对啊?就说这个令牌只显示一次,你要把这个口子给他关了就没了啊?那所以说咱们同学尽可能的先把它复制保存下来,就在这块点击一个复制, 它保留下来,然后的话我们就可以关掉这个窗了啊,我们可以关掉这个窗,那我们可以把它拿过来啊,我们可以把它展示过来啊。那这个东西呢,其实就是我将来访问什么呀?就是我访问 我的空间 a p i 的 令牌,就是我的个人令牌啊,这个呢就是咱们同学自己你们在将来去调用,就是你们在调用 a p i 的 时候,你们去生成个人访问令牌的时候也是类似的啊,就把我们的这个令牌保存下来啊,三十天之内有效啊,那它还是够我们去做一些调用使用的。

嗯,如果你要去统计过去十分钟每个 a p i 的 一个访问次数,并且实时展示访问量最高的前十或者前一百个 a p i, 你 会怎么去设计呢?这个问题其实是在考察你的个技术广度,在高音发场景下,如何去实现实时的一个 a p i 统 计。我们先理解下核心需求,第一,要统计过去十分钟每个 a p i 的 一个访问次数,并且数据是实时更新的。第二, a p i 可能非常多,调用量很大,统计过程不能拖慢主系统。第三,要看版展, 是访问量最高的前 n 个 a p i, 比如前十或者前一百。如果只是低病发的一个场景,我们直接在拦截器里面用本地缓存技术其实就可以了。如果你担心简历上的东西讲不出来,我已经把面试经常问到的一些技术站场景题都整理在两百万字的一个面试文档了, 里面针对每个知识点都有很详细的一个解析思路,只要你是我的粉丝,留言六六六就可以打包带走。但高运发下这么做会有性能和 存储的一个问题,所以我们需要一套异步可扩展的一个架构。下面我来分享两种常见的方案。方案一,基于 flink 卡芙卡 reddis grafana 的 一个实时流处理。首先我们可以通过 a o p 或者过滤器拦截 ip 的 一个请求,但不要同步处理,而是把请求日制异步发送到卡芙卡的一个消息队列里。这样做可以解偶,避免统计逻辑堵塞这个主业务的一个进程。接下来我们需要一个流处理的框架,比如 flink, 从卡芙卡消费日制数据 link 可以 开启一个十分钟的一个滑动窗口,每隔一定时间统计一次窗口内的一个 a p i 的 一个访问次数。窗口滑动的同时,计算结果会实时更新到 read 中,因为我们要展示通 n reddit 的 里面的一个 sort set 就 非常适合,可以把 a p i 的 一个路径作为成员,访问次数作为分数,每次直接更新,用这个 z increase by 增加技术。最后,前端看板可以用 graph finder 连接 reddit, 通过 reddit 数据源直接查询 sort set 的 前英文名,并做成实时刷新的一个仪表盘。其他呢,也可 可以,但 java 呢,对 react 的 一个知识是更好一些的。这套方案的一个优点是完全异步,不影响主系统的性能。而且 flink 的 一个窗口计算保证了数据的一个实时性和准确性。 react 的 一个 sort 的 set, 它能够高效去获取托 盘。第二个方案,如果你的公司里面已经有这个 e o k 的 一个日制体系,那么就可以直接附用这套设施。 block stench, 负责采集 web 服务器的一个访问日制,解析出 api 路径和时间戳,然后写入 elastic search elasticsearch, 它按照时间缩影存储这些日期,并利用它的一个聚合功能,实时统计最近十分钟每个 a p i 的 一个访问次数。一般的呢,作为可视化工具,创建一个 dashboard, 添加一个 top a p i 的 一个聚合图标,设置时间过滤器为最近十分钟。聚合字段为 a p i 的 路径排序,取前 n 个并开启自动刷新,就 实时展示 e o k 的 一个方案,优点是无需额外开发,开箱即用,还能长期存储日制,便于回溯。缺点是实时性略差,会有秒级到分钟级的个延迟,并且需要维护一套 e o k 的 集群资源,开销较大。两种方案都可以满足需求。选择哪个 取决于公司现有的一个技术占和实时性的一个要求。如果追求极致的实时性和清量,且愿意引入流处理的个组建,那么方案一更合适。如果已经有成熟的 e o k 体系,直接用它就能快速实现,不需要去重复造轮子。

前面有一些这个朋友反映这个在那个给那个 cloud 配置 nvidia 那 个一拍的时候,有一些遇到问题, 特别是这个啊,由于在登录这个代理服务器的时候,就暂时登录的时候,然后出现这个密钥已失效这个问题,那它主要是什么问题呢?我们演示一下,就打开这个这个网址啊,我们在输入这个密钥的时候,登录它就提醒我们这个密钥已经失效了, 那么需要这样做啊,我们先把这个代理服务器关掉,然后呢再进入到这个文件里面编辑,我们能看到这个这里面的这个密码它已经改掉了,它自动改的,那么我们这里就是要把它改成我们想要的密码,然后呢再再次打开这个代理服务器,然后让它后台运行, 然后刷新一下这个页面,在这里输入我们刚才设置的密码,那么这个记住密码这个勾选一定要选上, 我们下次在基本的时候就不会有问题了,那么后面都是一样的,要配置这个这个 nvd 的 这个 api, 我 们点测试,点测试运行 icc switch 里面去配置这个啊,模拟名称啊,那尤其是这里啊,进行地址还是要注意是这个 logo house 的 那个地址啊,那么整个流程这样下来是通的,那就没问题,我们就可以启动这个 cloud, 那 么这样就是说,呃,我们能够 用到免费的这个 tokens, 我 们测试一下这里输入一个 hello 吧,对,这样有反馈就说明是通的啊。