LinuxDo 新帖推送
183 subscribers
252K photos
315K links
Download Telegram
标题: 找到ssh连不上的原因了,但不知道咋解决
作者: #Haggi
板块: #开发调优
编号: 1494790
帖子: https://linux.do/t/topic/1494790
时间: 2026-01-21 15:49:45
摘要:
刚在rn买了个服务器 


开发调优



在racknerd买了个服务器,发现开启tun模式无法连接ssh,关闭tun模式(使用系统代理)才可以访问,想问问大家有没有解决办法?

最终:
给配置覆写规则
[image]
get新技能了~



继上次买了服务器之后,发现怎么也连不上ssh,最后发现在家里连不上,出去就连上了,原来是家里网络的问题,中国移动的,目前暂时不知道咋解决
部署的项目可以ip访问,唯独ssh连不上
标题: 玩不明白盖碗、总是烫手、太难了
作者: #马保国
板块: #搞七捻三
编号: 1494793
帖子: https://linux.do/t/topic/1494793
时间: 2026-01-21 15:50:13
摘要:
喝不明白岩茶
玩不明白盖碗
点不明白线香
看茶友群里说xx岩茶好喝、我完全喝不出来…
买了三个盖碗了、还是都烫手…
买的芽庄沉香、点了闻着也不太行…
标题: 论 Skills 的哲学含义
作者: #李琼羽
板块: #资源荟萃
编号: 1494801
帖子: https://linux.do/t/topic/1494801
时间: 2026-01-21 15:50:43
摘要:
大家好,我是李琼羽,我没啥拿得出手的title,所以就不做这方面的介绍了。
另外,本文不过多介绍skills是什么,也不教怎么使用,也不会推销 “好用的skills”,如果对这些有期待,本文可能不适合。

零、引言
把 agent 放进真实工作里,很快会发现它最常卡住的不是“不会思考”,而是“没在这个组织里做过事”。同样一份报告,你们团队默认的结构、口径、审阅点;同样一次上线,哪些检查是硬规则、哪些是踩过坑才知道的优先级;同样一次对外沟通,哪些信息永远不能外发、哪些措辞必须保留——这些东西通常不在公开知识里,也不在模型参数里,而是活在组织的惯例、清单、事故复盘、师徒传承里。
Anthropic 在工程文章里提出的 Agent Skills,切中的就是这类“怎么做事”的经验:把实践性的、程序性的知识(procedural knowledge)封装成一组 agent 可动态发现与按需加载的“文件夹化能力包”,里面可以包含指令、脚本与资源;并且他们直白地类比:写一个 skill 很像给新员工写 onboarding guide——把做事方法捕获、打包、共享,让通用 agent 变成适配具体场景的专门化 agent。
当这套机制在 2025 年底被发布为开放标准并强调跨平台可移植时,它就不再只是某个产品的“提示词技巧”,而是开始变成一种更接近基础设施的形态:经验被对象化、可分发、可组合、可审计。
然而,这个转变,本身就是哲学问题。

一、Skills 的“技术轮廓”,及其哲学问题
一个 skill 最朴素的形态是一个目录,核心文件是 SKILL.md。
它必须以 YAML frontmatter 开头,至少包含 name、description;agent 启动时会把每个已安装 skill 的 name/description 预加载进 system prompt;当判断相关时,再把完整 SKILL.md 正文读入上下文。
这套机制的关键词是 progressive disclosure:先加载极小的“目录级线索”,再按需加载正文与引用文件;当 skill 变复杂,可以把更细的内容拆到额外文件,由 agent 在需要时再去读。
Anthropic 甚至把它写成一种“手册式分层”:目录(元信息)—章节(SKILL.md)—附录(references/assets/scripts)。在有文件系统与代码执行能力的 agent 上,技能目录里可捆绑的上下文“几乎无上限”,因为并不需要把所有内容一次性塞进上下文窗口,真正需要时再读取、再执行。
但把边界说清楚也同样重要:在当前实现语境里,skills 的“注入”主要是中性工程意义的——把外部文件内容拼接进系统提示与上下文以影响推理与计划;它并不天然负责工具协议、通信、权限治理。开放规范里出现 allowed-tools 字段,恰恰说明了这一点:它更像“权限声明/预批准清单”的雏形,并被标注为 Experimental,且明确写着“支持程度因实现而异”。也就是说,是否强制执行、如何执行,仍主要由宿主 runtime/产品层决定。
到这里为止,skills 看起来像更系统化的 prompt 工程。但它真正有趣的地方在于:它把“经验”变成了可保存、可分发、可调用、可审计的对象;而且这种对象还天然带有目录结构、版本元信息、可选脚本与资源——它已经很像一种“可维护的知识工件”,而不是一次性对话。(不同实现可能会有的信息也略有不同,以后的迭代中可能也会加入更多信息,所以,细节不重要)

