Repository navigation
fix(skills): configure draft budgets and retry truncated generation - #571
Merged
Merged
Conversation
13 of 15 tasks
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
技能草案要求返回完整
SKILL.md,原先与复盘和评测共用写死的 16,384 token 预算,遇到max-tokens就整轮失败。新增只用于草案的首次 32,768 / 重试 65,536 显式预算;仅真实截断且第二预算更大时以新任务重新生成一次,与原有内容修正共用最多两次尝试,不保存截断内容,取消不重试。Drafts previously failed before the file-validation retry because every skill operation shared a fixed 16k output budget. Add validated, draft-only initial and retry budgets (
skills.draftMaxTokens/skills.draftRetryMaxTokens, integers 128–131072). The retry never silently exceeds a configured cap. Other skill operations retain their budgets. Errors retain actual attempted budgets, source UTF-8 byte size, settings location and provider-limit guidance within the UI's 500-character error field.关联 Issue 或背景 / Related Issue or Context
Closes #570.
涉及区域 / Affected Areas
PR 类型 / PR Type
最新代码确认 / Latest Codebase Confirmation
main分支开发,或在提交前已 rebase 或合并最新main。 / I developed from the latestmain, or rebased or merged the latestmainbefore submitting.同步命令 / Sync command:
Merged latest main
cd1fe02c2f4ecd46a46d53c0b336e58add4821eb, including #566 and #567, while preserving both histories. The only conflicts were adjacent imports and independent configuration tests; both sides are retained. / 已通过普通合并纳入最新 main(含 #566、#567),保留全部原提交;仅相邻 import 与独立配置测试冲突,双方内容均保留。AI 编码披露 / AI Coding Disclosure
使用的 AI 模型 / AI model used: GPT-6 (Codex)
使用的编码 Agent 工具 / Coding Agent tool used: OpenAI Codex desktop; implementation and independent code review used separate Codex agents. / 实现与独立代码审查由独立 Codex agents 执行。
仓库规范检查 / Repository Rules
@deepseek-ai/*NPM 契约。 / I did not modify DSH source or point tsconfig at a DSH source checkout, and used only published@deepseek-ai/*NPM contracts.src/host/protocol.ts为准,没有在两侧重复定义 wire DTO。 / The Client and Host boundary still uses browser-safesrc/host/protocol.tsas the source for wire DTOs.lib/文件。 / I did not commit tokens, credentials, private memory, unredacted logs, or generatedlib/files.兼容性与数据安全 / Compatibility and Data Safety
新增两项可选 Skills 设置,旧配置使用默认值,不迁移技能或 ledger 格式,不更改 RPC 权限、路径或凭据。生成只保存完整且通过原有校验的草案,已安装技能仍由用户明确采纳后修改。截断失败不会写入新草案,已有草案保留;关联建议回到 pending 并记录错误。取消后即使模型已返回完整结果也不保存。重试预算等于或小于首次预算可关闭截断重试;两项预算均须符合模型提供方的上限。
The new optional settings default for existing installations. No storage-format, authority, credential or installed-skill changes are introduced. Drafts still pass schema/content checks and require explicit adoption. Both attempts stay within their explicit budgets; providers with lower caps need lower settings. A model that cannot fit the full file needs a shorter skill or a higher-capacity model. All verification uses synthetic local data; the issue reporter's real gateway and Windows environment were not exercised.
本地验证 / Local Validation
执行的命令 / Commands run:
Node 24.22.2:
结果摘要 / Result summary:
bc85d88a0962ce2b13617bf98696434ba5c2a846: completeverifypassed, with 2,550 root tests passed / 8 skipped (170 passed files / 2 skipped), and 759 workspace tests passed / 3 skipped across 18 projects, including 95/95 Skills Source tests. Documentation, type checks, deterministic builds, Headless activation, public entry checks and package lint all passed. / 含 fix(skills): remove dead suggestion links from evidence #566、fix(host): preserve DSH task agents and allow user continuation #567 的最终合并提交已完整验证通过。用户可见变更证据 / Local Feature Evidence
证据 / Evidence:
English evidence · 中文证据
Real isolated rc.1 WebUI: with self-evolution off, defaults are 32768 / 65536; saving 49152 / 98304 shows success, and both values survive page reload. Screenshots contain only the settings dialog, without private data, credentials or local paths. / 真实隔离 rc.1 WebUI 已验证默认值、保存成功和刷新后回读;截图无私有数据、凭据和本地路径。