deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:louisecxqiu-glitch/html-doc-center
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
The HTML Editor & Viewer for the AI era.
Stop opening HTML files one by one. HTML Studio turns any folder into a browsable, editable, auto-saving document hub — in one command.
AI coding tools (Claude Code, Cursor, Copilot) generate HTML artifacts constantly — reports, dashboards, cover images, presentations. But then you're stuck:
HTML Studio solves this. One command, all your HTML in one place, instantly editable.
HTMLStudio-<version>-macos-arm64.dmg (Apple Silicon Mac) or HTMLStudio.exe (Windows)git clone https://github.com/louisecxqiu-glitch/html-doc-center.git)启动 HTMLStudio.command (Mac) or 启动 HTMLStudio.bat (Windows)First run auto-installs the dependency (
aiohttp), requires internet.
git clone https://github.com/louisecxqiu-glitch/html-doc-center.git
cd html-doc-center
pip install aiohttp
python3 server.py --open-browser
# → http://localhost:9901
Or as a Claude Code Plugin:
/plugin install htmlstudio@claude-plugins-official
| Feature | Description |
|---|---|
| 📁 Directory tree | Auto-discovers all HTML/MD files, searchable sidebar |
| ✏️ Click to edit | Zero-config inline editing with toolbar injection |
| 💾 Smart auto-save | 2s idle → snapshot; close → overwrite / save-as / discard |
| 🔍 Markdown support | Built-in MD editor with live preview |
| ⭐ Favorites & sort | Bookmark files, sort by time or name |
| 🔄 Live refresh | 10s polling with ETag signatures (99.99% zero-traffic) |
| 📂 Multi-root | Configure multiple scan directories via settings UI |
| 🖱️ Drag & drop | Move files between directories |
| 🔒 Path-safe | All writes validated against scan_roots whitelist |
v3.0 introduces a professional three-mode editor kernel, AI-assisted text editing, and version history.
When you open an HTML file, you get three editing modes:
| Mode | Engine | Best for |
|---|---|---|
| 🎨 Design | GrapesJS | Visual editing: drag components, edit properties, see layout |
| 📝 RichText | ProseMirror | Text-focused editing: bold, italic, lists, links, headings |
| </> Source | CodeMirror 6 | Direct HTML/CSS editing with syntax highlight, search |
Switch modes with the top toolbar buttons or keyboard shortcuts (Alt+D/R/S).
The left sidebar has 14 draggable components:
The right sidebar shows two tabs:
Edit ~/.codebuddy/html-doc-center/config.json and add an ai section:
{
"ai": {
"default_provider": "openai",
"providers": {
"openai": {
"type": "openai-compatible",
"base_url": "https://api.openai.com/v1",
"model": "gpt-4o-mini",
"api_key": "sk-..."
},
"anthropic": {
"type": "anthropic",
"base_url": "https://api.anthropic.com/v1",
"model": "claude-sonnet-4-20250514",
"api_key": "sk-ant-..."
},
"ollama": {
"type": "openai-compatible",
"base_url": "http://localhost:11434/v1",
"model": "llama3.1",
"api_key": "ollama"
}
}
}
}
Or use environment variables (e.g., "api_key_env": "OPENAI_API_KEY").
HTML Studio automatically creates version snapshots:
pre-ai)pre-restore)pre-overwrite / manual)Each version records a content hash, timestamp, and reason tag. Access version history through the History button in the toolbar.
Pages with scripts, framework mount points (React/Vue), or excessive CSS rules are automatically detected as "complex" and default to Source mode to prevent visual editing from altering structure. You can opt into visual editing with the "Enable anyway" button.
| Shortcut | Action |
|---|---|
| Ctrl+Z / Cmd+Z | Undo |
| Ctrl+Y / Cmd+Shift+Z | Redo |
| Alt+D | Switch to Design mode |
| Alt+R | Switch to RichText mode |
| Alt+S | Switch to Source mode |
| Ctrl+F (Source) | Search in code |
HTML Studio works as a Claude Code Plugin with MCP support:
/hotpage ./report.html # Open file in HotPage
/hotpage serve ./outputs # Serve a directory
When Claude Code generates HTML, it automatically opens in HTML Studio for preview and editing.
| Tool | Description |
|---|---|
hotpage_open |
Open a specific file |
hotpage_status |
Check if server is running |
hotpage_serve |
Start serving a directory |
hotpage_list |
List all discovered files |
┌─────────────────────────────────────────┐
│ Python (aiohttp) — single process │
│ ├─ /api/tree → directory tree JSON │
│ ├─ /api/file → serve HTML with │
│ │ saver-runtime.js inject │
│ ├─ /api/save → overwrite / save-as │
│ └─ /api/settings → config CRUD │
├─────────────────────────────────────────┤
│ saver-runtime.js (injected into iframe)│
│ ├─ contentEditable toolbar │
│ ├─ 2s idle → auto-snapshot │
│ ├─ postMessage ↔ parent frame │
│ └─ close → 3-option dialog │
├─────────────────────────────────────────┤
│ web/app.js — sidebar + iframe viewer │
└─────────────────────────────────────────┘
Zero dependencies beyond aiohttp. No npm, no webpack, no build step.
Config stored at ~/.codebuddy/html-doc-center/config.json:
{
"scan_roots": [
{"path": "/Users/me/reports", "enabled": true},
{"path": "/Users/me/outputs", "enabled": true}
]
}
Or configure via the in-app Settings panel (⚙️ button).
| HTML Studio | mcp-html-artifacts-preview | File Browser | |
|---|---|---|---|
| Editing | ✅ Inline edit + toolbar | ❌ View only | ❌ No |
| Auto-save | ✅ 2s snapshot + 3-option | ❌ No | ❌ No |
| Persistence | ✅ Files stay on disk | ❌ Session-only | ✅ Yes |
| Zero-config | ✅ One command | ✅ MCP config | ⚠️ Docker |
| Claude Code | ✅ Plugin + MCP | ✅ MCP only | ❌ No |
| Markdown | ✅ Built-in | ❌ No | ❌ No |
# Run the local development server without opening a browser automatically
python3 server.py --no-open-browser
# Then open http://127.0.0.1:9901 in your browser
# Run tests
python3 -m pytest tests/
python3 -m pip install -r requirements-build.txt
python3 build.py
On Apple Silicon macOS, the signed and notarized release command is:
python3 scripts/release_macos.py
See docs/macos-release.md for the one-time Apple certificate and GitHub Secrets setup.
将 Markdown 教程转换成带苹果式内联样式、可直接复制到微信公众号编辑器的单文件 HTML:
python3 tools/wechat_formatter.py path/to/article.md --open
图片路径按 Markdown 文件所在目录解析;脚本会把本地图片内嵌到 HTML。需要指定输出路径时使用 --output,覆盖已有输出时使用 --force。
See CONTRIBUTING.md for guidelines.
MIT © Louis Jobs 2026
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。