Skip to content

Releases: Arrosam/dsh-smart-prompt

v1.2.0

Choose a tag to compare

@Arrosam Arrosam released this 24 Oct 02:26
  • A running animation per mode: while a rewrite runs, the star's icon now plays an animation that fits its mode. Detailed: the star-pen moves along the handwriting line at the bottom of the page while the line is drawn under it, then the line fades and the pen goes back to write it again (1.4 s per line). Light: the lightning bolt strikes, with a quick double flash and a small jolt in size, then a short dim pause (0.9 s per strike). Standard keeps its spin. The animations start and stop with the rewrite like the spin always did, and are switched off when the system asks for reduced motion.
  • Higher output limit: the default maxTokens (most output tokens per model call) is now 32000, up from 8192. Reasoning models count their thinking against this limit. A small limit could be used up by thinking alone, and the refine then failed with "The model returned nothing" (seen with opencode's free DeepSeek V4.1 Flash). A maxTokens set in the plugin config still applies. If the problem continues, set a thinking level for the model, such as Low.

v1.1.0

Choose a tag to compare

@Arrosam Arrosam released this 23 Oct 10:49
  • Hold the star to switch modes: hold the ✦ star in the composer for 300 ms, or slide it at least 16 px sideways, and a capsule-shaped mode bar opens above it. Left to right it shows Detailed ← Standard → Light, each with its icon and name (zh: 详细 / 标准 / 轻量). The bar floats over the page (drawn in the page body at a fixed position), so it never pushes or moves the composer or anything else. It opens with the active mode under the pointer. Each 88 px of sideways slide moves the selection one mode, starting from half a segment. Letting go saves the selected mode. Sliding past either end stays on that end instead of wrapping around. Esc, a cancelled pointer, or letting go without sliding keeps the mode. It saves the same defaultMode setting as Improvement method in plugin settings, through the same settings form, so the two stay in sync. A click without holding or sliding still improves (or cancels).

  • A star icon per mode: the star shows the active mode, right after a switch and after a reload. Detailed is a stretched star writing on a page, Standard keeps the ✦ unchanged, and Light is a lightning bolt.

  • First-use window: the first time the star appears with switching available, a small window above the composer explains the hold-and-slide and what each mode does. It shows once per browser (recorded in the browser's local storage), never takes the composer's place, and closes with Got it, ×, or a click on the star.

  • Settings hint: Improvement method in plugin settings now reminds you that holding the star and sliding left or right switches it too.

  • Standard mode asks one question at a time: the default mode (Standard) now runs Detailed mode's whole follow-up flow. Gaps only you can decide are asked through the follow-up panel one question at a time, and after each answer the next question opens until nothing is missing or the follow-up limit (Follow-up questions, default 5) is reached in total. Standard no longer writes (TBD: …) notes: when the limit is reached, when you click Skip, or when questions cannot be asked (limit 0, or no session), the remaining gaps are filled with guesses, each listed under Guessed details (## 猜测补充) at the end of the rewrite. × still cancels with the draft untouched. Only Standard changes: its prompt template (prompts/standard.md) gains the follow-up rules, and its follow-up policy is now the same as Detailed's. Detailed is unchanged. Light is unchanged and keeps its single round of questions (every question at once, Skip keeps the first rewrite).

v1.0.1

Choose a tag to compare

@Arrosam Arrosam released this 23 Oct 04:42
  • Detailed mode (详细模式): a third improvement method, next to Standard and Light. It rewrites the draft as an execution specification: the ordered next steps, the cautions to watch while executing, and the exact standard for every concrete detail. The prompt sets no length target — the bar is that the executing agent never has to guess a detail. Vague descriptions that name a direction instead of a result — short qualifiers ("softer"), requests ("give me a sense of…"), analogies ("light like feather"), mood references ("a vibe of kawaii bass") — are not guessed at: it asks what exactly you want through the follow-up questions and reminds you that Stardea (星念) can propose candidate answers for them. It never writes (TBD: …) notes: gaps only you can decide are asked one question at a time — after each answer the next question opens until nothing is missing or the follow-up limit (Follow-up questions, default 5) is reached in total. When the limit is reached, when you click Skip, or when questions cannot be asked (limit 0, or no session), the remaining gaps are filled with guesses, each listed under Guessed details (## 猜测补充) at the end of the rewrite. × still cancels with the draft untouched. Standard and Light keep their single round of questions. Besides its prompt template (prompts/detailed.md) and these follow-up rounds, it shares Standard's logic and settings (same length ceiling through standardMaxRatio, uncapped by default; same optional acceptanceCriteria clause) and is registered the same way. The mode appears in Improvement method in plugin settings and in GET /api/config (modes and maxRatio.detailed).

v1.0.0

Choose a tag to compare

@Arrosam Arrosam released this 19 Oct 13:23

Includes everything from 0.11.0 and 0.12.0 below, which were never released separately.

  • Workspace knowledge (SMART-PROMPT.md): every refine reads SMART-PROMPT.md at the session's workspace root and puts it at the start of the request, the way AGENTS.md is given to agents. After a successful refine, one more call in the same conversation updates the file (or creates it) with lasting knowledge about the workspace: what the project is, your vocabulary and shorthand, files and commands you keep mentioning, and standing preferences. It never records the current request, progress, guesses or secrets. The update runs after the result is shown and its failures are ignored. Limit: knowledgeChars (default 4000; 0 turns it off). A file over the limit is read clipped and never rewritten.
  • Last turn always included: the last exchange of the conversation (your message and the assistant's final reply, without tool calls or thinking) is now sent with every refine, not only with drafts like "do the same". The status shows context used.

From 0.12.0

  • Stardea (星念): every follow-up question has a Stardea button. A click suggests answers, found through a search of the current conversation, the model's own proposals and, if turned on, DSH's web search. Each suggestion is labeled with its source. Clicking again adds different suggestions below the earlier ones.
  • Stardea settings: three new rows on the settings page. Stardea ideas per click: 1 to 8, default 4. Stardea search rounds: the most search rounds per click, 0 to 10, default 1; with 0, Stardea only proposes its own ideas. Stardea web search: off by default. Session lookup rounds now limits only the rewrite.
  • New question panel: follow-up questions now open in the plugin's own panel in place of the composer, instead of DSH's question card. The panel shows your original draft, so you can see what you wrote. You can tick one or more suggestions, with or without your own words. Skip keeps the first rewrite with its (TBD: …) notes, and × cancels the refine.
  • Answers keep every part: an answer made of ticked suggestions and your own words passes all of them to the rewrite. Before, your own words replaced the ticked choice.
  • Token report: the note after a refine shows its tokens as input(cached) - output: input that missed the cache, input read from the cache, and output, over every model call including Stardea. It appears only when the provider reports token use.
  • Cheaper repeated calls: all model calls of one refine now continue a single conversation with the same system prompt and tools. Each call starts with the previous request unchanged, so providers with prompt caching bill the repeated part as cache hits. Earlier lookup results stay available to later calls. Session lookups are now tool results instead of a <session_lookup> block. If the model rejects tools, the refine continues without them and the results are written into the request.

From 0.11.0

  • Attachments: images and files attached in the composer are now sent to the refining model with the draft. Text files are read, up to the first 20,000 characters of each. If a file is still uploading, the refine stops and asks you to try again.
  • Earlier images: when session context is included, the images you attached to those earlier messages are sent too. Which messages are included has not changed.
  • Session lookups: when the draft depends on something said earlier, the refining model can search the conversation and read earlier messages: your messages and the assistant's replies only. Set Session lookup rounds in the plugin settings: 0 to 10, default 3. 0 turns lookups off. Each round is one more model call. If the model doesn't support tools, the refine continues without lookups.
  • Clearer failures: when the model call itself fails, the error bubble now says the call failed instead of "the model returned nothing".
  • Request size: the improve endpoint's body limit now scales with DSH's per-message image limit, so drafts with images fit.

v0.10.1

Choose a tag to compare

@Arrosam Arrosam released this 17 Oct 04:40
  • Fix: after a refine, switching to another session and back showed the success bubble again, even after it had hidden. It now shows once per refine. Error bubbles are unchanged.

v0.10.0

Choose a tag to compare

@Arrosam Arrosam released this 16 Oct 12:59
  • Retry on failure: the error bubble has a Retry button that sends the same draft again. Answers you gave to follow-up questions are kept for that draft, so a retry does not open the question card again. They are dropped once a refinement succeeds.
  • Longer prompts: Standard mode no longer has a length cap (standardMaxRatio now defaults to 0, meaning no cap). Light mode allows 2× the draft (was 1.2×), and the minimum length budget is 600 characters (was 200).