# 高级配置

日常使用可直接在桌面端安装和管理插件，无需修改配置。以下内容供需要自定义安装目录、数据源或移除权限的用户参考。

配置写在插件行中：

```yaml
- id: skills-hub
  name: '@nanmicoder/dsh-skills-hub'
  config:
    allowUninstall: false
    timeoutMs: 30000
```

| 配置项 | 默认值 | 说明 |
| --- | --- | --- |
| `skillsRoot` | `null` | 安装目录；默认是 Harness 用户技能目录。 |
| `clawhubBaseUrl` | `https://clawhub.ai` | ClawHub API 地址。 |
| `skillhubBaseUrl` | `https://api.skillhub.cn` | SkillHub API 地址。 |
| `timeoutMs` | `15000` | 单次上游请求超时，单位毫秒。 |
| `requestRetries` | `1` | 网络及服务器错误重试次数。 |
| `allowUninstall` | `true` | 是否允许在面板卸载技能。 |
| `pageSize` | `24` | 市场分页大小。 |
| `cacheTtlMinutes` | `60` | 列表分页、搜索、技能详情及文件预览的本地缓存有效期，单位分钟，范围 1–1440。 |

## 市场缓存

浏览过的市场分页、详情及文件预览会自动保存到 `$DSH_HOME/cache/skills-hub/v1`（未设置 `DSH_HOME` 时为 `~/.dsh/cache/skills-hub/v1`），退出并重启 Harness 后仍可复用。默认从上游获取成功时起保留 1 小时，再次浏览不会延长有效期；超过有效期会重新请求上游。面板中的列表或详情手动刷新会立即重新拉取并替换对应快照；文件预览按自身有效期读取。重开详情时可先显示上一份快照，随后向本地 Host 核对有效期和当前安装状态，缓存有效时不会请求上游。

缓存按数据源地址、查询条件、分页游标和分页大小区分，不受技能安装目录影响。安装状态仍根据当前本地文件计算。安装技能时会重新读取上游清单，失败时不会使用缓存清单继续安装。

磁盘最多保留 500 条快照、64 MiB，旧快照优先清理。过期的列表和详情仅在上游失败时用于浏览兜底，最多保留 7 天；缓存损坏或无法写入时，市场仍可通过内存缓存和上游请求工作。

## 技能发现范围

列表覆盖配置的安装目录、`$DSH_HOME/skills` 与共享 agents 用户技能目录。支持目录式技能、平铺 Markdown 和符号链接；同名但不同路径的技能分别展示。删除符号链接时仅移除链接，保留目标文件。项目级与内置技能不在此列表中。

接口和路径校验规则见[实现约定](./CONTRACT.md)。