二、从 know-how 到“可调用的记忆”,Skills 把经验外置成一种可移植的组织“小脑”
skills 在工程上解决的是“怎么做”的问题,而哲学里对“会做”这类知识有一条经典区分:know-how 与 know-that。
Ryle 传统里,know-how 并不等价于“掌握一堆命题”,更不是先在脑内默背规则再执行;恰恰相反,很多情形里“会做”在逻辑上反而先于“会说”。
Anthropic 对 Agent Skills 的定位(onboarding guide 式的 procedural knowledge 封装)几乎是对这条区分的工程化回应:把组织里的 know-how 尽可能变成 agent 可读、可执行、可复用的形式。
但这里立刻会碰到另一条更尖锐的边界:Polanyi 说“我们知道的多于我们能说出的”。也就是说,许多实践能力带着默会性:能做,却很难完整说清规则。
skills 的现实策略并不是“消灭默会知识”,而更像一种切片:把能写下来的部分(流程、模板、禁区、常见坑、例外处理)固化为手册与清单;把不易言说但又关键的部分,留给模型的情境推理与人类的复核机制去兜底。这个切片是否切得好,决定了 skills 的价值上限。
把视角再往外推一步,会看到 skills 与 Bernard Stiegler 讨论的“技术性记忆”之间有一种意外的贴合:人的记忆与主体性并不只发生在大脑里,还会被技术媒介外置与塑形(tertiary retention / technical memory)。
skills 的哲学意味正在这里:它把组织经验做成一种可移植的外部记忆环境。经验不再只住在“某个老员工的脑子里”或“某次复盘会议的氛围里”,而是被写成目录、Markdown、脚本、引用资料——一种可以安装、更新、复用的记忆模块。
这也解释了一个常被低估但很实用的点:skills 虽然主要给 agent 用,但它天然也是“给人学”的。因为它的写作形态从一开始就被定义成 onboarding guide。
写得好的 SKILL.md,本质上是一份高质量的经验教材:把关键不变量、关键步骤、关键风险、常见坑与例外处理压缩成可读结构,让“做对”变得更可重复。
这种“把经验写成清单/手册”的价值,在人类世界早就被反复验证。以外科安全清单为例,WHO 在新闻稿中总结:引入 checklist 后,重大并发症从 11% 降到 7%,住院死亡从 1.5% 降到 0.8%(这组数据来自多中心研究与其后续传播材料)。
这并不是让医生更聪明,而是在复杂系统里减少“明明知道却没做到”的错误。skills 对 agent(以及对新人)的作用,也非常接近这一点:把容易忘、容易省、容易误解的经验固定成外部记忆,让执行更可靠。

三、写下规则不等于会用规则,维特根斯坦式的提醒
skills 大量内容是规则与流程,但维特根斯坦传统的 rule-following 讨论提醒我们:规则并不自动携带其应用方式;同一条规则永远可能被不同地解释,而“遵循规则”最终依赖共同体的用法与实践语境。
把这点放回 skills,会得到一个极其工程化的结论:降低误用的关键,不是把步骤写得更长,而是把“用法边界”写得更硬。Agent Skills 的开放规范几乎是在把这条哲学翻译成写作建议:正文推荐包含 step-by-step instructions、inputs/outputs examples、common edge cases,并提醒正文会在激活时整体加载,太长就拆到 references。
从这里往前推一小步,就很自然了:当 skills 规模化,examples/counterexamples 会越来越像“单元测试”;边界情况与失败模式会越来越像“回归用例”。一个成熟的 skill 体系会逐渐长出这些东西:
写作上,它不再是“说明书”,而是“带样例的可执行契约”:输入是什么、输出是什么、什么情况下必须停下、什么情况下必须升级、什么情况下宁可慢也不能赌。
运维上,它不再是“放在那儿的文件夹”,而会被监控:触发率、成功率、失败原因的聚类、常见误触发路径、回滚策略——像监控 API 一样监控 skill。
哲学上,这意味着规则不再被当作“意义的来源”,而是被当作“行动的边界装置”:它不保证正确,但它把错误收敛到可见、可修、可复盘的范围内。

