Commit Graph
79 Commits
Author SHA1 Message Date
mesalogo 792d80e67c feat: configure built-in MCP access
Built-in MCP servers were always granted to supported runtimes without per-server controls. They now have persistent enablement and runtime assignments for direct models, managed OpenCode, and Continue, while DeepSeek Harness remains visibly unsupported and cannot be assigned.

MCP settings are reorganized into Built-in MCP, Direct model, Custom MCP, and Computer control tabs. Direct-model web search now uses the same accessible collapsible inventory pattern as other tool groups.

Release note: 内置 MCP 现在可分别启停并分配给直连模型、OpenCode 和 Continue;MCP 设置分类与直连模型工具列表也更清晰,DeepSeek Harness 会明确显示为暂不支持。
2026-08-17 00:25:46 +08:00
mesalogo b751c70d75 feat: add model-aware DSH image input
DeepSeek Harness previously treated every selected model as text-only. It now carries the model profile's image capability through Main, the Utility Host, ACP, and Pi-AI, rejects unsupported images before model invocation, and validates supported JPEG/PNG data in a bounded process-local attachment store.

The Composer keeps universal controls on its first row, places OpenCode and Continue controls on a dedicated responsive row, and anchors context compaction without shifting the footer. Runtime supervision ownership for future Subagents and Jobs is documented for the right sidebar.

Release note: DeepSeek Harness 现可按所选模型连接的能力安全接收 JPEG/PNG 图片;Composer 同时将 Runtime 专属选择器移到独立一行,并固定上下文压缩入口。
2026-08-16 23:30:54 +08:00
mesalogo 18263a6b23 fix: keep local message IDs out of model requests
Direct-model conversation history began carrying GoodBuddy UUIDs after durable context compression was added. OpenAI Responses rejected follow-up messages because provider message IDs must start with msg_, and the same metadata could also reach other protocol payloads.

Model request serialization now strips local IDs across Anthropic Messages, Chat Completions, and Responses while retaining provider IDs during Responses tool rounds. Regression coverage includes compression, tools, and a gated real-model follow-up.

Release note: 修复默认直连模型在继续对话或重新编辑发送时可能因消息 ID 格式错误而失败的问题。
2026-08-16 22:23:03 +08:00
mesalogo 80526c57bf fix: streamline settings and context status
Settings Center navigation was hard to read and constrained form content,
while Runtime customization duplicated headings and save actions and could
lose drafts. Settings now uses readable navigation and wider content, saves
base and native Runtime settings together, protects drafts, and presents one
compact capabilities and defaults section.

Conversation context meters could retain display-only thresholds from old
Runtime settings. They now persist only measured usage, derive compression
lines from current Runtime and model settings, and normalize legacy snapshots
when loading them.

The static website now uses the project GitHub Pages canonical URL and includes
a validated Pages deployment workflow.

Release note: 优化设置中心和 Agent Runtime 配置流程,避免重复标题、重复保存和未保存定制丢失;压缩线会随当前设置即时更新,官网也可通过 GitHub Pages 自动部署。
2026-08-16 19:31:49 +08:00
mesalogo b56b0f8826 feat: add native runtime customization
OpenCode and Continue customization was previously planned but unavailable, and Runtime-native capabilities were not represented consistently across providers. GoodBuddy now provides secure Main-owned customization settings, truthful native inventories, OpenCode Agents and Commands, Continue Rules and Prompts, DSH Web Search/Fetch, MCP Prompt and Resource metadata, and manual compaction where supported.

Native capabilities are presented in eleven accessible tabs with Tools separated from Commands, LSP, and Formatters. Tool source and Ask/Execute availability are explicit, external OpenCode remains connection-only, Continue reports unsupported static tool discovery instead of advertising unreachable Skills, and disposable inventory probes avoid retaining background runtimes.

Ask remains read-only at the Runtime boundary, Execute keeps the existing authorization controls, and credentials remain confined to Main.

