Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[bug] bl skill add installs paths exceeding Windows MAX_PATH (259 chars), breaking the host agent's entire skill library

未关闭
#224 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
65/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
领域
cli, tooling

调研方向

The issue is in the skill installation path generation logic, likely in the code that handles the bailian-docs-llm-wiki skill's raw doc tree. Look at the bl skill add command implementation and the skill packaging/unpacking process. Focus on Windows path length checks and the concatenation of parent and child slugs. Test by installing the skill and verifying the generated directory paths against MAX_PATH. The fix should ensure paths stay under 260 characters, possibly by truncating/hashing long slugs or using the \\?\ prefix.

由索引模型根据 Issue 内容生成。

描述

Environment

  • CLI: bl 2.0.1
  • Skill: bailian-docs-llm-wiki (registry publishedAt: 2026-09-23T04:37:22+08:00)
  • Node: v24.14.1
  • OS: Windows 11 (NTFS), no long-path opt-in (LongPathsEnabled not set)
  • Region: cn (cn-beijing)

Reproduce

# 1) install (or let any `bl` command auto-sync the skill family)
bl skill add --name bailian-docs-llm-wiki

# 2) from the host agent that owns <agent-skills-dir>, walk the installed tree
python -c "import os; os.listdir(r'C:\Users\<user>\.hermes\skills\bailian-docs-llm-wiki\raw\application-user-guide\application-gallery\official-application-lingque-ccai-dialogue-analysis-aio\api-reference-2\api-contactcenterai-2024-06-03-dir\api-contactcenterai-2024-06-03-dir-hot-word-management')"

Expected

bl skill add installs bailian-docs-llm-wiki into the detected agent skill directories; the host agent can enumerate / load them normally.

Actual

The installed tree contains directories whose full path is 259 characters long (Windows MAX_PATH = 260, and the install does not use a \\?\ prefix). os.path.exists() on the directory itself returns True, but any child entry exceeds the limit, so traversal raises:

FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\Users\<user>\.hermes\skills\bailian-docs-llm-wiki\raw\application-user-guide\application-gallery\official-application-lingque-ccai-dialogue-analysis-aio\api-reference-2\api-contactcenterai-2024-06-03-dir\api-contactcenterai-2024-06-03-dir-hot-word-management'

Impact: the host agent's skill loader walks its skills directory on every skill operation (list / view / manage). One over-long path therefore takes down the entire skill library — not just this skill — until bailian-docs-llm-wiki is removed. Measured on this machine: 35 MB / 2,776 files; the deepest directory name is generated by concatenating the parent slug (api-contactcenterai-2024-06-03-dir- + hot-word-management).

Deterministic: reproduced on repeated installs; bl skill remove --name bailian-docs-llm-wiki (removed 59 symlinks) restores the host agent immediately.

Suggested fix

  • Cap the generated segment length / total depth for the raw/ doc tree of bailian-docs-llm-wiki (e.g. truncate and hash long slugs instead of concatenating parent+child slugs), or
  • Flatten deeply nested doc dirs when packaging the skill, or
  • Create files with the \\?\ long-path prefix (and/or warn) on Windows, or
  • Skip / slim this doc-heavy skill by default on Windows.

Already tried

  • bl skill update / bl skill list — same install shape (auto-sync on an ordinary bl auth status re-installed it)
  • bl skill remove --name bailian-docs-llm-wiki → problem disappears

Notes

  • Frequency: always (deterministic on Windows)
  • Invoked via: terminal + agent (Hermes Agent on Windows 11)
  • Nothing else in the bailian-* family triggers this: only bailian-docs-llm-wiki reaches the 260 boundary
主要语言
TypeScript
星标
333
派生
28
平均合并
1 天 8 小时
30 天内合并 PR
38

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

modelstudioai/cli 的其他 Issue

查看 modelstudioai/cli 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。