四、technê 能被手册化,phronêsis 不能
亚里士多德区分 technê(可重复的技艺/制作之知)与 phronêsis(实践智慧)。在 Aristotle 的伦理学讨论里,一个关键判断是:practical wisdom 不能仅靠学习一般规则获得,还需要通过实践形成“在每个场景里看见什么选择更好”的能力。
这句话几乎就是 skills 的哲学上限:skills 非常擅长固化 technê——流程、模板、清单、工具用法;但它不可能把 phronêsis 完整写成规则。成熟的 skills 体系反而应该承认这一点,并把最昂贵的经验写在“判断点”上:

什么时候必须停下来问人(例如合规、隐私、对外口径、不可逆变更)。
什么时候必须升级(例如影响面超过阈值、跨团队协调、风险等级提升)。
什么时候宁可慢也不能赌(例如资金、生产、法律与安全相关动作)。

也因此,“更高级的 skill”往往不是更长的 SOP,而是更清晰的停机点与升级条件——把判断空间留出来,让流程为实践智慧服务,而不是让行动变成盲目执行。

五、当经验可分发、可触发,Skills 更需要治理
当 skills 进入组织化使用场景,它不只是知识传播,也在规定什么叫“正确做法”。福柯讨论 modern power 时强调 governmentality(治理理性)以及规范、技术与程序在
标题: 使用 Terraform 部署 Proxmox 虚拟机
作者: #小小大头兵
板块: #开发调优
编号: 1494824
帖子: https://linux.do/t/topic/1494824
时间: 2026-01-21 15:56:14
摘要:
IaC 定义
代码即基础设施 (IaC) 是现代 IT 运营中的一种常见实践,它使用代码来管理和配置计算基础设施,而不是使用命令行工具]或 GUI 接口进行手动硬件配置。手动硬件配置容易导致实现不一致和错误。组织可以通过使用代码自动化基础设施设置来确保其环境的可重复性和一致性。
常用 IaC 工具概述
CFEngine率先使用声明式、幂等的 DSL 来安装软件包和管理服务器上的配置文件,Puppet 和 Chef 随后出现。随着时间的推移,其他工具因其可靠性、适应性和在各行业的广泛接受而日益突出。这些包括:
Ansible。最初由 于 2012 年编写,并于 2015 年被 Red Hat 收购,Ansible 是一款开源的 IaC 工具套件,涵盖软件配置、配置管理和应用程序部署功能。Ansible 是无代理的,依赖于通过 SSH 或 Windows 远程管理的临时远程连接,允许执行 PowerShell。系统配置使用 YAML 定义。
AWS Cloud Development Kit (CDK)。亚马逊网络服务 (AWS) 开发的开源软件开发框架,用于使用熟悉的 编程语言 定义和配置云基础设施资源。支持的语言包括 C#、Go、Java、JavaScript 和 Python。CDK 包含一个更高级别的构造和预构建组件库,这些组件封装了一个或多个 AWS 资源及其配置。构造可用于构建更高级别的抽象,称为模式。
Chef。Progress Chef 是一款用 Ruby 和 Erlang 编写的配置管理工具。它使用纯 Ruby 领域特定语言 (DSL) 来编写系统配置“配方”,然后可以将这些配方分组到“cookbook”中以方便管理。它可以与 Amazon EC2、Google Cloud Platform (GCP)、Microsoft Azure 等集成,以自动配置和配置新机器。
OpenTofu。OpenTofu 是 HashiCorp 的 Terraform 的一个开源分支,于 2023 年 8 月创建,以应对该公司将其 IaC 产品转向更严格许可证的决定,OpenTofu 使用声明式 OpenTofu 配置语言,并与 AWS、Azure 和 Google 云服务兼容。
Pulumi。Pulumi由前微软员工Joe Duffy和Eric Rudder于2017年创立,Pulumi是新一代IaC工具之一,主要面向云端设计。它采用命令式方法定义基础设施。开源的Pulumi CLI和SDK为用户提供了一种管理各种公共云提供商(包括AWS、Azure和GCP)的云基础设施的方法。代码可以使用多种语言编写,包括C#、Go、Java、JavaScript、Python、TypeScript和YAML。
Puppet。 Puppet使用其自身的声明式语言来描述系统配置。它可用于在数据中心和云基础设施中配置、修补、配置和管理操作系统和应用程序组件。
Terraform。 Terraform由HashiCorp开发,能够管理本地和云端资源。Terraform用户使用称为HashiCorp Configuration Language (HCL)或JSON的声明式配置语言来定义和配置数据中心基础设施。它支持一系列提供商,包括AWS、Google Cloud和Microsoft Azure,非常适合云环境。
这些工具不仅有助于自动化基础设施的设置和管理,而且支持创建可重用和版本控制的基础设施代码,从而提高可扩展性和易于维护性。
本文目的
通过 Terraform 调用Proxmox VE 的 REST API 在创建虚拟机,其中使用的是cloud-init 模版