Release note: 新增 OpenCode、Continue 与 DeepSeek Harness 的 Runtime 原生定制与真实能力清单;工具来源、Ask/Execute 可用性、上下文压缩和 MCP 元数据现在可清晰查看,同时继续保持 Main 进程凭据保护与现有权限边界。
2026-08-16 17:08:46 +08:00
mesalogo ff61b5f81d feat: add DSH plugin marketplace and shared MCP
GoodBuddy could share Skills across runtimes, but custom MCP remained limited and DeepSeek Harness could not manage third-party extensions. The app now provides a default-off DSH npm marketplace with managed installation, configuration, failure isolation, and packaged npm support, while assigned custom MCP is available to managed OpenCode, Continue Agent, and DeepSeek Harness in Execute.

Third-party DSH install scripts, initialization, and tools run with the current user's permissions. Ask remains read-only at dispatch, and turning off the marketplace hides management without disabling installed plugins.

Release note: 新增默认关闭的 DSH 插件市场,并让自定义 MCP 可分配给 OpenCode、Continue 和 DeepSeek Harness;安装第三方插件前会明确提示当前用户权限边界。
2026-08-16 11:47:11 +08:00
mesalogo 9e6f664e06 fix: retain every direct-model usage call
Multiple model invocations in one task could share a call identifier when
a provider omitted or reused its response ID. Database upserts then replaced
earlier tool-round or summary usage, causing cumulative activity totals to
undercount successful calls.

Each completed direct-model invocation now receives a unique local call ID
while retaining the provider ID as diagnostic context. Tool rounds, final
responses, image calls, and repeated compression summaries are therefore
stored independently.

Release note: 修复连续工具调用或上下文摘要可能覆盖前序模型用量的问题;现在每次成功调用都会分别计入运行记录和累计统计。
2026-08-16 01:18:07 +08:00
mesalogo c98fe67f1a feat: add durable context compression
Long direct-model conversations mixed provider usage with local estimates,
and Agent tool rounds could remain above the configured compression target.
Compression state and status markers also did not reliably survive restarts
or bounded history rollover.

Direct-model calls now prefer provider-reported usage, compact complete
conversation turns and Agent tool rounds within reserved payload budgets,
and persist reusable summaries with scope-specific markers. The chat meter
separates latest-call usage from estimated compressed conversation size,
while failed or cancelled calls retain the last successful measurement.

Release note: 直连模型现可在长对话和多轮工具执行中自动压缩旧上下文,并分别显示本次调用用量与压缩后对话估算;摘要会自动保存并跨重启复用,无需手动操作。
2026-08-16 00:36:11 +08:00
mesalogo 36b38ce2a8 feat: show normalized prompt cache hit rates
Token usage previously showed cache reads and writes without a comparable hit rate. Activity usage now calculates a weighted cache hit rate using OpenAI-compatible input totals and Anthropic's separately reported input, cache-read, and cache-write tokens, then shows it in totals and grouped details.

