feat: expand magic notes MCP tools

This commit is contained in:
lofyer
2026-08-10 23:02:45 +08:00
parent cb0319c4d1
commit 5cb99f3097
16 changed files with 1282 additions and 75 deletions
+7 -4
View File
@@ -342,8 +342,9 @@ export function McpSettingsSection(): React.JSX.Element {
<p className="settings-notice">
MCP Execute
MCP
OpenCode Continue 使Runtime MCP
MCP
OpenCode Continue 使Ask Execute
Runtime MCP
</p>
<p className="settings-notice">
GoodBuddy MCP Server MCP Server
@@ -625,7 +626,9 @@ export function McpSettingsSection(): React.JSX.Element {
<div>
<strong>{server.name}</strong>
<small>
MCP Server · ·
MCP Server ·{' '}
{server.access === 'mixed' ? '按模式读写' : '只读'} ·
</small>
</div>
<span className="mcp-server-card__summary">
@@ -658,7 +661,7 @@ export function McpSettingsSection(): React.JSX.Element {
<div>
<code>{tool.name}</code>
<span className="builtin-tool-badge">
{tool.access === 'write' ? '写入' : '只读'}
</span>
</div>
<p>{tool.description}</p>
+2 -2
View File
@@ -888,7 +888,7 @@ describe('SettingsPanel runtime files', () => {
screen.getByText(/自定义 Continue 可执行文件将以当前用户权限运行/)
).toBeInTheDocument()
expect(
screen.getByText(/Ask 仅可调用知识库与全局笔记的只读搜索/)
screen.getByText(/Ask 仅可调用知识库与全局笔记读取工具/)
).toBeInTheDocument()
fireEvent.click(within(field).getByRole('button', { name: '清除' }))
expect(input).toHaveValue('')
@@ -2002,7 +2002,7 @@ describe('SettingsPanel runtime files', () => {
screen.getByText(/自定义 MCP 当前仅用于直连模型/)
).toHaveTextContent('新建时默认分配给直连模型')
expect(
screen.getByText(/内置共享 MCP 提供知识库与全局笔记只读搜索/)
screen.getByText(/内置共享 MCP 提供知识库读取与全局笔记管理/)
).toHaveTextContent(/\s*OpenCode Continue/u)
expect(
screen.getByText(/Runtime 自有 MCP 配置不在此处管理/)
+4 -4
View File
@@ -1194,8 +1194,8 @@ export function SettingsPanel({
MCP Runtime
</div>
<div className="runtime-note">
Ask ExecuteAsk Execute
Ask ExecuteAsk Execute
</div>
{detectionSummary(detection?.opencode)}
<details className="settings-section">
@@ -1393,8 +1393,8 @@ export function SettingsPanel({
MCP Runtime
</div>
<div className="runtime-note">
Ask ExecuteAsk Execute
Ask ExecuteAsk Execute
</div>
{detectionSummary(detection?.continue)}
<details className="settings-section">