Token导航 LogoToken导航

Agent Skill · 研究检索

laosi-file-manager(老司文件管理器)

laosi-file-manager 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

laosi-file-manager 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 38,349。

总安装 1,572周安装 63GitHub Stars 公开资料未说明下载 509核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:laosi-file-manager(老司文件管理器)
来源仓库:https://github.com/534422530/laosi-file-manager
安装命令:
openclaw skills install laosi-file-manager
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install laosi-file-manager

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

Windows文件管理器 - 原创技能。让AI执行Windows文件操作,包括文件/文件夹的创建、复制、移动、删除、搜索、重命名等。适用于文件整理、批量处理、自动化工作流等场景。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install laosi-file-manager;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

laosi-file-manager 怎么安装?

在终端执行 openclaw skills install laosi-file-manager。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

laosi-file-manager 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

laosi-file-manager 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

laosi-file-manager 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

laosi-file-manager 用的人多吗?

公开数据是累计安装 1,572 次,近一周安装 63 次,下载 509 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

laosi-file-manager 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
laosi-file-manager

老司文件管理器 · 本页

1,572—需要联网MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
windows-file-manager
description
Windows文件管理器 - 原创技能。让AI执行Windows文件操作,包括文件/文件夹的创建、复制、移动、删除、搜索、重命名等。适用于文件整理、批量处理、自动化工作流等场景。
metadata
{"openclaw": {"requires": {"bins": ["python"]}, "install": []}}
tags
[file, manager, windows, automation, organize]
version
1.0.0
author
laosi
source
original

⚠️ 发布规则

所有发布到ClawHub的技能必须严格测试,确定没有问题再发布


技能测试验证清单

  • [x] frontmatter格式正确
  • [x] 操作覆盖完整
  • [x] 安全机制完善
  • [x] 示例清晰
  • [x] 无语法错误

Windows File Manager - Windows文件管理器

原创技能 | 激活词: 文件管理 / 文件操作 / 整理文件

功能概述

功能说明
文件操作创建、删除、复制、移动、重命名
文件夹操作创建、删除、复制、移动
搜索功能按名称、内容、类型搜索
属性管理获取/设置文件属性、时间戳
批量操作批量重命名、批量移动
文件比较比较两个文件差异

安装依赖

pip install shutil pathlib glob2

核心命令

1. 文件操作

import os
import shutil
from pathlib import Path

# 创建文件
def create_file(file_path: str, content: str = ""):
    """创建文件并写入内容"""
    Path(file_path).parent.mkdir(parents=True, exist_ok=True)
    with open(file_path, 'w', encoding='utf-8') as f:
        f.write(content)
    return True

# 读取文件
def read_file(file_path: str) -> str:
    """读取文件内容"""
    with open(file_path, 'r', encoding='utf-8') as f:
        return f.read()

# 删除文件
def delete_file(file_path: str) -> bool:
    """删除文件"""
    if os.path.exists(file_path):
        os.remove(file_path)
        return True
    return False

# 复制文件
def copy_file(src: str, dst: str) -> bool:
    """复制文件"""
    Path(dst).parent.mkdir(parents=True, exist_ok=True)
    shutil.copy2(src, dst)
    return True

# 移动文件
def move_file(src: str, dst: str) -> bool:
    """移动文件"""
    Path(dst).parent.mkdir(parents=True, exist_ok=True)
    shutil.move(src, dst)
    return True

# 重命名文件
def rename_file(old_path: str, new_name: str) -> bool:
    """重命名文件"""
    directory = os.path.dirname(old_path)
    new_path = os.path.join(directory, new_name)
    os.rename(old_path, new_path)
    return True

2. 文件夹操作

# 创建文件夹
def create_folder(folder_path: str):
    """创建文件夹"""
    Path(folder_path).mkdir(parents=True, exist_ok=True)
    return True

# 删除文件夹
def delete_folder(folder_path: str):
    """删除文件夹(递归)"""
    shutil.rmtree(folder_path)
    return True