Release note: Token 用量统计新增缓存命中率,并针对 OpenAI 兼容接口与 Anthropic Messages 的不同上报口径进行归一化计算。
2026-08-15 22:01:49 +08:00
mesalogo c2b9ce4ff0 feat: preserve pages and compress context 2026-08-15 20:44:47 +08:00
mesalogo 3f9defbad1 fix: show newest release notes first 2026-08-15 18:56:32 +08:00
mesalogo 79d3d73038 fix: stream interactive model tool rounds 2026-08-15 18:06:04 +08:00
mesalogo afa7719ff2 feat: add direct model context compression 2026-08-15 18:06:04 +08:00
mesalogo f27dd37f42 feat: improve streaming and startup responsiveness 2026-08-15 18:06:03 +08:00
mesalogo 34bbfab2af feat: run agent tools with host permissions 2026-08-15 18:06:03 +08:00
mesalogo 79e2511f6f feat: improve application responsiveness 2026-08-15 18:06:02 +08:00
lofyer 6c879ab34a refactor: remove ineffective Harness window guard 2026-08-14 13:25:00 +08:00
lofyer 45aeecb6dd feat: expand DeepSeek Harness compatibility 2026-08-14 12:38:01 +08:00
lofyer 8286e120a1 feat: add DeepSeek Harness runtime 2026-08-14 10:04:34 +08:00
lofyer 7a86c96623 feat: add natural language configuration tools 2026-08-14 01:23:32 +08:00
lofyer aab961226f fix: harden scoped tools and settings persistence 2026-08-13 14:56:53 +08:00
lofyer 7a078c6ffe fix: publish knowledge rebuilds atomically 2026-08-13 06:35:07 +08:00
lofyer 0c46afba59 fix: preserve knowledge indexing state 2026-08-13 04:47:44 +08:00
lofyer e3b5702767 fix: bound document extraction 2026-08-13 04:46:30 +08:00
lofyer 5b579ae100 fix: bound model streaming 2026-08-13 03:18:55 +08:00
lofyer 980f3a0c8f fix: preserve channel message delivery 2026-08-13 02:09:09 +08:00
lofyer 67cb69f07d fix: recover interrupted schedules 2026-08-13 01:41:52 +08:00
lofyer 8cd23bada1 fix: serialize runtime cleanup 2026-08-13 01:36:00 +08:00
lofyer fd1ff92927 refactor: simplify scoped data tools 2026-08-13 01:32:43 +08:00
lofyer 04a260133a fix: preserve conversation and note data 2026-08-13 01:32:10 +08:00
lofyer 86b63406c2 fix: streamline document parsing settings 2026-08-13 00:08:15 +08:00
lofyer 2e489d5bc3 fix: stream direct-model reasoning with tools 2026-08-12 23:29:37 +08:00
lofyer ca5b722571 fix: keep streamed reasoning expanded 2026-08-12 23:10:25 +08:00
lofyer 111f487e20 feat: enhance local knowledge retrieval 2026-08-12 21:45:47 +08:00
lofyer 6a44335238 feat: support dynamic MCP tool loading 2026-08-11 23:49:18 +08:00
lofyer 2982f1ae33 chore: release 0.8.19
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, linux, ubuntu-24.04-arm) (push) Canceled after 0s
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, macos, macos-15) (push) Canceled after 0s
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, windows, windows-2025) (push) Canceled after 0s
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, linux, ubuntu-24.04) (push) Canceled after 0s
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, macos, macos-15-intel) (push) Canceled after 0s
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, windows, windows-2025) (push) Canceled after 0s
Cross-platform packages / Publish GitHub Release (push) Canceled after 0s
2026-08-11 21:18:10 +08:00
lofyer e2d7837d91 fix: make speech path test cross-platform 2026-08-11 21:13:32 +08:00
lofyer 44d30b428d feat: add bilingual release notes 2026-08-11 20:59:26 +08:00
lofyer 6942bef567 fix: preserve recovered opencode results 2026-08-11 20:58:10 +08:00
lofyer beb756bb2e feat: add system time to model prompt 2026-08-11 20:08:43 +08:00
lofyer 184180e618 feat: expand model tools and document handling 2026-08-11 19:52:58 +08:00
lofyer 71a8662690 feat: add project default runtime 2026-08-11 17:52:55 +08:00
lofyer e0e7bc573c feat: add document OCR and offline model archives 2026-08-11 16:49:51 +08:00
lofyer fde18c1568 fix: allow execute runtime tools by default 2026-08-11 13:07:36 +08:00
lofyer aff3b82998 feat: localize interface and enrich magic notes 2026-08-11 12:01:58 +08:00
lofyer c8050f4a9a feat: expand local speech models 2026-08-11 01:34:28 +08:00
lofyer 7ce58da5f5 fix: propagate image input capability 2026-08-10 23:15:00 +08:00
lofyer 6fd41d2cfd feat: make magic todo status editable 2026-08-10 23:04:12 +08:00
lofyer 5cb99f3097 feat: expand magic notes MCP tools 2026-08-10 23:02:45 +08:00
lofyer 7d15e83153 feat: enhance magic notes AI comments 2026-08-10 22:27:50 +08:00