- 博客(63)
- 收藏
- 关注
原创 cmitclaw
📚 **技能系统 (Skills)**:兼容 [OpenClaw](https://github.com/openclaw/openclaw) 和 [AgentSkills](https://agentskills.io) 规范,支持自动发现与环境准入控制 (Gating)。1. `~/.cmitclaw/config.json` (用户全局目录,**最高优先级**)| 5 | `./skills/` (当前目录) | **最后加载,优先级最高** |
2026-02-27 11:34:46
586
原创 制作提示词工具
摘要:本文介绍了一个基于Gradio构建的提示词生成工具,用户可通过选择动作(如定义、解释)、风格(如正式、幽默)和语气(如客观、积极),并输入具体内容来自动生成提示词。系统将用户选项组合成完整语句,例如"请你采用正式,专业的语气和客观,积极的风格,解释人工智能"。该工具界面简洁,支持多选项组合,可快速生成符合特定需求的提示词模板。
2026-02-27 11:14:04
38
原创 AIGC学习笔记
摘要:本文整理了一套AI交互模板系统,包含角色定义(CR)、背景指令(CSPEO)和内容创作框架。系统覆盖技术专家角色设定(如Kubernetes、数据库专家)、问题处理动作(定义/分析/比较等8类)、16种语言风格(从口语化到公文式)、13种情感语气以及35位中外作家风格参考。特别整合了18种网络营销模型(如FABE、AIDA等),并附联想YOGA新品营销案例,采用SPMS模型针对18-35岁年轻群体,强调产品性能与AI特性,要求文案兼具科技感与幽默风格。该模板体系可实现精准的AI内容生成控制。
2026-02-27 11:09:44
313
原创 MCP相关概念
摘要: Model Context Protocol (MCP) 是一个标准化框架,用于连接AI模型与外部工具、资源和环境,类似USB-C的统一接口。其架构包含三个角色:Host(用户交互的AI应用)、Client(执行MCP指令)和Server(提供标准化工具或数据)。MCP支持三类能力:Tools(可执行动作)、Resources(只读数据查询)和Prompts(预定义提示模板)。应用案例包括本地部署的Llama索引代理和基于Bright Data的网页抓取工具链,通过MCP实现动态工具调用与上下文响应
2026-02-27 10:59:04
760
原创 apisix问题定位三板斧
HTTP状态码与响应内容解析摘要 HTTP状态码(httpcode)用于表示请求状态,200表示成功,40x/50x分别表示客户端/服务端错误。响应体(httpresponsebody)通常是JSON格式,其内部code字段由业务定义。网关正常时透传业务响应,异常时会修改状态码和响应体。可通过浏览器开发者工具(F12)、Postman或curl -v查看HTTP响应状态,重点关注httpresponsestatus和x-apisix-upstream-status(或x-fgw-upstream-statu
2026-02-27 10:28:07
62
原创 一个异常返回的定位过程
摘要:在磐基2.0压测中发现约1%的503错误,经排查发现是HTTP chunked报文在转发过程中出现问题。通过分析Nginx源码和抓包发现业务模块在透传header时错误处理了"Connection:close"字段,导致报文组装失败。最终解决方案是业务代码改为重新生成HTTP头而非直接透传。该案例揭示了网关开发中header处理的最佳实践,以及多模块协作排查问题的复杂性,建议将复杂问题分解为简单问题组合解决。
2026-02-27 10:19:13
775
原创 一些git命令
git reset --hard HEAD^ 可以将指针还原到上一个修改git reset --hard HEAD^^ 可以将指针还原指向上上个修改git reset --hard HEAD~100 可以将指针还原到前100个修改git log --pretty=oneline 将输出信息放到一行
2018-10-16 18:21:18
389
原创 libnetwork
CNM模型定义了libnetwork的工作原理原来docker的网络相关的代码是直接在docker中的,网络功能也比较简单,对网络的诟病也是比较多,随着docker越来越向平台化发展,将功能组件逐渐从docker中解耦, docker从1.7把网络相关的代码从docker的代码中剥离出来新建了一个libnetwork项目,引入了CNM的网络模型。CNM网络模型主要引入三个概念: sandbox, ...
2018-07-13 12:52:42
1892
原创 docker private registry的搭建
Docker Private Registry的搭建1 前言通常开发者在Docker Hub上管理和维护镜像,而我们的Docker项目需要在华为内网Hub来做。因此,本文介绍了在本地物理机上部署一个private registry(简称私服),用Nginx反向代理控制,管理和维护镜像。Git Hub上的docker/docker-registry,是一个Registryserver的源代...
2018-07-13 12:52:35
2155
原创 区块链(1)
区块链的概念、价值与分类区块链是安全,可信,不可篡改的,基于P2P网络的分布式账本区块链的价值1.改变交易模式,从中心背书变成参与方直接交易,降低交易成本• 中心背书:淘宝模式• 第三方成本高: SWIFT交易费• 第三方难以建立: 跨国货运2.不可篡改,可追溯的记录• 中心化的记录攻击目标明显,存在内鬼风险• 区块链上的记录经过共识,无法作假• 分布式存储难以摧毁中心背书->参与方直接交易...
2018-07-13 12:52:13
389
原创 devicemapper
1. Device mapper和thinprovison1) Devicemapper简介Devicemapper是内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构,它包含三个重要的对象概念,Mapped Device、Mapping Table、Target device。图1devicemapper映射机制Mapped De...
2018-07-12 10:35:23
8606
原创 Docker的Graph Driver分析(2)
写时复制上边的是普通存储,下边的是按需分配联合挂载aufs文件级存储,通过挂载来实现diff目录保存各层具体文件系统的内容,即对各层挂载前的数据。layers目录保存镜像的层ID及之前的父子关系。mnt目录镜像的挂载点,即用户在容器里看到的文件系统的内容。AUFS原理(2)读写文件时发生了什么。删除文件和目录时发生了什么。Overlay原理(1)和AUFS相比,只有两点区别:只有两层。可以自动将镜...
2018-07-12 10:20:57
1254
原创 Docker graph driver介绍(1)
简介Docker的graph driver主要用于管理和维护镜像,包括把镜像从仓库下载下来,到运行时把镜像挂载起来可以被容器访问等,都是graph driver做的。涉及的docker命令有- Docker pull- Docker push- Docker import- Docker export- Docker ...
2018-07-12 09:42:53
10054
1
原创 NET Namespace(2)
1 释放网络命名空间内核中对于要释放的网络命名空间,都会通过struct net的cleanup_list成员链入全局释放链表cleanup_list中:加入cleanup_list全局链表后,将net_clean_up工作交给netns_wq工作队列,唤醒worker thread执行释放网络命名空间的操作。其中net_clean_up和netns_wq的定义如下:static DEC...
2018-07-12 09:40:45
1224
原创 NET Namespace(1)
1 概述在linux协议栈中引入网络命名空间,是为了支持网络协议栈的多个实例,而这些协议栈的隔离就是通过命名空间来实现的,一个net namespace为进程提供一个完全独立的网络协议栈的视图,包括网络设备接口、ipv4和ipv6协议栈、ip路由表、防火墙规则、sockets等。一个net namespace提供了一份独立的网络环境,就跟独立的系统一样。一个物理设备只能存在于一个net ...
2018-07-12 09:40:36
4984
原创 Mnt_namespace分析
1 简介1.1 背景Linux容器场景下实现对进程和其相关的资源的隔离,这些资源同样也包括了进程的文件系统环境。这就要求容器中有一个独立的文件环境,而容器中的进程共享这个文件系统环境,即容器自己的根文件系统环境。所以内核引入了mnt命名空间的概念,来实现文件系统环境的隔离。1.2 概述内核中通过mnt_namespace实现对根文件系统的环境的隔离,不同的mnt_na...
2018-07-12 09:40:25
4180
原创 Pid_namespace分析
1 概述Pid namespace是对进程pid的容器虚拟化,从pid的维度实现容器间的隔离。即在一个容器中只能看到属于该pidns的pid,从而在某种程度上实现了进程间的隔离。在容器中只能看到容器内的pid,但在宿主机上可以看到所有进程的pid,所以从看到的pid号的角度,这是有层级关系的,对应的,pidns在实现上也是有层级关系的,在高层次pidns中可以看到低层次pidns的信息,...
2018-07-12 09:40:10
3739
原创 user_namespace分析(2)
4 User_ns实现与验证以上分析的三点都是用户安全管理的基础,user_ns只是结合权能实现了一种局部用户的映射。User_ns的作用简单的说就是一个非特权用户可以创建一个user_ns,然后该用户可以作为该命名空间中的root特权用户,其它的跟在宿主机没有两样。在user_ns中该用户可以创建pid、net_ns等命名空间,并对其有root特权控制属于该命名空间的资源。4.1 ...
2018-07-12 09:39:23
2149
原创 user_namespace分析(1)
1 前言Linux系统的安全体系文件权限管理是通过自主访问机制(Discretionary Access Control,DAC)实现的。自主访问机制指对象(比如程序、文件或进程等)的拥有者可以任意的修改或授予此对象相应的权限。Linux的UGO(User、Ggroup、Other)和ACL(Access Control List,访问控制列表)权限管理方式就是典型的自主访问机制。Lin...
2018-07-12 09:39:16
2195
原创 Uts_namespace分析
1 简介UTS命名空间是Linux内核Namespace(命名空间)的一个子系统,主要用来完成对容器HOSTNAME和domain的隔离,同时保存内核名称、版本、以及底层体系结构类型等信息。UTS命名空间是扁平化的结构,不同的命名空间之间没有层级关系。Uts命名空间的用来隔离系统的这些信息,使得用户在容器中查看到的信息是当前容器的系统、版本,不同于主机的,内核通过uts_namespac...
2018-07-12 09:39:01
5582
原创 ipc_namespace
1 IPC概述linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基...
2018-07-11 15:52:31
4708
1
原创 Cgroup变化分析(2.6.34~3.10)
Cgroup变化分析 1 子系统2.6.34 3.10 说明 Cpuset Cpuset Ns 挂载ns cgroup后,可以在创建新命名空间时自...
2018-07-11 15:39:18
755
原创 cgroup-net_cls子系统分析
1 Net_cls1.1 原理net_cls子系统是用来控制进程使用网络资源的,它并不直接控制网络读写,而是给网络包打上一个标记,具体的网络包控制由tc机制来处理。net_cls实现的基本的思想就是将控制组和内核现有的网络包分类和调度的机制相关联。net_cls通过给控制组分配一个类标识符(classid)来指定该控制组的数据包将被分到哪个traffic class(net_...
2018-07-11 15:38:12
6199
2
原创 Cgroup-memory子系统分析(2)
1.1 Oom1.1.1 简介Oom的全称是out-of-memory,是内核在处理系统内存不足而又回收无果的情况下采取的一种措施,内核会经过选择杀死一些进程,以释放一些内存,满足当前内存申请的需求。所以oom是一种系统行为,对应到memcg的oom,其原理和动机跟全局oom是一样的,区别只在于对象的不同,全局oom的对象是整个系统中所有进程,而memcg oom只针对memc...
2018-07-11 15:36:38
3253
原创 Cgroup-memory子系统分析(1)
1 概述1.1 应用背景Cgroup的memory子系统,即memory cgroup(本文以下简称memcg),提供了对系统中一组进程的内存行为的管理,从而对整个系统中对内存有不用需求的进程或应用程序区分管理,实现更有效的资源利用和隔离。在实际业务场景中,为了防止一些应用程序对资源的滥用(可能因为应用本身的bug,如内存泄露),导致对同一主机上其他应用造成影响,我们往往希望可...
2018-07-11 15:32:17
10036
原创 Cgroup分析之cpu、cpuacct
1 组调度1.1 进程调度基础操作系统为了协调多个进程的同时运行,最基本的手段就是给进程设定优先级,如果有多个进程处于可执行状态,那么优先级高的进程先被调度执行。Linux内核将进程分为两种级别,普通进程和实时进程,实时进程的优先级高于普通进程,另外他们的调度策略也不同。实时进程的调度1、如果一个进程是实时进程,只要它是可执行状态的,内核就一直让它执行,以尽可能满足它对cpu的...
2018-07-11 15:16:10
9752
原创 cgroup-blkio子系统分析
1 概述Cgroup中的blkio子系统的主要功能是实现对磁盘i/o带宽的可定制化控制。目前支持的控制策略只要有两种:BLKIO_POLICY_PROP和BLKIO_POLICY_THROTL,即基于权重方式和基于流量方式。权重方式依赖于内核原生的CFQ i/o调度算法,i/o调度算法本身是工作在i/o调度层的,因此在使用上有一定的局限性,即被控制的设备必须使用cfq调度算法;为了弥补这...
2018-07-11 15:10:44
7131
原创 cgroup devices 子系统分析
一. devices子系统总体结构cgroup devices子系统通过为每个cgroup维护一个设备访问权限链表管理和控制cgroup中进程对设备文件读写访问和设备文件节点创建。从功能角度分析,devices子系统主要分为三个部分:子系统初始化接口、子系统文件接口和子系统访问控制接口。子系统初始化接口在cgroup初始化各个子系统时被调用,功能是继承或者创建一个设备访问权限链表,标识cg...
2018-07-11 14:58:24
2750
1
原创 syslog
Syslog1 内核日志基本框架内核日志是通过printk函数实现的,它与用户空间对应的函数printf具有同样的作用。内核创建一个名为_log_buf的Ring Buffer(环型缓冲区)来保存内核中打印的内核日志信息。而用户态可以通过Syslog相关的系统调用或者/proc文件以及/dev/kmsg设备节点来查看_log_buf的信息,这些操作都是通过do_syslog的系统调用接口...
2018-07-11 14:52:40
5557
1
原创 CFQ调度与blkio的权重控制
CFQ I/O调度算法与公平性保证(不涉及cgroup和组调度策略)Cfq调度算法旨在保证所用进程的完全公平性,相同的I/O调度周期内,进程被服务的机会是相同的。CFQ维护了一些列的调度队列cfq_queue,默认为64个,有io需求的进程会绑定到一个cfq_queue,即一个cfq_queue一个时刻只接受一个进程的请求,cfq_queue有一个私有的request红黑树,request红黑树上...
2018-07-11 11:47:29
3554
原创 user namespace和mount
嗯,关注user namespace,总结来说,如果用user namespace,进行mount时,需要满足1,当前进程(执行mount的进程)对当前mnt ns有sys_admin权限2,当前进程对当前user ns有sys_admin权限3,mount的文件系统支持FS_USERNS_MOUNT或者当前进程对init user ns有sys_admin权限4,mount的block dev(...
2018-07-11 11:36:26
631
原创 当远端库的名称修改后,如何快速更新本地库
Welcome to Git (version 1.9.5-preview20150319)Run 'git help git' to display the help index.Run 'git help <command>' to display help for specific commands.t00169790@PEKY2T001697901 /F/code/VRPV8_...
2018-07-11 11:36:11
587
原创 在冲突的情况下如何快速merge
Welcome to Git (version 1.9.5-preview20150319)Run 'git help git' to display the help index.Run 'git help <command>' to display help for specific commands.t00169790@PEKY2T001697901 /F/code/FENIX_...
2018-07-11 11:36:07
867
原创 merge
桂蕾(g00317626) 2015-09-29 16:29上游库的git地址假如为 git@xxx.git桂蕾(g00317626) 2015-09-29 16:30git bash进入到你的工作目录然后git add up git@xxx.gitgit branch br_jwsgit fetch up桂蕾(g00317626) 2015-09-29 16:31git rebase up/ma...
2018-07-11 11:35:51
226
原创 git合并commit点
假设我们现在log中有4个commit点处于已commit状态,git支持把一个commit点合并到其前一个commit点中,我们现在尝试把[Brf]这个点合入到[Ver]这个点中去 git rebase –i [commit id] (这里的commit id可以取[显示模版]之前那个节点的commitid)进入如下视图:注意这里的顺序与log里是相反的将[Brf]这个点前面的pick改为字母s...
2018-07-11 11:35:43
956
原创 git提交patch
Docker社区提patch1. 登录docker社区,fork你要贡献的repository到你的账户中。并下载代码到本地。2. $ git checkout -b [name] 创建一个分支,并切换到新的分支。例如:$ gitcheckout –b dev $ git branch 查看目前分支。3. 修改文件。修改之后要搭建环境进行测试。首先下载一个用于开发的Docker镜像,这里推荐使用d...
2018-07-11 11:35:38
2366
原创 标准IO-直接IO-异步IO笔记
标准IO-直接IO-异步IO笔记 1 标准IO通过read,write实现read: 如果数据在内存中,那么直接从内存中读出数据并返回给应用程序。如果不在内存,那么数据会被从磁盘读到也告诉缓存,然后再从页缓存拷贝到用户地址空间。wirte:数据从用户态拷贝到缓存即刻返回,并不会等数据写到磁盘上。优点:1. 使用内核缓冲区,分离用户地址空间和实际物理设备2. 减少磁盘读写次数...
2018-07-11 11:35:26
1345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