52 lines
2.8 KiB
Markdown
52 lines
2.8 KiB
Markdown
# DS4Server implementation plan
|
|
|
|
Only unfinished implementation work belongs here. DwarfStar remains the
|
|
behavioral oracle for model execution, token processing, context accounting,
|
|
KV-cache behavior, the HTTP API, and the built-in agent loop.
|
|
|
|
## 1. Add A2UI local-chat surfaces
|
|
|
|
- Use the public [A2UI protocol](https://a2ui.org/) as the normative reference.
|
|
Implement its versioned, streaming JSON messages and keep `../bDS2` only as
|
|
a reference for the research-oriented components and presentation we want.
|
|
- Define a DS4Server catalog and native Iced renderer for the A2UI Basic Catalog
|
|
plus useful research surfaces such as charts, tables, metrics, timelines,
|
|
maps, mind maps, tabs, cards, lists, and forms.
|
|
- Support `createSurface`, incremental `updateComponents` and `updateDataModel`
|
|
messages, and `deleteSurface`. The model must be able to add, replace, and
|
|
update components and data over multiple responses without recreating the
|
|
whole surface.
|
|
- Persist A2UI messages with the chat and restore the resulting surfaces after
|
|
relaunch. Validate messages against the selected catalog, report validation
|
|
failures back to the model, and retain a readable fallback in the transcript.
|
|
- Implement catalog-declared local functions and agent events. UI-local edits
|
|
update the surface immediately; agent events return the action and current
|
|
data to the conversation so the model can respond with further A2UI updates.
|
|
The existing approval flow applies only if the resulting agent turn invokes
|
|
an ordinary side-effecting tool such as shell or file mutation.
|
|
- A2UI can be enabled/disabled in preferences to reduce the system prompt
|
|
|
|
## 2. Finish native project and chat controls
|
|
|
|
- Add functional File, View, and Help menus; update native menu enabled state
|
|
from the focused control; complete undo/redo behavior; and make transcript
|
|
text selectable and copyable.
|
|
- File menu has an "export" menu to save a chat as markdown
|
|
- File menu has a new "menu" that opens a new chat in the currently active
|
|
project. if the app is not on a project or session of a project in the
|
|
sidebar, "new" is disabled
|
|
- Explain model/checkpoint mismatches where a session must rebuild context
|
|
instead of resuming its existing checkpoint.
|
|
- the hellp menu must open a window with an actual documentation in it,
|
|
that still needs to be constructed from the information and implementation
|
|
|
|
## 3. Add Dev Brain support
|
|
|
|
- Let the user select one Obsidian vault and give the local agent bounded
|
|
Markdown memory_search, memory_read, memory_create, and memory_append
|
|
operations outside project folders.
|
|
- the dev brain uses simple markdown lines to separate multiple memories
|
|
- check LLM wiki ideas online to see how obdsidian should be used by the LLM
|
|
as a memory storage
|
|
- dev brain can be enabled/disabled in preferences to reduce system prompt
|