← 返回列表
未验证
把可重复步骤固化为确定性执行,减少模型调用
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/15 · 已提供中文文档
DeepSeek Harness 的单一 dsh-crystra 插件:工作流执行、分析与确定性初始化。
综合分
29.9
GitHub 分
29.9
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add firestige/crystra-dsh该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-tools@deepseek-ai/dsh用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
面向 DeepSeek Harness 的 Crystra
Crystra 将可重复的工作流步骤转化为确定性执行,减少不必要的 agent 和 LLM 调用。本仓库拥有唯一的公开 DSH 插件 dsh-crystra;其目标注册仓库为 firestige/crystra-dsh。
Execution 和 Studio 是本插件的内部模块。crystra-execution 和 crystra-ui-core 仍是普通的、独立版本化的组件依赖。领域实现保留在各自的组件仓库中。
当前开发状态
使用 DSH 0.1.1-rc.2 安装由 Crystra 快速入门 选定的确切合格归档。组合清单记录了其组件修订版本、发布 URL、摘要和合格性证据。发行版从 0.1.0 开始。在重命名准备期间,config/development-inputs.json 绑定确切的组件提交和 SHA-256 摘要。这八个仓库现在使用其 Crystra 坐标。生产候选版本拒绝本地文件依赖,并要求确切的已发布 GitHub Release 资产。
使用 Node 24.12.0、npm 11.6.2 和 pnpm 11.23.0。当前检出通过确切的 URL 和摘要使用合格的组件 RC:
npm ci --ignore-scripts --no-audit --no-fund
node scripts/verify-candidate-inputs.mjs --cache
npm rebuild better-sqlite3
npm run build
npm test
npm run pack:verify
构建会生成一个与 CSP 兼容的浏览器 bundle,其模块标识为 dsh-crystra。其 Cordis 补丁注册一个插件以及内部 Workspace 覆盖。归档包含源代码和许可证归属信息;内部模块没有单独的插件清单。
隔离集成检查
使用 DSH 0.1.1-rc.2。当全局 DSH 不同时,将 CRYSTRA_DSH_BINARY 设置为该版本的可执行文件。检查使用临时 DSH 主目录和配置文件:
npm run qualify:clean-profile
npm run qualify:lifecycle
npm run qualify:provider-routing
npm run qualify:real-harness
CRYSTRA_QUALIFY_TERMINAL=1 npm run qualify:real-harness
CRYSTRA_QUALIFY_INITIALIZATION=1 npm run qualify:real-harness
Real Harness 检查覆盖 Host、Chrome、Delivery、Studio、录制的 trace 以及下游不可用性。终端 fixture 模式提供确定性的 owner facts,而无需调用 LLM。DSH 0.1.1-rc.2 不提供 CSP 头;bundle 检查会单独拒绝动态代码和内联脚本注入。
根插件在无需预先存在 Execution 配置的情况下加载。/crystra setup 准备配置和绑定的服务组;/crystra doctor 报告就绪状态和缺失的仓库角色绑定。/crystra services start|stop|status 管理安装自身的 Compose 命名空间。这些命令是确定性的,不会调用 LLM。不附带独立的公开产品安装程序。参见初始化。
该插件绑定 crystra-services-v0.1.0-rc.3。在工作流执行准备就绪之前,设置仍需要仓库角色绑定。如果开发夹具没有服务描述符,它会明确报告 DEGRADED / CRYSTRA_SERVICE_DESCRIPTOR_UNAVAILABLE。
新的 RC 标签使用 crystra-dsh-v-rc.N。稳定版晋升通过 GitHub Releases 复用已通过验证的字节,并保留其手动发布门禁。没有 npm 发布阶段。历史发布记录描述的是其原始产物,而非这一新的分发。
参见基础边界、来源声明和安全策略。
发布归档仅使用 npm 捆绑依赖打包两个经过摘要验证的第一方组件包。它们的注册表依赖仍为普通根依赖,按安装平台解析。打包过程绝不会复制开发机器的原生依赖。这允许在启用 pnpm 默认 URL 子依赖保护的情况下进行正常的 DSH 安装。
Crystra 工作台使用公共 v8 UI 组件。其 Trace 目录将当前实例的 Execution Delivery 清单与已准入的 Evidence DELIVERY_ROOT 关系连接起来;它保留精确的 Task/Workflow 身份和执行开始时间。缺失、过期、有歧义或不可用的绑定不会选择猜测的 Trace。直接按精确 Trace ID 读取仍然可用。
条件式创作存储将不可变资源候选与源包分开保存。精确修订读取绝不会静默选择最新候选。资源持久化并不意味着发布、执行授权或 Agent 通知;显式设计探索辅助工具不会随插件归档一起发布。
对于显式配置的只读 Task 探索,根插件接受
exploration: {taskFile, sourceLockFile, sourceLockDigest, allowFixtures}。
两个文件都必须使用绝对路径;SHA-256 固定源锁字节,并且该锁中的每个
源都会被重新检查。taskFile 使用 crystra-task-file@1,格式为
tasks: [{selection: {taskId, goalRevision, planRevision}, projection}]。
每个投影遵循条件式 crystra-ui-exploration/draft.1 信封,
使用适配器 ID crystra-task-file@1,并带有自己的过期时间和来源信息。
此选项默认禁用。夹具内容额外要求
allowFixtures: true。只读回环 RPC 暴露 catalog/read 和
projection/read;调用方无法选择文件系统路径。客户端每五秒刷新一次,并在十秒读取租约内或快照过期时清除旧内容,以先到者为准。该适配器不会创建会话、
授权执行,或提供缺失的计划图/文档/证据。具有相同 ID 的所有者
Task 优先,且绝不会继承草稿投影。
可选的 exploration.workflowFile 使用 crystra-workflow-file@1,格式为
workflows: [{selection, projection}]。Selection 固定 definitionId、
definitionRevision 和 workspaceId;绑定使用适配器
crystra-workflow-file@1,以及与 Task 相同的条件式 envelope/source 锁。
至少配置 taskFile 或 workflowFile 之一。每个定义都有一个
显式选定的修订版本;有歧义的重复身份会被拒绝。
Workflow 投影提供精确的草稿目录条目以及独立的
studio、resources、crystallization 可用/不可用表面。
公共 v8 组件消费经过验证的映射/布局、只读资源
快照和 crystallization 投影。缺失的编辑、关系、会话、
Agent 事件或测量结果保持不可用。不捆绑任何设计 fixture。Workflow 读取在回环 /crystra-exploration 通道上使用 workflow/catalog/read 和
workflow/projection/read。
当显式配置 Workflow 探索时,只读
crystra_workflow_draft_read 工具会解析活动 Agent 的已注册工作区,
并要求投影的精确原生会话绑定。它只读取
请求的资源修订版本,每次调用最多返回 10,000 个字符,
并附带内容摘要和延续偏移量。源过期或会话绑定
变更会拒绝读取。添加到原生 Input 的草稿引用既不会提交
消息,也不会授予编辑、采用、执行或发布的权限。
可选的 Task assets 将计划文档、摘要/DAG 和执行图
绑定到当前计划和完整 Wave 运行身份。它们使用公共惰性 SVG
词汇表、显式的节点到 Wave 选择以及原生 Markdown 渲染;
格式错误的身份或活动图形会拒绝该投影。缺失的资产
保持不可用。图导航不会启动运行。
要启用隔离的 Workflow 资源候选,还需配置绝对路径
exploration.resourceDraftRoot 和 allowResourceWrites: true。
保存会检查精确的基础修订版本/内容,并在源绑定命名空间下
写入不可变候选,绝不会写入源包。重新加载和绑定的
Agent 读取工具可以消费该精确候选修订版本。持久化事件保持
待处理状态,直到单独准入的消费者确认它们;保存不是
Agent 交付或采用。写入默认禁用。
可选的 Task inputBinding 提供精确的原生 workspaceId、绝对
packageRoot 和 sessionId。专用运行时必须在显示 Input 之前确认工作区和
会话成员资格;已归档或已撤销的绑定会隐藏它。
所有者 Task 始终使用其正式 Delivery 关联,不能继承
草稿会话。Task 和 Workflow 草稿可以使用单独的原生会话,因此
导航会保留每个未发送的草稿,而不会混合对话历史。
Task assets.gateContexts 可选地为精确的 Gate 和声明的证据项提供只读证据上下文。公共上下文组件渲染
仅引用文本;它不能批准、执行或遵循嵌入的定位符。缺失的
Plan/Trace 关联仍作为显式不可用视图保留,并带有返回控件。
工作流资源关系复用公共 UI 图,并进行精确的源文件、
内容和修订检查。已保存的候选会使旧图以及
保留的导航回调失效,直到提供匹配的投影。图
标识在未变更的所有者轮询之间保持稳定。这些关系描述的是
条件源快照,而非观察到的运行时调用或 Agent 采用。
资源读取会针对精确的候选修订暴露持久化的待处理通知。
重新加载会保留它;UI 区分已保存的草稿字节与
Agent 交付。缺失或不匹配的交付证据永远不会成为成功。
可选的 exploration.allowResourceNotifications: true 需要资源写入
选择加入。已提交的资源更改可以通过非唤醒的 agent.inject 发送到精确绑定的原生 Session,
随后进行公共 Session 持久性刷新。
显式重试会在失败后保留有序事件标识。UI 将
持久 Session 回执与模型消费分开标注;通知不会启动任何模型,
也不会授予任何编辑、执行或发布权限。
原生关闭可以取消未消费的收件箱通知。当前队列状态
从公共收件箱拼接历史中读取;取消会被显式显示,并且可以
重试而不会重复进行中的工作。持久接受仍然与模型消费不同,
包括在重启之后。扫码进群