githezhihao/norma-project-explorer ↗★ 1
@norma-harness/ui-project-explorer
Read-only Workspace project tree for the Norma Harness sidebar
AI 분석
在侧边栏提供直观的文件目录浏览。适合在 Norma Harness 中进行多文件项目开发、需要快速查看文件结构的用户。
설치
검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 README 읽기 ↗
Norma Project Explorer
English | 中文
A compact, read-only project tree for the Norma Harness session sidebar. The folder control sits beside Workspace search and switches the session-list area to the active project's files.
Screenshots
| Workspace overview | Plugin source tree |
|---|---|
![]() | ![]() |
Features
- Lazy, Workspace-scoped directory loading.
- VS Code-inspired colored badges for common source, configuration, document, data, and image formats.
- Theme-native filenames, hover states, folders, and collapsed-directory indicators.
- Double-click delegation to the host's existing
openPathoperation. - No file editing, model-context injection, filesystem watcher, or independent permission store.
Compatibility
This repository is the source package used by Norma Harness. It currently depends on the Workspace directory APIs and the sidebar.workspaces.headerAction list slot carried by the norma/custom DeepSeek Harness branch.
It is not yet a standalone npm bundle and cannot currently be installed into an unmodified DeepSeek Harness profile with dsh plugin add. The source is public now so the implementation, security properties, and further development can happen in the open without overstating upstream compatibility.
Source Integration
Place this repository at packages/client/ui-project-explorer in a compatible Norma Harness source tree. The host must provide Workspace-scoped listFiles and openPath operations, and the Web client must expose sidebar.workspaces.headerAction. Register the client package in the Web bundle and client TypeScript aggregate, then build the package and Web frontend.
Security
The component never reads the filesystem directly. Directory traversal checks, Workspace-root enforcement, hidden-entry filtering, and path opening remain owned by the Harness host. No credentials, environment variables, file contents, or model prompts pass through this plugin.
Development
The package follows the DeepSeek Harness monorepo toolchain. From a compatible source tree:
pnpm exec tsc -p packages/client/ui-project-explorer/tsconfig.json
pnpm exec tsdown --env.DSH_BUILD_FACE client -F '@norma-harness/ui-project-explorer/client'
pnpm exec vitest run packages/client/ui-project-explorer/tests
Roadmap
- Package the required host capability and client component as an installable
dsh.bundle. - Add keyboard navigation and filesystem refresh events.
- Keep editing, deletion, and model-context insertion outside this focused plugin.