将平台虚拟化
快速创建销毁实验环境
体验基础设施即代码 IaaS

环境概述
pve: 8.4.1
Terraform:开源的基础设施即代码工具
terraform-provider-proxmox:Terraform Proxmox Provider,通过 Proxmox VE 的 REST API 在创建虚拟机。
pve
如何安装pve此处不详细展开,具体参考本目录下关于pve的篇章
创建Cloud-Init Template
这里选用 Cloud-Init 的方式,从 cloud-init template 来克隆虚拟机。cloud-init 的虚拟机可以完成一些高级定制的初始化工作,具体参考 Cloud Init 文档。
下载Cloud-Init 镜像
登陆到 Proxmox VE 宿主机,下宿主机目录下下载Cloud-init镜像
官方镜像地址:
# cloud images下载地址
# centos:
http://cloud.centos.org/centos/
# ubuntu:
http://cloud-images.ubuntu.com/releases/
# debian:
https://cloud.debian.org/images/cloud/OpenStack/
# fedora:
https://alt.fedoraproject.org/cloud/
# opensuse:
https://software.opensuse.org/distributions/leap#JeOS-ports


本文中下载ubuntu 24.10版本的镜像
登录上pve主机上,在特定目录下执行
wget https://cloud-images.ubuntu.com/releases/oracular/release-20250701/ubuntu-24.10-server-cloudimg-amd64.img

创建模版主机
登录到pve主机上执行下面的命令创建一个虚拟机:
# 创建一个vmid 为9000,名字为ubuntu-24.10-template的虚拟机
qm create 9000 --cores 1 --memory 1024 --name "ubuntu-24.10-template" --net0 virtio,bridge=vmbr0
#将cloud镜像注入到9000 虚拟机
qm importdisk 9000 ubuntu-24.10-server-cloudimg-amd64.img local-lvm
# 详细设置虚拟机的一些配置
qm set 9000 --sata0 local-lvm:vm-9000-disk-0 --sata1 local-lvm:cloudinit --boot c --bootdisk sata0 --serial0 socket --vga serial0 --ciuser root --cipassword 123456 --ipconfig0 ip=dhcp,ip6=dhcp --nameserver 8.8.8.8 --searchdomain 8.8.8.8

配置模板系统
启动模版系统
qm start 9000

通过默认设置的用户,进入模版系统,优化设置,如下
CentOS
# 配置yum源
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos|g' -i.bak /etc/yum.repos.d/CentOS-Base.repo

# 设置时区
timedatectl set-timezone Asia/Shanghai

# 安装vim
yum install vim bash-completion