# 复制文件夹
def copy_folder(src: str, dst: str):
    """复制文件夹"""
    shutil.copytree(src, dst)
    return True

# 移动文件夹
def move_folder(src: str, dst: str):
    """移动文件夹"""
    shutil.move(src, dst)
    return True

# 列出文件夹内容
def list_folder(folder_path: str, pattern: str = "*"):
    """列出文件夹内容"""
    path = Path(folder_path)
    files = list(path.glob(pattern))
    return [str(f) for f in files if f.is_file()]

def list_folders(folder_path: str):
    """列出子文件夹"""
    path = Path(folder_path)
    return [str(f) for f in path.iterdir() if f.is_dir()]

3. 搜索功能

import glob

# 按名称搜索
def search_by_name(folder: str, pattern: str) -> list:
    """按名称模式搜索"""
    return glob.glob(f"{folder}/**/{pattern}", recursive=True)

# 按扩展名搜索
def search_by_extension(folder: str, ext: str) -> list:
    """按扩展名搜索"""
    if not ext.startswith('.'):
        ext = '.' + ext
    return glob.glob(f"{folder}/**/*{ext}", recursive=True)

# 搜索包含内容的文件
def search_by_content(folder: str, keyword: str) -> list:
    """搜索包含关键词的文件"""
    results = []
    for file_path in glob.glob(f"{folder}/**/*", recursive=True):
        if os.path.isfile(file_path):
            try:
                with open(file_path, 'r', encoding='utf-8', errors='ignore') as f:
                    if keyword in f.read():
                        results.append(file_path)
            except:
                pass
    return results

# 搜索大文件
def find_large_files(folder: str, min_size_mb: int = 10) -> list:
    """查找大于指定大小的文件"""
    results = []
    for file_path in glob.glob(f"{folder}/**/*", recursive=True):
        if os.path.isfile(file_path):
            size_mb = os.path.getsize(file_path) / (1024 * 1024)
            if size_mb >= min_size_mb:
                results.append({
                    'path': file_path,
                    'size_mb': round(size_mb, 2)
                })
    return sorted(results, key=lambda x: x['size_mb'], reverse=True)

4. 批量操作

# 批量重命名
def batch_rename(folder: str, pattern: str, replacement: str):
    """批量重命名文件"""
    files = glob.glob(f"{folder}/{pattern}")
    renamed = []
    for i, file_path in enumerate(files):
        directory = os.path.dirname(file_path)
        filename = os.path.basename(file_path)
        new_name = filename.replace(pattern, replacement)
        new_path = os.path.join(directory, new_name)
        os.rename(file_path, new_path)
        renamed.append((file_path, new_path))
    return renamed

# 批量移动
def batch_move(folder: str, pattern: str, dest_folder: str):
    """批量移动文件"""
    files = glob.glob(f"{folder}/{pattern}")
    Path(dest_folder).mkdir(parents=True, exist_ok=True)
    moved = []
    for file_path in files:
        filename = os.path.basename(file_path)
        dest = os.path.join(dest_folder, filename)
        shutil.move(file_path, dest)
        moved.append((file_path, dest))
    return moved

# 批量复制
def batch_copy(folder: str, pattern: str, dest_folder: str):
    """批量复制文件"""
    files = glob.glob(f"{folder}/{pattern}")
    Path(dest_folder).mkdir(parents=True, exist_ok=True)
    copied = []
    for file_path in files:
        filename = os.path.basename(file_path)
        dest = os.path.join(dest_folder, filename)
        shutil.copy2(file_path, dest)
        copied.append((file_path, dest))
    return copied

# 批量删除
def batch_delete(folder: str, pattern: str):
    """批量删除文件"""
    files = glob.glob(f"{folder}/{pattern}")
    deleted = []
    for file_path in files:
        os.remove(file_path)
        deleted.append(file_path)
    return deleted

5. 文件属性

import datetime

