feat(skills): remote registry sync with /skills sync command (closes #433)#654
Merged
Merged
Conversation
All system prompts were English-only, causing DeepSeek V4 to reason and respond in English even when users wrote in Chinese or other languages. Add a Language Mirror section to base.md and base.txt that instructs the model to detect the user's primary language and use it for both reasoning (thinking tokens) and the final reply.
base.txt is not referenced via include_str! in prompts.rs. Only base.md is loaded (BASE_PROMPT). Remove the redundant change to base.txt as noted by Gemini Code Assist review.
…mbown#433) Add `sync_registry` to `skills/install.rs` that pulls `index.json` from the configured `[skills] registry_url`, resolves each entry to a download URL, checks ETag + SHA-256 for freshness, and writes SKILL.md (or the full unpacked tarball) into `~/.deepseek/cache/skills/<name>/`. A `.cache-meta.json` sidecar records the ETag and hash so subsequent syncs skip unchanged skills in one round-trip. Wire the new `/skills sync` slash-command in `commands/skills.rs` (dispatched from `list_skills`) and update the `COMMANDS` usage string in `mod.rs` to `/skills [--remote|sync]`. The per-skill failure model is non-fatal: the command prints a per-entry `[+]`/`[=]`/`[!]` summary and returns a final tally. `default_cache_skills_dir` and the new outcome types are re-exported from `skills/mod.rs` for downstream consumers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
谁家PR机器人 |
Hmbown
added a commit
that referenced
this pull request
May 5, 2026
47 fmt drifts had accumulated from the squash-merged community PRs on this branch (#653, #654, #655, #645, #658, #668, #659, #661, #660, #667, #656). Pure formatting — no behavioural changes — applied via `cargo fmt --all` to satisfy CI's `cargo fmt --all -- --check` gate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7 tasks
MMMarcinho
pushed a commit
to MMMarcinho/DeepSeek-TUI
that referenced
this pull request
May 6, 2026
MMMarcinho
pushed a commit
to MMMarcinho/DeepSeek-TUI
that referenced
this pull request
May 6, 2026
47 fmt drifts had accumulated from the squash-merged community PRs on this branch (Hmbown#653, Hmbown#654, Hmbown#655, Hmbown#645, Hmbown#658, Hmbown#668, Hmbown#659, Hmbown#661, Hmbown#660, Hmbown#667, Hmbown#656). Pure formatting — no behavioural changes — applied via `cargo fmt --all` to satisfy CI's `cargo fmt --all -- --check` gate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sync_registrytocrates/tui/src/skills/install.rs: fetchesindex.jsonfrom the configured[skills] registry_url, resolves each entry to its download URL (same GitHubmain/masterfallback logic as/skill install), checks ETag + SHA-256 for freshness, and writes SKILL.md or a full unpacked tarball into~/.deepseek/cache/skills/<name>/. A.cache-meta.jsonsidecar persists freshness state so subsequent syncs skip unchanged skills in O(1) round-trips./skills syncslash command incrates/tui/src/commands/skills.rs, dispatched fromlist_skillswhen the arg issyncor--sync. Per-skill failures are non-fatal; the command prints a[+]/[=]/[!]summary and a final tally.COMMANDSusage string inmod.rsto/skills [--remote|sync].default_cache_skills_dir,SkillSyncOutcome, andSyncResultfromskills/mod.rs.Design decisions
~/.deepseek/cache/skills/(separate from user-installed~/.deepseek/skills/).tar.gz/.tgzor gzip magic bytes0x1f 0x8bRegistry(…)source inindex.json→ immediateFailedoutcomeTest plan
cargo +nightly checkpasses (confirmed:Finished dev profile [unoptimized + debuginfo], 0 errors, 0 warnings)/skills syncwith a validregistry_urldownloads skills into~/.deepseek/cache/skills/[=](up-to-date) for unchanged skills/skills --remotestill lists registry entries as before[x]outcome, not a panic🤖 Generated with Claude Code