本篇目标:实现一个把“下载目录按扩展名归类”的小插件。

1. 建包与钩子

# 在 dsh 插件目录创建包,声明你在监听的文件事件钩子
from_path = hooks.on_file_downloaded

2. 核心逻辑

def classify(path):
    ext = path.suffix.lower().lstrip('.')
    target = MAP.get(ext, 'misc')
    move_to(path, target)

3. 注册与启用

按官方 template 注册到 package.yaml,再 dsh install my-sort-file 一条命令启用。

4. 验证

扔几个测试文件,观察是否按映射归类;再补一两个异常分支:无后缀、只读目录、重名处理。

把这个练习跑通后,你就掌握了写一个实用插件的最小闭环。