* feat(cli): add DeepSeek Harness agent profile Signed-off-by: dongmucat <1127093059@qq.com> * docs(dsh): fix custom install troubleshooting command Signed-off-by: dongmucat <1127093059@qq.com> --------- Signed-off-by: dongmucat <1127093059@qq.com>
3 KiB
Changelog
All notable CLI behavior changes are documented in this file.
Unreleased
Added
- Add the
dshagent profile, displayed as DeepSeek Harness, with automatic detection of project-level and user-level.dsh/skillsdirectories. - Add OAuth Device Flow to
skillhub loginwhen no API token is supplied, including best-effort browser launch, a--no-openheadless mode, bounded polling, and non-secret JSON progress output. - Add the
piagent profile, displayed as Pi, with--agent pi, project-level<project>/.pi/skills/, and user-level~/.pi/agent/skills/support. - Add the user-level
astudioagent profile, displayed as AStudio, with automatic detection of~/.acode/skillson Linux, macOS, and Windows. - Add repeatable
sync pull --skill <slug>selection for non-interactive and JSON workflows, with interactive multi-select in a TTY. - Add
skillhub upgrade <coordinate...>for bounded, explicit upgrades of already-installed Skills, including side-effect-free--check, structured--json, local-change protection, and target filters.
Fixed
-
Preserve unknown fields in shared
~/.skillhub/config.jsonandcredentials.jsonfiles, and treat a compatible credentials document without first-partytokensas logged out instead of failing. Login and logout now modify only the first-party registry state. -
Return structured JSON from
help --jsonand topic help, report unknown help topics as usage errors, and support--version/-valongside the existingversioncommand. -
Report successful publish and sync push requests as submissions, preserving the registry's raw
SCANNING,UPLOADED,PENDING_REVIEW, orPUBLISHEDstatus without implying final publication. -
Require an explicit non-
globalnamespace for every sync action.sync pull --checkremains a whole-namespace read-only check; mutating pulls now affect only explicitly selected skills. -
Prevent
--forcefrom overwriting an unmanaged or different-source Skill at the same target path. Source ownership is the fullregistry + namespace + slugidentity. -
Reject registry downgrades and partial-target updates that the shared inventory version cannot represent safely.
-
Exclude installer-owned
.skillhub/state when publishing a local Skill directory. -
Resolve
namespace/slug,@namespace/slug, andnamespace--slugcoordinates against their declared namespace instead of silently falling back toglobal. -
Reject a namespaced coordinate combined with a conflicting
--namespacevalue; a matching value remains valid. -
Limit local removal with a namespaced coordinate or explicit
--namespaceto the matching namespace, preventing collateral deletion of same-slug installations in other namespaces. Bare-slug removal retains its existing cross-namespace behavior for compatibility. -
Preserve public registry
msgandrequestIdfields for unsuccessful responses. HTTP 403 without a public message now reports the neutralaccess deniedfallback instead of assuming the token lacks scope.