# 修改ssh远程
vim /etc/ssh/sshd_config
# 开启root登录(如果需要的话;这里开启了之后Cloud-Init用户就可以设置root)
PermitRootLogin yes
# 开启密钥登录
PubkeyAuthentication yes
# 密钥路径
AuthorizedKeysFile
# 开启密码登录(默认只允许密钥登录)
PasswordAuthentication yes
# 不允许空密码登录
PermitEmptyPasswords no
# 关闭连接的DNS解析
UseDNS no

Ubuntu
# 设置时区
timedatectl set-timezone Asia/Shanghai

# 设置APT仓库源
sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

# 更新源和安装常用软件
apt update && sudo apt install vim bash-completion -y

# 更新系统
sudo apt upgrade

# 修改SSH配置
vim /etc/ssh/sshd_config
# 开启root登录(如果需要的话;这里开启了之后Cloud-Init用户就可以设置root)
PermitRootLogin yes
# 开启密钥登录
PubkeyAuthentication yes
# 密钥路径
Au
标题: 我摊牌了,CodeConductor就是一个缝合怪
作者: #linxin
板块: #搞七捻三
编号: 1494915
帖子: https://linux.do/t/topic/1494915
时间: 2026-01-21 16:00:25
摘要:
什么交互式prompt,什么斜杠命令,什么多智能体协作,什么superpowers我管你这的那个,通通把他们缝进来



github.com






GitHub - zhu1090093659/CodeConductor: Modern Electron-based desktop application...

Modern Electron-based desktop application providing a polished chat interface for CLI AI agents (Claude Code, OpenAI Codex). Supports both desktop and web modes.
标题: Claude Code 中 AskUserQuestion 的实现
作者: #Vinci557
板块: #开发调优
编号: 1494919
帖子: https://linux.do/t/topic/1494919
时间: 2026-01-21 16:00:48
摘要:
有没有大佬研究过 Claude Code 中 AskUserQuestion 这个功能是如何实现的?

