0x7A7A6572/dsh-forge-studio

Aggregated dsh plugins for daily use — a dsh-plugin rewrite of Forge Studio.

Project Overview项目介绍

dsh-forge-studio is a DSH-native plugin monorepo that bundles several independent everyday plugins into a single repository. Each capability lives in its own packages/plugin-<name> workspace and is published to the public npm registry under the unified @zzerx/dsh-plugin-<name> scope, which means installation is performed through the official DSH CLI command dsh plugin --profile <name> add @zzerx/<pkg> and becomes active after restarting the host application. Local development uses pnpm install to bootstrap the workspace together with the bundled dsh CLI, then pnpm dev launches the dsh web frontend with DSH_HOME=.dsh-home on port 3180, while pnpm --filter @zzerx/dsh-plugin-notes typecheck and the matching build command target individual packages.

The repository currently ships five plugin packages: @zzerx/dsh-plugin-notes provides a sticky-note board with three views (card wall, line list, task swimlanes) and the ability to convert notes into AI tasks executed in a chosen workspace on a schedule; @zzerx/dsh-plugin-daily-log aggregates Git commits with local agent conversations from DeepSeek, Claude, and Codex into daily, weekly, and monthly reports; @zzerx/dsh-plugin-memory persists preferences, identity, and project decisions across sessions with automatic injection and an entity-relationship memory graph; @zzerx/dsh-plugin-usage-billing calculates real token usage from existing session logs and locks costs to the price at the moment each event occurred; and @zzerx/dsh-plugin-home-studio is a workspace skeleton whose host and client stubs remain empty and is not yet released.

The intended audience is heavy DSH users who want an integrated notes, memory, logging, and billing workflow inside one profile. Tooling relies on pnpm workspaces, tsdown for emitting lib/index.js, lib/client.js, and lib/types, lightningcss for client-side CSS, oxlint under .oxlintrc.json, and vitest to enforce the client bundle CSS contract and module.css class-name gates via scripts/**/*.spec.ts; mandatory rules live in CLAUDE.md and CONVENTIONS.md, and every *.log file must be written to .research/logs/. The four published packages are MIT licensed, while the skeleton home-studio package must still be mounted locally via link: and has not been pushed to npm, so first-run requires pnpm 7+ and a locally available dsh CLI.

dsh-forge-studio 是一个 DSH 原生插件 monorepo,把多个独立日常插件聚合在同一仓库,每个功能独立成 packages/plugin-<name> 包,统一以 @zzerx/dsh-plugin-<name> 命名发布到公开 npm。安装直接通过 dsh plugin --profile <name> add @zzerx/<pkg> 命令挂入 DSH profile,重启宿主即生效;本地开发用 pnpm dev 启动 dsh web 端,$DSH_HOME=.dsh-home,监听端口 3180,并通过 pnpm --filter 对单个包做 typecheck 与 build。

仓库现含五个插件:plugin-notes 提供三视图便签板与 AI 任务转交和定时执行;plugin-daily-log 聚合 Git 提交与 DeepSeek、Claude、Codex 等 agent 对话生成日报、周报、月报;plugin-memory 跨会话保存偏好与项目决策并自动注入记忆图谱;plugin-usage-billing 按事件时刻价格锁定 token 费用并提供侧栏与设置页视图;plugin-home-studio 是工作台骨架,host/client 均为空占位,尚未发布。典型用户为需要便签、记忆、日志、计费一体化工作流的 DSH 重度使用者。

依赖方面使用 pnpm workspace、tsdown 构建客户端 lightningcss CSS、oxlint 做代码检查、vitest 跑样式契约与 module.css 类名门禁;硬性约定见 CLAUDE.md 与 CONVENTIONS.md,调试日志统一落到 .research/logs/。已发布的四个包均为 MIT 许可,plugin-home-studio 仍需通过 link: 在本地挂载,未上 npm。首次运行需 pnpm 7+ 与本地 dsh CLI。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 3 warnings3 项注意
  • No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
  • No DSH plugin manifest detected - it may only carry the dsh-plugin topic, so the install method must be confirmed on the spot未检测到 DSH 插件清单:可能只是打了 dsh-plugin 话题,安装方式要现场确认
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add @zzerx/dsh-plugin-notes

把 0x7A7A6572/dsh-forge-studio 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-forge-studio