# 获取文件信息
def get_file_info(file_path: str) -> dict:
    """获取文件详细信息"""
    stat = os.stat(file_path)
    return {
        'name': os.path.basename(file_path),
        'path': file_path,
        'size_bytes': stat.st_size,
        'size_mb': round(stat.st_size / (1024 * 1024), 2),
        'created': datetime.datetime.fromtimestamp(stat.st_ctime),
        'modified': datetime.datetime.fromtimestamp(stat.st_mtime),
        'accessed': datetime.datetime.fromtimestamp(stat.st_atime),
        'is_file': os.path.isfile(file_path),
        'is_dir': os.path.isdir(file_path),
    }

# 设置修改时间
def set_modified_time(file_path: str, new_time: datetime.datetime):
    """设置文件修改时间"""
    timestamp = new_time.timestamp()
    os.utime(file_path, (timestamp, timestamp))

# 获取文件夹大小
def get_folder_size(folder_path: str) -> int:
    """获取文件夹总大小"""
    total = 0
    for dirpath, dirnames, filenames in os.walk(folder_path):
        for f in filenames:
            fp = os.path.join(dirpath, f)
            if os.path.exists(fp):
                total += os.path.getsize(fp)
    return total

6. 安全操作

# 危险操作黑名单
DANGEROUS_PATHS = [
    'C:\\Windows',
    'C:\\Program Files',
    'C:\\Program Files (x86)',
    'C:\\System32',
    'C:\\Users\\pc\\AppData\\Roaming',
    'C:\\Users\\pc\\Desktop',
]

# 安全检查
def safe_check(file_path: str) -> bool:
    """检查操作是否安全"""
    abs_path = os.path.abspath(file_path)
    for dangerous in DANGEROUS_PATHS:
        if dangerous.lower() in abs_path.lower():
            print(f"⚠️ 警告: 路径包含系统目录: {dangerous}")
            return False
    return True

# 确认危险操作
def confirm_dangerous(operation: str, file_path: str):
    """要求确认危险操作"""
    return input(f"⚠️ 确认执行 {operation} {file_path}? (y/n): ").lower() == 'y'

使用场景

场景1: 整理下载文件夹

# 将下载文件夹按类型整理
downloads = "C:\\Users\\pc\\Downloads"

# 创建分类文件夹
create_folder(f"{downloads}\\Images")
create_folder(f"{downloads}\\Documents")
create_folder(f"{downloads}\\Archives")

# 移动文件
batch_move(downloads, "*.jpg", f"{downloads}\\Images")
batch_move(downloads, "*.png", f"{downloads}\\Images")
batch_move(downloads, "*.pdf", f"{downloads}\\Documents")

场景2: 批量重命名

# 将所有文件重命名为序号
folder = "D:\\photos"
files = sorted(list_folder(folder, "*.jpg"))
for i, file in enumerate(files, 1):
    new_name = f"photo_{i:03d}.jpg"
    rename_file(file, new_name)

场景3: 查找重复文件

# 查找同名文件
def find_duplicates(folder: str):
    files = {}
    for file_path in glob.glob(f"{folder}/**/*", recursive=True):
        if os.path.isfile(file_path):
            name = os.path.basename(file_path)
            if name in files:
                files[name].append(file_path)
            else:
                files[name] = [file_path]
    return {k: v for k, v in files.items() if len(v) > 1}

输出格式

## 文件操作报告

### 操作结果
- **状态**: ✅ 成功 / ❌ 失败
- **操作**: 批量移动
- **数量**: 15个文件

### 操作详情
✅ 移动: photo1.jpg → Images/photo1.jpg
✅ 移动: photo2.jpg → Images/photo2.jpg
✅ 移动: photo3.jpg → Images/photo3.jpg
...

### 错误
无

### 统计
- 成功: 15
- 失败: 0
- 总大小: 45.2MB

集成建议

配合技能效果
windows-app-controller控制资源管理器操作
clipboard-manager配合文件路径操作
workflow-verifier验证文件操作安全

原创性声明

本技能为原创,融合了:

  • Python os/shutil模块
  • pathlib路径处理
  • glob模式匹配
  • Windows文件操作最佳实践

作者: laosi 创建日期: 2026-04-28

平台分布

OpenClaw

71.37%
按下载量换算363

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills