githezhihao/norma-project-explorer ↗★ 1
@norma-harness/ui-project-explorer
Norma Harness 侧边栏只读项目树插件,支持工作区目录懒加载,并为常见源码、配置和文档文件提供 VS Code 风格的彩色徽标。
AI 分析
在侧边栏提供直观的文件目录浏览。适合在 Norma Harness 中进行多文件项目开发、需要快速查看文件结构的用户。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 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.