感觉这个功能是 Claude Code Plan 模式的一个特色,在其他的工具中很少能见到这样的交互模式。
标题: 各种VPS常见的网络线路科普(三大运营商线路)
作者: #Rosna
板块: #资源荟萃
编号: 1494922
帖子: https://linux.do/t/topic/1494922
时间: 2026-01-21 16:01:19
摘要:
三大运营商线路
在国内,最大的三个网络运营商电信,联通和移动,各自都有自己的局域网,也有自己的ASN,我们的流量就是走的这些ASN来和服务器进行交流沟通的。
这些流量的轨迹一般是你家->省网->跨境->国际出口,网络线路的体验也就和流经这些段的速度相关了。
电信线路一般为(163/CN2 GT/CN2 GIA)
AS4134:国内骨干网,俗称4134或163骨干网,ip常以202.97开头。
定位于承载普通质量的互联网业务, 基建早, 带宽大, 便宜,多次扩容后拥挤情况有改善,绝大部分普通家宽的出境路线。
AS4809:国内精品网,俗称CN2,ip常以59.43开头. CN2 相比较 163 网络, 带宽小, 稳定高速。
AS23764:境外网,俗称CTGNet,用于面向企业客户提供定制化的国际互联网专线接入服务。
CN2实际上分为CN2GT和CN2GIA两种。CN2GT又称半程CN2,Global Transit,因为其国内走163骨干网
,跨境和163挤在一个段里(那我要你有何用),国外和CN2一样;CN2GIA是全程CN2,跨境段不用和163挤在一起,拥有自己的带宽,国内国外都走CN2网络。
亚太还有个比较流行的163pp,俗称高q163,其实就是拥有跨境段高qos保障的163,相当于单独购买了带宽的163骨干网,
大部分163跨境都是共享的,导致晚高峰互相抢带宽,卡的半死,高q163贵的夸张…
可以看看电信去程走的是CN2骨干网
# 时间:2024-07-07 23:16:36
1 192.168.50.1 * RFC1918
0.51 ms / 0.88 ms / 1.07 ms
2 116.233.80.1 AS4812 [CHINANET-SH] 中国 上海 上海 chinatelecom.cn
标题: 实习到头,有无开源项目
作者: #wlwl
板块: #开发调优
编号: 1494927
帖子: https://linux.do/t/topic/1494927
时间: 2026-01-21 16:02:11
摘要:
实习了两个月,感觉自己根本不适合工作,但是这段时间不想闲着,想问问佬友有没有开源项目让我一起参与一下。
之前做过AI agent开发,langgraph和dify都用过,基本的开发有ai代劳,专业是网安,所以安全方面的也可以参与,自己写过小程序,做过网站,过段时间毕设要用深度学习训练模型。这就是基本的能力情况
不知道有佬友有意向吗
可以整点好玩的小工具啥的造福一下佬友也行。有需要小工具的佬可以留下需求,有空会做捏
标题: 预算200,求推荐能刷openwrt的路由器。
作者: #jiashuaibei
板块: #开发调优
编号: 1494932
帖子: https://linux.do/t/topic/1494932
时间: 2026-01-21 16:02:50
摘要:
预算200元,之所以刷openwrt是为了给家里ipv6设置出入站规则,廉价路由器自带固件只有开关防火墙功能。
标题: 28岁生日了,博士还得好几年毕业
作者: #涯哥亡命HIT
板块: #搞七捻三
编号: 1494938
帖子: https://linux.do/t/topic/1494938
时间: 2026-01-21 16:04:04
摘要:
现在到生日这天只有妈妈还记得了,保持联系的人越来越少,只有各个App和银行这种软件还记得 。昨天通知明天组会,还要帮师兄整理一个论文数据,这生日过的QAQ
标题: github学生包疑问
作者: #WuHuFly
板块: #搞七捻三
编号: 1494941
帖子: https://linux.do/t/topic/1494941
时间: 2026-01-21 16:04:55
摘要:
刚用edu邮箱嫖了4年的微软office365,想起来还有github学生包,里面就1password权益我用的到,不过我有问题,这个权益领取是兑换码还是直接就是跳转登录链接?这个链接或兑换码有过期时间吗?我前面白嫖的家庭版1p还有半年呢,目前还不着急用
标题: 困扰我好久的问题, 好像是cc的问题?
作者: #Catlog22
板块: #开发调优
编号: 1494942
帖子: https://linux.do/t/topic/1494942
时间: 2026-01-21 16:05:23
摘要:
window 平台,不知道从claude code 2.1 哪个版本开始,内置的Bash()识别不到npm命令了,只能用npm.cmd。回退到2.0.77版本发现可以调用,有大手子知道怎么解决吗?现在不确定是不是我的环境问题。。
标题: 哦吼,我也获得了全年不落微章
作者: #pgdoryoku
板块: #搞七捻三
编号: 1494944
帖子: https://linux.do/t/topic/1494944
时间: 2026-01-21 16:05:31
摘要:
第410名,不容易啊,每天开电脑的第一件事就是打开L站,
标题: sonarqube实践
作者: #小小大头兵
板块: #开发调优
编号: 1494969
帖子: https://linux.do/t/topic/1494969
时间: 2026-01-21 16:07:19
摘要:
简介
SonarQube是一个开源的代码质量管理平台,用于分析和管理软件项目的代码质量。它提供了静态代码分析、代码复杂度、代码覆盖率、代码重复、代码安全性等方面的功能。SonarQube可以帮助开发团队发现和修复代码中的潜在问题和缺陷,提高代码的可读性、可维护性和可扩展性。它支持多种编程语言,包括Java、C#、C/C++、JavaScript、Python等。通过集成到持续集成和持续交付流程中,SonarQube可以帮助团队在开发过程中不断监控和改善代码质量。
本篇文档将从安装SonarQube到主流的ci/cd集成(jenkins,gitlab ci/cd) 深入浅出的介绍
安装SonarQube
通过k8s安装SonarQube
前提环境
k8s 1.27
pgsql集群(在本文不做详细介绍,但是在文档里有关于pg集群的详细,自行查看)
安装步骤
创建SonarQube所在的namespace
kubectl create ns sonarqube
存储类使用的nfs(关于如何使用动态存储卷,并且使用nfs-client的,请移步k8s文档),以下文deployment yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: sonarqube
namespace: sonarqube
labels:
app: sonarqube
spec:
replicas: 1
selector:
matchLabels:
app: sonarqube
template:
metadata:
labels:
app: sonarqube
spec:
initContainers:
- name: init-sysctl
image: busybox
imagePullPolicy: IfNotPresent
command: