<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tanzhe2017的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tanzhe2017</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tanzhe2017]]></copyright><item><title><![CDATA[cmitclaw]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/158459767</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/158459767</guid><author>tanzhe2017</author><pubDate>Fri, 27 Feb 2026 11:34:46 +0800</pubDate><description><![CDATA[📚 **技能系统 (Skills)**：兼容 [OpenClaw](https://github.com/openclaw/openclaw) 和 [AgentSkills](https://agentskills.io) 规范，支持自动发现与环境准入控制 (Gating)。1. `~/.cmitclaw/config.json` (用户全局目录，**最高优先级**)| 5 | `./skills/` (当前目录) | **最后加载，优先级最高** |]]></description><category></category></item><item><title><![CDATA[制作提示词工具]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/158459408</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/158459408</guid><author>tanzhe2017</author><pubDate>Fri, 27 Feb 2026 11:14:04 +0800</pubDate><description><![CDATA[摘要：本文介绍了一个基于Gradio构建的提示词生成工具，用户可通过选择动作（如定义、解释）、风格（如正式、幽默）和语气（如客观、积极），并输入具体内容来自动生成提示词。系统将用户选项组合成完整语句，例如&quot;请你采用正式,专业的语气和客观,积极的风格，解释人工智能&quot;。该工具界面简洁，支持多选项组合，可快速生成符合特定需求的提示词模板。]]></description><category></category></item><item><title><![CDATA[AIGC学习笔记]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/158459287</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/158459287</guid><author>tanzhe2017</author><pubDate>Fri, 27 Feb 2026 11:09:44 +0800</pubDate><description><![CDATA[摘要：本文整理了一套AI交互模板系统，包含角色定义（CR）、背景指令（CSPEO）和内容创作框架。系统覆盖技术专家角色设定（如Kubernetes、数据库专家）、问题处理动作（定义/分析/比较等8类）、16种语言风格（从口语化到公文式）、13种情感语气以及35位中外作家风格参考。特别整合了18种网络营销模型（如FABE、AIDA等），并附联想YOGA新品营销案例，采用SPMS模型针对18-35岁年轻群体，强调产品性能与AI特性，要求文案兼具科技感与幽默风格。该模板体系可实现精准的AI内容生成控制。]]></description><category></category></item><item><title><![CDATA[MCP相关概念]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/158458506</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/158458506</guid><author>tanzhe2017</author><pubDate>Fri, 27 Feb 2026 10:59:04 +0800</pubDate><description><![CDATA[摘要： Model Context Protocol (MCP) 是一个标准化框架，用于连接AI模型与外部工具、资源和环境，类似USB-C的统一接口。其架构包含三个角色：Host（用户交互的AI应用）、Client（执行MCP指令）和Server（提供标准化工具或数据）。MCP支持三类能力：Tools（可执行动作）、Resources（只读数据查询）和Prompts（预定义提示模板）。应用案例包括本地部署的Llama索引代理和基于Bright Data的网页抓取工具链，通过MCP实现动态工具调用与上下文响应]]></description><category></category></item><item><title><![CDATA[apisix问题定位三板斧]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/158458025</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/158458025</guid><author>tanzhe2017</author><pubDate>Fri, 27 Feb 2026 10:28:07 +0800</pubDate><description><![CDATA[HTTP状态码与响应内容解析摘要 HTTP状态码(httpcode)用于表示请求状态，200表示成功，40x/50x分别表示客户端/服务端错误。响应体(httpresponsebody)通常是JSON格式，其内部code字段由业务定义。网关正常时透传业务响应，异常时会修改状态码和响应体。可通过浏览器开发者工具(F12)、Postman或curl -v查看HTTP响应状态，重点关注httpresponsestatus和x-apisix-upstream-status(或x-fgw-upstream-statu]]></description><category></category></item><item><title><![CDATA[一个异常返回的定位过程]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/158457533</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/158457533</guid><author>tanzhe2017</author><pubDate>Fri, 27 Feb 2026 10:19:13 +0800</pubDate><description><![CDATA[摘要：在磐基2.0压测中发现约1%的503错误，经排查发现是HTTP chunked报文在转发过程中出现问题。通过分析Nginx源码和抓包发现业务模块在透传header时错误处理了&quot;Connection:close&quot;字段，导致报文组装失败。最终解决方案是业务代码改为重新生成HTTP头而非直接透传。该案例揭示了网关开发中header处理的最佳实践，以及多模块协作排查问题的复杂性，建议将复杂问题分解为简单问题组合解决。]]></description><category></category></item><item><title><![CDATA[一些git命令]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/83095382</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/83095382</guid><author>tanzhe2017</author><pubDate>Tue, 16 Oct 2018 18:21:18 +0800</pubDate><description><![CDATA[git reset --hard HEAD^ 可以将指针还原到上一个修改

git reset --hard HEAD^^ 可以将指针还原指向上上个修改

git reset --hard HEAD~100 可以将指针还原到前100个修改

git log --pretty=oneline 将输出信息放到一行

]]></description><category></category></item><item><title><![CDATA[libnetwork]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81011818</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81011818</guid><author>tanzhe2017</author><pubDate>Fri, 13 Jul 2018 12:52:42 +0800</pubDate><description><![CDATA[CNM模型定义了libnetwork的工作原理原来docker的网络相关的代码是直接在docker中的，网络功能也比较简单，对网络的诟病也是比较多，随着docker越来越向平台化发展，将功能组件逐渐从docker中解耦， docker从1.7把网络相关的代码从docker的代码中剥离出来新建了一个libnetwork项目，引入了CNM的网络模型。CNM网络模型主要引入三个概念： sandbox, ...]]></description><category></category></item><item><title><![CDATA[docker private registry的搭建]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81012245</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81012245</guid><author>tanzhe2017</author><pubDate>Fri, 13 Jul 2018 12:52:35 +0800</pubDate><description><![CDATA[Docker Private Registry的搭建1      前言通常开发者在Docker Hub上管理和维护镜像，而我们的Docker项目需要在华为内网Hub来做。因此，本文介绍了在本地物理机上部署一个private registry（简称私服），用Nginx反向代理控制，管理和维护镜像。Git Hub上的docker/docker-registry，是一个Registryserver的源代...]]></description><category></category></item><item><title><![CDATA[区块链(1)]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81015006</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81015006</guid><author>tanzhe2017</author><pubDate>Fri, 13 Jul 2018 12:52:13 +0800</pubDate><description><![CDATA[区块链的概念、价值与分类区块链是安全，可信，不可篡改的，基于P2P网络的分布式账本区块链的价值1.改变交易模式，从中心背书变成参与方直接交易，降低交易成本• 中心背书：淘宝模式• 第三方成本高: SWIFT交易费• 第三方难以建立: 跨国货运2.不可篡改，可追溯的记录• 中心化的记录攻击目标明显，存在内鬼风险• 区块链上的记录经过共识，无法作假• 分布式存储难以摧毁中心背书-&amp;gt;参与方直接交易...]]></description><category></category></item><item><title><![CDATA[devicemapper]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81011695</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81011695</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 10:35:23 +0800</pubDate><description><![CDATA[1. Device mapper和thinprovison1)      Devicemapper简介Devicemapper是内核中支持逻辑卷管理的通用设备映射机制，它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构，它包含三个重要的对象概念，Mapped Device、Mapping Table、Target device。图1devicemapper映射机制Mapped De...]]></description><category></category></item><item><title><![CDATA[Docker的Graph Driver分析(2)]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81011191</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81011191</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 10:20:57 +0800</pubDate><description><![CDATA[写时复制上边的是普通存储，下边的是按需分配联合挂载aufs文件级存储，通过挂载来实现diff目录保存各层具体文件系统的内容，即对各层挂载前的数据。layers目录保存镜像的层ID及之前的父子关系。mnt目录镜像的挂载点，即用户在容器里看到的文件系统的内容。AUFS原理(2)读写文件时发生了什么。删除文件和目录时发生了什么。Overlay原理(1)和AUFS相比，只有两点区别：只有两层。可以自动将镜...]]></description><category></category></item><item><title><![CDATA[Docker graph driver介绍(1)]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81010495</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81010495</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 09:42:53 +0800</pubDate><description><![CDATA[简介Docker的graph driver主要用于管理和维护镜像，包括把镜像从仓库下载下来，到运行时把镜像挂载起来可以被容器访问等，都是graph driver做的。涉及的docker命令有-         Docker pull-         Docker push-         Docker import-         Docker export-         Docker ...]]></description><category></category></item><item><title><![CDATA[NET Namespace(2)]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81002482</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81002482</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 09:40:45 +0800</pubDate><description><![CDATA[1      释放网络命名空间内核中对于要释放的网络命名空间，都会通过struct net的cleanup_list成员链入全局释放链表cleanup_list中：加入cleanup_list全局链表后，将net_clean_up工作交给netns_wq工作队列，唤醒worker thread执行释放网络命名空间的操作。其中net_clean_up和netns_wq的定义如下：static DEC...]]></description><category></category></item><item><title><![CDATA[NET Namespace(1)]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81002166</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81002166</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 09:40:36 +0800</pubDate><description><![CDATA[1      概述在linux协议栈中引入网络命名空间，是为了支持网络协议栈的多个实例，而这些协议栈的隔离就是通过命名空间来实现的，一个net namespace为进程提供一个完全独立的网络协议栈的视图，包括网络设备接口、ipv4和ipv6协议栈、ip路由表、防火墙规则、sockets等。一个net namespace提供了一份独立的网络环境，就跟独立的系统一样。一个物理设备只能存在于一个net ...]]></description><category></category></item><item><title><![CDATA[Mnt_namespace分析]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81001981</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81001981</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 09:40:25 +0800</pubDate><description><![CDATA[1      简介1.1      背景Linux容器场景下实现对进程和其相关的资源的隔离，这些资源同样也包括了进程的文件系统环境。这就要求容器中有一个独立的文件环境，而容器中的进程共享这个文件系统环境，即容器自己的根文件系统环境。所以内核引入了mnt命名空间的概念，来实现文件系统环境的隔离。1.2      概述内核中通过mnt_namespace实现对根文件系统的环境的隔离，不同的mnt_na...]]></description><category></category></item><item><title><![CDATA[Pid_namespace分析]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81003281</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81003281</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 09:40:10 +0800</pubDate><description><![CDATA[1      概述Pid namespace是对进程pid的容器虚拟化，从pid的维度实现容器间的隔离。即在一个容器中只能看到属于该pidns的pid，从而在某种程度上实现了进程间的隔离。在容器中只能看到容器内的pid，但在宿主机上可以看到所有进程的pid，所以从看到的pid号的角度，这是有层级关系的，对应的，pidns在实现上也是有层级关系的，在高层次pidns中可以看到低层次pidns的信息，...]]></description><category></category></item><item><title><![CDATA[user_namespace分析(2)]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81004134</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81004134</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 09:39:23 +0800</pubDate><description><![CDATA[4      User_ns实现与验证以上分析的三点都是用户安全管理的基础，user_ns只是结合权能实现了一种局部用户的映射。User_ns的作用简单的说就是一个非特权用户可以创建一个user_ns，然后该用户可以作为该命名空间中的root特权用户，其它的跟在宿主机没有两样。在user_ns中该用户可以创建pid、net_ns等命名空间，并对其有root特权控制属于该命名空间的资源。4.1   ...]]></description><category></category></item><item><title><![CDATA[user_namespace分析(1)]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81004118</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81004118</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 09:39:16 +0800</pubDate><description><![CDATA[1      前言Linux系统的安全体系文件权限管理是通过自主访问机制(Discretionary Access Control,DAC)实现的。自主访问机制指对象(比如程序、文件或进程等)的拥有者可以任意的修改或授予此对象相应的权限。Linux的UGO(User、Ggroup、Other)和ACL(Access Control List,访问控制列表)权限管理方式就是典型的自主访问机制。Lin...]]></description><category></category></item><item><title><![CDATA[Uts_namespace分析]]></title><link>https://blog.youkuaiyun.com/tanzhe2017/article/details/81004164</link><guid>https://blog.youkuaiyun.com/tanzhe2017/article/details/81004164</guid><author>tanzhe2017</author><pubDate>Thu, 12 Jul 2018 09:39:01 +0800</pubDate><description><![CDATA[1      简介UTS命名空间是Linux内核Namespace（命名空间）的一个子系统，主要用来完成对容器HOSTNAME和domain的隔离，同时保存内核名称、版本、以及底层体系结构类型等信息。UTS命名空间是扁平化的结构，不同的命名空间之间没有层级关系。Uts命名空间的用来隔离系统的这些信息，使得用户在容器中查看到的信息是当前容器的系统、版本，不同于主机的，内核通过uts_namespac...]]></description><category></category></item></channel></rss>