Files

71 lines
4.5 KiB
Markdown

## Context
The current workbench shell owns the main navigation in `WorkbenchShell.tsx`, the app-center cards in `app-definitions.tsx`, and route rendering inside `renderRoute()`. Model selection is already implemented in Drawnix with runtime model discovery through `useSelectableModels('text')` and controlled model refs in `ModelSelector`.
The user-provided plan defines "万象智枢 / Omni Intelligence Hub" as the upstream decision and content-sourcing center. Its first release should make the feature discoverable and actionable without requiring the whole long-term platform to be complete.
Agent-Reach is an external project focused on agent access to external sources. It should be treated as a local capability provider rather than bundled frontend logic.
## Goals
- Add a first-class workbench entry for Omni Intelligence Hub.
- Let users start research from a question, topic, product name, webpage URL, video URL, or GitHub repository.
- Reuse existing runtime-discovered text model selection instead of creating a separate model registry.
- Bridge to Agent-Reach for retrieval/source access and expose health/diagnostics in the UI.
- Keep the first implementation useful when Agent-Reach is unavailable by allowing draft setup, mode selection, model selection, and diagnostic guidance.
## Non-Goals
- Do not implement every long-term submodule in full depth in the first release.
- Do not vendor or copy Agent-Reach source code into the web app.
- Do not replace existing image, video, audio, avatar, canvas, or asset workflows.
- Do not introduce a new model configuration surface separate from the existing provider/runtime model system.
## Architecture
### Workbench UI
- Add `/intelligence` as the top-level route.
- Add a sidebar item labeled `智枢` or `万象智枢` using a lucide icon such as `Radar`, `SearchCheck`, or `BrainCircuit`.
- Add an app-center definition with the product-plan description and route `/intelligence`.
- Implement an `OmniIntelligencePage` component in the workbench layer. The first screen should be the usable research workspace, not a marketing landing page.
### Internal Navigation
Represent the planned submodules as tab/segmented navigation:
- 总览: 智枢首页
- 探索: 全域探索, 内容解析, 专题智研
- 洞察: 趋势雷达, 竞品战情
- 创作: 策源工坊
- 管理: 情报资产, 监控任务
The initial implementation may keep some tabs as structured empty states, but the main input, mode selection, model selector, Agent-Reach status, quick scenarios, and result preview must be functional.
### Model Selection
- Use runtime-discovered text models via `useSelectableModels('text')`.
- Reuse the existing controlled `ModelSelector` where practical.
- Store both `modelId` and `modelRef` in the page state.
- Include selected model metadata in Agent-Reach task submission so downstream summarization, verification, and content conversion use the chosen model.
### Agent-Reach Bridge
Add a local bridge with these conceptual endpoints:
- `GET /local-api/agent-reach/status`: returns installed/runnable/auth/source capability state and doctor output when available.
- `POST /local-api/agent-reach/research`: submits a query, mode, model, source filters, depth, verification, and output options.
- `POST /local-api/agent-reach/parse-link`: submits a URL for webpage/video/repository parsing.
The bridge should execute Agent-Reach through a local runtime boundary and normalize responses into:
- `summary`
- `keyFindings`
- `sources`
- `conflicts`
- `trendSignals`
- `contentIdeas`
- `scripts`
- `storyboards`
- `prompts`
- `rawDiagnostics`
If Agent-Reach is missing, the status endpoint should return `available: false` with setup guidance. The UI should show a clear status panel and keep non-network planning controls usable.
### Asset and Workflow Continuity
Omni Intelligence Hub results should be shaped so later changes can save them as intelligence assets, insert markdown reports into canvas, or launch image/video/avatar/script workflows. The first implementation can expose CTA placeholders for these handoffs while preserving the result data model.
## Risks
- Agent-Reach command/API shape may change. Keep the bridge isolated and normalize the contract at `/local-api/agent-reach/*`.
- Authenticated community sources may require user login. Surface per-source capability and avoid treating missing auth as total failure.
- Research tasks can be long-running. If the first release uses synchronous calls, keep timeouts and progress states explicit; prefer adding task queue integration when the bridge proves stable.