聚合多个独立 dsh 日常插件的 monorepo。每个功能一个 packages/plugin-<name>,统一命名 @zzerx/dsh-plugin-<name>,发布到 npm 的公开包。

插件

包 说明 版本 状态
@zzerx/dsh-plugin-notes 便签板:侧栏 / 输入栏 / 回复下方三处入口记一笔,纸卡墙 · 行式列表 · 任务泳道三视图;便签能变任务交给 AI 在指定工作区执行,或按日程定时跑;Markdown、贴图、WebDAV 备份 0.4.2 ✅ 已发布
@zzerx/dsh-plugin-daily-log 工作日志:把 Git 提交与本地 agent 对话(DeepSeek / Claude / Codex)汇总成日报 · 周报 · 月报;agent 工具按需注入,默认只挂 1 个 daily_log 派发器 0.4.1 ✅ 已发布
@zzerx/dsh-plugin-memory 记忆与进化:跨会话记住偏好、身份与项目决策(全局 / 项目双作用域),开场自动注入,实体与边的记忆图谱;入口是设置面板一级「记忆」分区 0.4.2 ✅ 已发布
@zzerx/dsh-plugin-usage-billing 用量与计费:从既有会话日志聚合真实 token 用量,按事件发生时刻的价格写时锁定费用;侧栏 / 输入框下方两个入口 + 点击弹层 + 设置页用量视图 1.2.1 ✅ 已发布
@zzerx/dsh-plugin-home-studio 工作台:聚合日常功能入口的骨架包,host / client 均为空占位,UI 待填充 0.2.0 🚧 骨架,未发布、未接入本地 profile

版本列 = 本仓库该包 package.json 的版本(含尚未发布的那一版);状态 列说的是有没有上 npm。

安装

已发布的四个插件直接装进你的 profile,重启宿主后生效:

dsh plugin --profile <你的 profile 名> add @zzerx/dsh-plugin-notes
dsh plugin --profile <你的 profile 名> add @zzerx/dsh-plugin-daily-log
dsh plugin --profile <你的 profile 名> add @zzerx/dsh-plugin-memory
dsh plugin --profile <你的 profile 名> add @zzerx/dsh-plugin-usage-billing

只剩工作台还没上 npm,只能在本地以 link: 方式挂进 profile,步骤见它的 README。 本仓库的 .dsh-home/profiles/web/package.json 就是这么挂的(含前面的四个)。

本地开发

pnpm install   # 装 workspace(含本地 dsh CLI)
pnpm dev       # 起 dsh web:$DSH_HOME=.dsh-home,端口 3180
命令 作用
pnpm dsh <args> 直接调 dsh CLI,例如 pnpm dsh plugin --profile web list
pnpm build 递归构建全部插件:tsdown 出 lib/index.js + lib/client.js + lib/types
pnpm typecheck 递归 tsc --noEmit
pnpm lint / pnpm lint:fix oxlint(规则清单见 .oxlintrc.json)
pnpm test vitest 跑 scripts/**/*.spec.ts:客户端样式编译契约 + module.css 外来类名门禁
pnpm check lint → typecheck → test → build,提交前一次过

单个包开发时用 pnpm 过滤:

pnpm --filter @zzerx/dsh-plugin-notes typecheck
pnpm --filter @zzerx/dsh-plugin-notes build

目录

packages/
  plugin-notes/          便签板
  plugin-daily-log/      工作日志
  plugin-memory/         记忆与进化
  plugin-usage-billing/  用量与计费
  plugin-home-studio/    工作台(骨架)
scripts/
  tsdown.client.mjs      客户端包共享构建预设(客户端 CSS 走 lightningcss)
  client-bundle-css.spec.ts  样式编译契约与类名门禁
docs/superpowers/        设计与计划留档(plans / specs)
.dsh-home/               本地开发用的 DSH_HOME(profile: web)

约定

  • CLAUDE.md —— 硬性规则:一个功能一个包、依赖只指向 Service Definition、持久化只走 ctx.storage。
  • CONVENTIONS.md —— 目录与命名:文件自报家门,页面按「视图 / 样式 / 逻辑」三件套拆。
  • 任何 *.log(调试 / 安装 / 构建 / 测试输出)一律落盘到 .research/logs/,不放仓库根目录或 packages/ 源码目录。

License

各插件包均为 MIT。

← 上一个 Prev dsh-novel 下一个 Next dsh-session-toolkit →