@fuxi-ailabs/dsh-audit-ux
v1.1.0
Published
DSH web workbench for session-scoped SIFT audit
Readme
dsh-audit-ux
dsh-audit 的 Web 工作台。它面向具体 Session,负责选择审计参数、调用 siftAudit 服务,并展示 SIFT 生成的审计报告。
前提
安装并启用:
dsh-audit
dsh-audit-uxdsh-audit-ux 不直接启动 SIFT,也不复制轨迹转换逻辑。执行链路是:
Session UI
→ dsh-audit-ux HTTP endpoint
→ siftAudit service
→ DSH Session → sift-records
→ sift audit
→ audit-report.html
→ dsh-audit-ux iframe使用
- 打开左侧「Skill审计」
- 把左侧 Session 拖入「审计参数」区域,或者在 Session 行的
...菜单中选择「审计会话」 - 工作台读取该 Session 的轨迹,并列出其中调用过的 Skill
- 选择或填写 Skill,确认参数后点击「开始审计」
- 审计完成后,右侧以内嵌 HTML 展示
audit-report.html
历史审计
历史记录以 Session ID 为基本存储单元,直接读取 ~/.dsh-audit/<sid>/ 下的审计目录。
- 选择已有审计记录的 Session 时,不自动弹窗;参数页显示「历史记录 (N)」
- 历史页支持查看报告、删除单次审计记录
- 历史页可以返回审计参数
- 删除操作会删除对应 run 目录及其中的 JSON/HTML/slices
- 页面顶部「全部记录」可跨 Session 查看所有审计记录
参数
- 审计类型:Skill / Workflow / Agent
- Skill 名称:可从当前轨迹自动识别,也允许手动填写
- 声明路径:catalog 中已删除或未被 track 的 Skill 可以手动指定路径
- Agent Label:从当前 Session 已 dispatch 的子 Agent 列表中选择;Agent 模式只显示此项
- 包含子会话:把 subagent Session 一并作为证据
- 指令精炼 / Headline:透传给原生
sift audit
Root 审计会自动使用 Session inspection 返回的 rootDeclarationCandidates 预填声明路径。用户消息中明确指定的 workflow.md 优先于首次 dispatch 前读取的其他 Markdown。
如果 Skill 正文曾出现在 Session 的 <skill_instructions> 中,即使 Skill 后来被删除,dsh-audit 也可以从轨迹恢复正文完成审计。
报告
- 优先使用 SIFT 原生
audit-report.html - 没有 HTML 时展示结构化 JSON 结果
- 最近 20 次运行报告在当前 Host 进程内缓存
- iframe 使用
sandbox="allow-scripts",避免报告页面获得宿主同源权限
当前边界
- 历史记录直接从审计输出目录扫描,不需要额外数据库
- 不做报告二次开发,先复用原生 HTML
- 不自动执行审计;参数确认后由用户触发
- 会话列表拖拽依赖 DSH Workspace 行提供的事件,当前使用
text/plain中的 Session ID - 当前市场版不包含 Trajectory flyout 与记录聚焦;该能力依赖 DSH 上游公开桥接 API
Agent 模式隐藏声明路径、子会话、指令精炼和 Headline 控件,请求只发送 kind=agent 与 agentName。后端默认使用 dispatch prompt 作为声明,并沿用插件配置中的精炼/Headline 默认值。
